题号:72编程计算潮流(电力系统分析)
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/04 23:08:12
题号:72编程计算潮流(电力系统分析)
节点数:3 支路数:3 计算精度:0.00010
支路1:0.0300+j0.0900
1┠—————□—————┨2
支路2:0.0200+j0.0900
2┠—————□—————┨3
支路3:0.0300+j0.0900
3┠—————□—————┨1
节点1:PQ节点,S(1)=-0.5000-j0.2000
节点2:PQ节点,S(2)=-0.6000-j0.2500
节点3:平衡节点,U(3)=1.0000∠0.0000
节点数:3 支路数:3 计算精度:0.00010
支路1:0.0300+j0.0900
1┠—————□—————┨2
支路2:0.0200+j0.0900
2┠—————□—————┨3
支路3:0.0300+j0.0900
3┠—————□—————┨1
节点1:PQ节点,S(1)=-0.5000-j0.2000
节点2:PQ节点,S(2)=-0.6000-j0.2500
节点3:平衡节点,U(3)=1.0000∠0.0000
n=5;nl=5;isb=1;pr=0.00001; B1=[1 2 0.03i 0 1.05 0;2 3 0.08+0.3i 0.5i 1 0;2 4 0.1+0.35i 0 1 0;3 4 0.04+0.25i 0.5i 1 0;3 5 0.015i 0 1.05 1];B2=[0 0 1.05 1.05 0 1;0 3.7+1.3i 1.05 0 0 2;0 2+1i 1.05 0 0 2;0 1.6+0.8i 1.05 0 0 2;5 0 1.05 1.05 0 3];X=[1 0;2 0;3 0;4 0;5 0];na=3;Y=zeros(n);YI=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);O=zeros(1,n);for i=1:n if X(i,2)~=0; p=X(i,1); Y(p,p)=1./X(i,2); endendfor i=1:nl if B1(i,6)==0 p=B1(i,1);q=B1(i,2); else p=B1(i,2);q=B1(i,1); end Y(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5)); YI(p,q)=YI(p,q)-1./B1(i,3); Y(q,p)=Y(p,q); YI(q,p)=YI(p,q); Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4)./2; YI(q,q)=YI(q,q)+1./B1(i,3); Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2; YI(p,p)=YI(p,p)+1./B1(i,3);endG=real(Y);B=imag(YI);BI=imag(Y);for i=1:n S(i)=B2(i,1)-B2(i,2); BI(i,i)=BI(i,i)+B2(i,5);endP=real(S);Q=imag(S);for i=1:n e(i)=real(B2(i,3)); f(i)=imag(B2(i,3)); V(i)=B2(i,4);endfor i=1:n if B2(i,6)==2 V(i)=sqrt(e(i)^2+f(i)^2); O(i)=atan(f(i)./e(i)); endendfor i=2:n if i==n B(i,i)=1./B(i,i); else IC1=i+1; for j1=IC1:n B(i,j1)=B(i,j1)./B(i,i); end B(i,i)=1./B(i,i); for k=i+1:n for j1=i+1:n B(k,j1)=B(k,j1)-B(k,i)*B(i,j1); end end endendp=0;q=0;for i=1:n if B2(i,6)==2 p=p+1;k=0; for j1=1:n if B2(j1,6)==2 k=k+1; A(p,k)=BI(i,j1); end end endendfor i=1:na if i==na A(i,i)=1./A(i,i); else k=i+1; for j1=k:na A(i,j1)=A(i,j1)./A(i,i); end A(i,i)=1./A(i,i); for k=i+1:na for j1=i+1:na A(k,j1)=A(k,j1)-A(k,i)*A(i,j1); end end endendICT2=1;ICT1=0;kp=1;kq=1;K=1;DET=0;ICT3=1;while ICT2~=0|ICT3~=0ICT2=0;ICT3=0;for i=1:n if i~=isb C(i)=0; for k=1:n C(i)=C(i)+V(k)*(G(i,k)*cos(O(i)-O(k))+BI(i,k)*sin(O(i)-O(k))); end DP1(i)=P(i)-V(i)*C(i); DP(i)=DP1(i)./V(i); DET=abs(DP1(i)); if DET>=pr ICT2=ICT2+1; end endendNp(K)=ICT2; if ICT2~=0 for i=2:n DP(i)=B(i,i)*DP(i); if i~=n IC1=i+1; for k=IC1:n DP(k)=DP(k)-B(k,i)*DP(i); end else for LZ=3:i L=i+3-LZ; IC4=L-1; for MZ=2:IC4 I=IC4+2-MZ; DP(I)=DP(I)-B(I,L)*DP(L); end end end end for i=2:n O(i)=O(i)-DP(i); end kq=1;L=0; for i=1:n if B2(i,6)==2 C(i)=0;L=L+1; for k=1:n C(i)=C(i)+V(k)*(G(i,k)*sin(O(i)-O(k))-BI(i,k)*cos(O(i)-O(k))); end DQ1(i)=Q(i)-V(i)*C(i); DQ(L)=DQ1(i)./V(i); DET=abs(DQ1(i)); if DET>=pr ICT3=ICT3+1; end end end else kp=0; if kq~=0; L=0; for i=1:n if B2(i,6)==2 C(i)=0;L=L+1; for k=1:n C(i)=C(i)+V(k)*(G(i,k)*sin(O(i)-O(k))-BI(i,k)*cos(O(i)-O(k))); end DQ1(i)=Q(i)-V(i)*C(i); DQ(L)=DQ1(i)./V(i); DET=abs(DQ1(i)); end end end end Nq(K)=ICT3; if ICT3~=0 L=0; for i=1:na DQ(i)=A(i,i)*DQ(i); if i==na for LZ=2:i L=i+2-LZ; IC4=L-1; for MZ=1:IC4 I=IC4+1-MZ; DQ(I)=DQ(I)-A(I,L)*DQ(L); end end else IC1=i+1; for k=IC1:na DQ(k)=DQ(k)-A(k,i)*DQ(i); end end end L=0; for i=1:n if B2(i,6)==2 L=L+1; V(i)=V(i)-DQ(L); end end kp=1; K=K+1; else kq=0; if kp~=0 K=K+1; end end for i=1:n Dy(K-1,i)=V(i); endenddisp('迭代次数')disp(K);disp('每次没有达到精度要求的有功功率个数为');disp(Np);disp('每次没有达到精度要求的无功功率个数为');disp(Nq);for k=1:n E(k)=V(k)*cos(O(k))+V(k)*sin(O(k))*j; O(k)=O(k)*180./pi;enddisp('各节点的电压标么值E为');disp(E);disp('各节点的电压V大小');disp(V);disp('各节点的电压相角O');disp(O);for p=1:n C(p)=0; for q=1:n C(p)=C(p)+conj(Y(p,q))*conj(E(q)); end S(p)=E(p)*C(p);enddisp('各节点的功率为');disp(S);disp('各条支路的首端功率为');for i=1:nl if B1(i,6)==0 p=B1(i,1);q=B1(i,2); else p=B1(i,2);q=B1(i,1); end Si(p,q)=E(p)*(conj(E(p))*conj(B1(i,4)./2)+(conj(E(p)*B1(i,5))-conj(E(q)))*conj(1./(B1(i,3)*B1(i,5)))); disp(Si(p,q));enddisp('各条支路的末端功率为');for i=1:nl if B1(i,6)==0 p=B1(i,1);q=B1(i,2); else p=B1(i,2);q=B1(i,1); end Sj(q,p)=E(q)*(conj(E(q))*conj(B1(i,4)./2)+(conj(E(q)./B1(i,5))-conj(E(p)))*conj(1./(B1(i,3)*B1(i,5)))); disp(Sj(q,p));enddisp('各条支路的功率损耗为');for i=1:nl if B1(i,6)==0 p=B1(i,1);q=B1(i,2); else p=B1(i,2);q=B1(i,1); end DS(i)=Si(p,q)+Sj(q,p); disp(DS(i));endfor i=1:K Cs(i)=i; for j=1:n Dy(K,j)=Dy(K-1,j); endenddisp('每次迭代后各节点的电压值如图所示');plot(Cs,Dy)xlabel('迭代次数')ylabel('电压')title('电压迭代次数曲线');