clcfprintf('\n\n')Vb=230e3;Sb=100e6;Zb=Vb^2/Sb;% From To R X
ldata=[1 2 12.333/Zb 0.0933*2*pi*60/Zb 1 4 8.256/Zb 0.1056*2*pi*60/Zb 2 3 6.328/Zb 0.0833*2*pi*60/Zb 2 6 15.696/Zb 0.1696*2*pi*60/Zb 3 5 5.839/Zb 0.0771*2*pi*60/Zb 4 5 10.581/Zb 0.1129*2*pi*60/Zb 4 7 5.993/Zb 0.0537*2*pi*60/Zb 4 8 9.673/Zb 0.1055*2*pi*60/Zb 5 8 7.996/Zb 0.1299*2*pi*60/Zb 6 7 16.395/Zb 0.1753*2*pi*60/Zb 6 8 5.839/Zb 0.0771*2*pi*60/Zb 7 8 6.566/Zb 0.0818*2*pi*60/Zb] fb=ldata(:,1); tb=ldata(:,2); R=ldata(:,3); X=ldata(:,4); nbranch=length(ldata(:,1)); nbus=max(max(fb),max(tb)); Z=R+i*X; y=ones(nbranch,1)./Z; Y=zeros(nbus,nbus); ydata=[ldata(:,1),ldata(:,2),y]; for k=1:nbranch; if fb(k) > 0 && tb(k) > 0 Y(fb(k),tb(k))=Y(fb(k),tb(k))-y(k); Y(tb(k),fb(k))=Y(fb(k),tb(k)); end end for n=1:nbus; for k=1:nbranch; if fb(k)==n||tb(k)==n Y(n,n)=Y(n,n)+y(k); else end end end y12=ydata(1,3);y14=ydata(2,3);y23=ydata(3,3);y26=ydata(4,3);y35=ydata(5,3);y45=ydata(6,3);y47=ydata(7,3);y48=ydata(8,3);y58=ydata(9,3);y67=ydata(10,3);y68=ydata(11,3);y78=ydata(12,3);s1pu=-(125+i*100)/100;p3pu=200/100;s5pu=-(100+i*85)/100;s6pu=-(150+i*100)/100;s7pu=-(80+i*75)/100;s8pu=-(130+i*115)/100;v1=1.00;v2=1.03;v3=1.02;v4=1.04;v5=1.00;v6=1.00;v7=1.00;v8=1.00;dv1=10;dv3=10;dv5=10;dv6=10;dv7=10;dv8=10;iter=0;disp('iter v1 v3 v5 v6 v7 v8 abs(dv1) abs(dv3) abs(dv5) abs(dv6) abs(dv7) abs(dv8)')while abs(dv1)>=0.00001 && abs(dv3)>=0.00001 && abs(dv5)>=0.00001 && abs(dv6)>=0.00001 && abs(dv7)>=0.00001 && abs(dv8)>=0.00001 && iter<100 iter=iter+1; v11=(conj(s1pu)/conj(v1)+y12*v2+y14*v4)/(y12+y14); dv1=v11-v1; v1=v11; Q3=-imag(conj(v3)*(v3*(y23+y35)-y23*v2-y35*v5)); v31=(((p3pu-i*Q3)/conj(v3))+y23*v2+y35*v5)/(y23+y35); vr3=sqrt(abs(v3)^2-(imag(v31)^2)); VR3=vr3+i*imag(v31); dv3=VR3-v3; v3=VR3; v51=(conj(s5pu)/conj(v5)+y35*v3+y45*v4+y58*v8)/(y35+y45+y58); dv5=v51-v5; v5=v51; v61=(conj(s6pu)/conj(v6)+y26*v2+y67*v7+y68*v8)/(y26+y67+y68); dv6=v61-v6; v6=v61; v71=(conj(s7pu)/conj(v7)+y47*v4+y67*v6+y78*v8)/(y47+y67+y78); dv7=v71-v7; v7=v71; v81=(conj(s8pu)/conj(v8)+y48*v4+y58*v5+y68*v6+y78*v7)/(y48+y58+y68+y78); dv8=v81-v8; v8=v81; fprintf('%g',iter),disp([v1,v3,v5,v7,v8,abs(dv1),abs(dv3),abs(dv5),abs(dv6),abs(dv7),abs(dv8)]); end v=[v1,v2,v3,v4,v5,v6,v7,v8];for i=1:8; if imag(v(i))>=0 fprintf('v%g=%2.4f+%2.4f*i pu \n',i,real(v(i)),imag(v(i))); else fprintf('v%g=%2.4f%2.4f*i pu \n',i,real(v(i)),imag(v(i))); endend
MATLAB: I dunno why it run until 4th iteration then stopped…can anybody help me? it did not give any error…
debugging
Best Answer