ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات : 0
  • 1
  • 2
  • 3
  • 4
  • 5

لطفا کمک کنید

۱۳۹۷/۹/۱۶, ۱۲:۳۱ عصر
ارسال: #1

لطفا کمک کنید


سلام دوستان من یه برنتمه ایی رو در متلب نوشتم ولی نمیدونم مشکلش رو چجوری حل کنم لطفا کمک کنید.
این هم ارور متلب
Index in position 2 is invalid. Array indices must be positive integers or logical values.

Error in Untitled5 (line 35)
i2(1,a) = i2(1,a+1)+i1(1,a+1);
..
.
.برنامه نوشته شده:
% [ bus1 bus2 r x p q ]
Data=[ 0 501 0 0 0 0
501 1 0.1944 0.6624 0 0;
1 2 0.2096 0.4304 100 50;
2 3 0.2358 0.4842 300 200;
3 4 0.0917 0.1883 350 250;
4 5 0.2096 0.4304 220 100;
5 6 0.0393 0.0807 1100 800;
6 7 0.0405 0.1380 400 320;
7 8 0.1048 0.2152 300 200;
7 9 0.2358 0.4842 300 320;
7 10 0.1048 0.2152 300 260;]
r=line(:,3)/160.2756; % resistance of branch i (p.u)
x=line(:,4)/160.2756; % reactance of branch i (p.u)
p=line(:,5)/1000; % active power demand at bus ni(p.u)
q=line(:,6)/1000; % reactive power demand at bus ni(p.u)
z2 = (r + 1i*x);
z1=z2(1:10,1);
y1 = 1./z1;
teta=angle(y1); %angle of admitanc
v=[1 1 1 1 1 1 1 1 1 1 1];
itr = 0;
vold = 100;
x = eps;
Error = 100;
while Error>= x
for w = 1:10
i1(1,w) = (p(w,1)-1j*q(w,1))/conj(v(1,w));
end
i2(1,7)=i1(1,8);
i2(1,8)=i1(1,9);
i2(1,9)=i1(1,10);
i2(1,6)=i2(1,7)+i2(1,8)+i2(1,9)+i1(1,7);
for a = 5:-1:0
i2(1,a) = i2(1,a+1)+i1(1,a+1);
end
for a=501:7
v(1,a)=v(1,a-1)-i2(1,a-1)*z1(a-1,1);
end
v(1,8)=v(1,7)-i2(1,7)*z1(7,1);
v(1,9)=v(1,7)-i2(1,8)*z1(8,1);
v(1,10)=v(1,7)-i2(1,9)*z1(9,1);

Error=abs(v-(vold));
vold=(v);
itr=itr+1;
end
for i=0:7
loss(1,i)=(v(1,i+1)-v(1,i))*conj(i2(1,i));
end
loss(1,8)=(v(1,9)-v(1,7))*conj(i2(1,8));
loss(1,9)=(v(1,10)-v(1,7))*conj(i2(1,9));
ploss=real(sum(loss(501:9)))*1000;
ploss=abs(ploss);
mi=501:10;
plot(mi,v)
title('Profile Voltage')
xlabel('Bus Number');
ylabel('Voltage pu');
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال پاسخ 




کاربرانِ درحال بازدید از این موضوع:
1 مهمان

بازگشت به بالابازگشت به محتوا