潮流计算的计算机算法.doc
高等电力系统分析 (潮流计算的计算机算法)PQ分解法潮流计算(IEEE14)目录一、 MATLAB源程序二、 对支路参数(B1)、节点参数(B2)的说明三、 带入数据,运行结果一、MATLAB源程序clearclose alln=input('请输入节点数:n=');n1=input('请输入支路数:n1=');isb=input('请输入平衡节点号:isb=');pr=input('请输入误差精度:pr=');B1=input('请输入支路参数:B1=');B2=input('请输入节点参数:B2=');n2=input('请输入PQ节点个数:n2=');Y=zeros(n); for i=1:n1 p=B1(i,1); q=B1(i,2); Y(p,q)=Y(p,q)-1/(B1(i,3)+B1(i,4)*1j); %非对角元 Y(q,p)=Y(p,q); Y(p,p)=Y(p,p)+1/(B1(i,3)+B1(i,4)*1j)+B1(i,6)*1j; %对角元 Y(q,q)=Y(q,q)+1/(B1(i,3)+B1(i,4)*1j)+B1(i,6)*1j;enddisp('导纳矩阵Y=');disp(Y)%- %-下面是求P,Q,V,O矩阵-V=zeros(1,n);O=zeros(1,n);P=zeros(1,n);Q=zeros(1,n);G=real(Y);B=imag(Y);for i=1:n P(i)=B2(i,3); Q(i)=B2(i,4); V(i)=B2(i,5); O(i)=B2(i,6); end B3=B(1:n-1,1:n-1); %不含平衡节点,由节点导纳虚部构成B4=B(1:n2,1:n2); %所有PQ节点%- %-下面是求P,Q矩阵-DX=0;ICT=1;Mp=1;Mq=1; while ICT=0 m1=1;m2=1; for i=1:n if i=isb C(i)=0; D(i)=0; for j1=1:n C(i)=C(i)+V(i)*V(j1)*(G(i,j1)*cos(O(i)-O(j1)+B(i,j1)*sin(O(i)-O(j1); D(i)=D(i)+V(i)*V(j1)*(G(i,j1)*sin(O(i)-O(j1)-B(i,j1)*cos(O(i)-O(j1); end DP(m1)=P(i)-C(i); m1=m1+1; if B2(i,2)=1 DQ(m2)=Q(i)-D(i); m2=m2+1; end end end m1=m1-1; %所有节点数 m2=m2-1; %PQ节点数 DPQ=DP'DQ' %求DP,DQ V1=V(:,1:m1); V2=diag(V1); V3=inv(V2); %对V矩阵求逆 H=V3*DP' %P/V K=-inv(B3)*H; %-P/V/B3 deltO=V3*K; %角=-P/V/V/B3 max1=max(abs(DP); for i=1:m1 if max1<pr Mp=0; else O(i)=O(i)+deltO(i)' Mq=1; end end V4=V(:,1:m2); V5=diag(V4); V6=inv(V5); L=V6*DQ' N=-inv(B4)*L; deltV=N; %V=-Q/V/B max2=max(abs(DQ); for i=1:m2 if max2<pr Mq=0; else if B2(i,2)=1; V(i)=V(i)+deltV(i)' Mp=1; end end end if Mp=0&&Mq=0 ICT=0; else ICT=1; end DX=DX+1;end%- %-迭代结束,开始输出结果-disp('-');disp('迭代次数为:');disp(DX);for i=1:n E(i)=V(i)*cos(O(i)+1j*V(i)*sin(O(i); o(i)= 180*angle(E(i)/pi;enddisp('-');disp('修正后各节点电压标么值为(节点号从小到大排列):');disp(V);disp('-');disp('修正后各节点电压相角为(节点号从小到大排列):');disp(o); %-计算各个节点的功率-disp('-');disp('各节点的功率为:'); 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(S); %-计算各支路的功率-for i=1:n1 p=B1(i,1);q=B1(i,2); Si(p,q)=E(p)*(conj(E(p)*conj(Y(p,p)-Y(p,q)+(conj(E(p)-conj(E(q)*conj(Y(p,q);disp('-');disp('各条支路的首端功率为:'); disp(Si(p,q); Si(q,p)=E(q)*(conj(E(q)*conj(Y(q,q)-Y(p,q)+(conj(E(q)-conj(E(p)*conj(Y(p,q);disp('-');disp('各条支路的末端功率为:'); disp(Si(q,p); DS(i)=Si(p,q)+Si(q,p);disp('-');disp('各条支路的功率损耗为:'); disp(DS(i);end %-计算平衡节点功率-Sp=0;for i=1:n Sp=Sp+V(n)*conj(Y(n,i)*conj(V(i);enddisp('-');disp('平衡节点功率为:');disp(Sp);二、 对支路参数(B1)、节点参数(B2)的说明1.节点数:142.支路数:203.支路矩阵B1的各支路参数:起点编号,终点编号,电阻,电抗,电导,电纳120.013350.0421100;1300.2091200;1400.5561800;1100.058110.1763200.034;1110.067010.1710300.0128;2100.056950.1738800.0346;21200.2520200;2140.054030.2230400.0492;3400.1100100;31300.1761500;450.031810.084500;490.127110.2703800;560.082050.1920700;6120.094980.198900;780.220920.1998800;7120.122910.2558100;890.170930.3480200;8120.066150.1302700;10110.046990.1979700.0438;10140.019380.0591700.0528;4. 节点参数矩阵B2的各节点参数:(对应的每一列为)节点编号,类型,注入有功,注入无功,电压幅值,电压相位其中节点类型:1=PQ节点,2=PV节点,0=平衡节点11-0.4780.03910;21-0.076-0.01610;310010;41-0.295-0.16610;51-0.09-0.05810;61-0.035-0.01810;71-0.061-0.01610;81-0.135-0.05810;91-0.149-0.0510;1020.18301.0450;112-0.94201.010;122-0.1120.0471.70;13200.1741.90;140001.060;三、 带入数据,运行结果>> clearclose alln=input('请输入节点数:n=');n1=input('请输入支路数:n1=');isb=input('请输入平衡节点号:isb=');pr=input('请输入误差精度:pr=');B1=input('请输入支路参数:B1=');B2=input('请输入节点参数:B2=');n2=input('请输入PQ节点个数:n2=');Y=zeros(n); for i=1:n1 p=B1(i,1); q=B1(i,2); Y(p,q)=Y(p,q)-1/(B1(i,3)+B1(i,4)*1j); %非对角元 Y(q,p)=Y(p,q); Y(p,p)=Y(p,p)+1/(B1(i,3)+B1(i,4)*1j)+B1(i,6)*1j; %对角元 Y(q,q)=Y(q,q)+1/(B1(i,3)+B1(i,4)*1j)+B1(i,6)*1j;enddisp('导纳矩阵Y=');disp(Y)%- %-下面是求P,Q,V,O矩阵-V=zeros(1,n);O=zeros(1,n);P=zeros(1,n);Q=zeros(1,n);G=real(Y);B=imag(Y);for i=1:n P(i)=B2(i,3); Q(i)=B2(i,4); V(i)=B2(i,5); O(i)=B2(i,6); end B3=B(1:n-1,1:n-1); %不含平衡节点,由节点导纳虚部构成B4=B(1:n2,1:n2); %所有PQ节点%- %-下面是求P,Q矩阵-DX=0;ICT=1;Mp=1;Mq=1; while ICT=0 m1=1;m2=1; for i=1:n if i=isb C(i)=0; D(i)=0; for j1=1:n C(i)=C(i)+V(i)*V(j1)*(G(i,j1)*cos(O(i)-O(j1)+B(i,j1)*sin(O(i)-O(j1); D(i)=D(i)+V(i)*V(j1)*(G(i,j1)*sin(O(i)-O(j1)-B(i,j1)*cos(O(i)-O(j1); end DP(m1)=P(i)-C(i); m1=m1+1; if B2(i,2)=1 DQ(m2)=Q(i)-D(i); m2=m2+1; end end end m1=m1-1; %所有节点数 m2=m2-1; %PQ节点数 DPQ=DP'DQ' %求DP,DQ V1=V(:,1:m1); V2=diag(V1); V3=inv(V2); %对V矩阵求逆 H=V3*DP' %P/V K=-inv(B3)*H; %-P/V/B3 deltO=V3*K; %角=-P/V/V/B3 max1=max(abs(DP); for i=1:m1 if max1<pr Mp=0; else O(i)=O(i)+deltO(i)' Mq=1; end end V4=V(:,1:m2); V5=diag(V4); V6=inv(V5); L=V6*DQ' N=-inv(B4)*L; deltV=N; %V=-Q/V/B max2=max(abs(DQ); for i=1:m2 if max2<pr Mq=0; else if B2(i,2)=1; V(i)=V(i)+deltV(i)' Mp=1; end end end if Mp=0&&Mq=0 ICT=0; else ICT=1; end DX=DX+1;end%- %-迭代结束,开始输出结果-disp('-');disp('迭代次数为:');disp(DX);for i=1:n E(i)=V(i)*cos(O(i)+1j*V(i)*sin(O(i); o(i)= 180*angle(E(i)/pi;enddisp('-');disp('修正后各节点电压标么值为(节点号从小到大排列):');disp(V);disp('-');disp('修正后各节点电压相角为(节点号从小到大排列):');disp(o); %-计算各个节点的功率-disp('-');disp('各节点的功率为:'); 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(S); %-计算各支路的功率-for i=1:n1 p=B1(i,1);q=B1(i,2); Si(p,q)=E(p)*(conj(E(p)*conj(Y(p,p)-Y(p,q)+(conj(E(p)-conj(E(q)*conj(Y(p,q);disp('-');disp('各条支路的首端功率为:'); disp(Si(p,q); Si(q,p)=E(q)*(conj(E(q)*conj(Y(q,q)-Y(p,q)+(conj(E(q)-conj(E(p)*conj(Y(p,q);disp('-');disp('各条支路的末端功率为:'); disp(Si(q,p); DS(i)=Si(p,q)+Si(q,p);disp('-');disp('各条支路的功率损耗为:'); disp(DS(i);end %-计算平衡节点功率-Sp=0;for i=1:n Sp=Sp+V(n)*conj(Y(n,i)*conj(V(i);enddisp('-');disp('平衡节点功率为:');disp(Sp);请输入节点数:n=14请输入支路数:n1=20请输入平衡节点号:isb=14请输入误差精度:pr=0.00001请输入支路参数:B1=120.013350.0421100;1300.2091200;1400.5561800;1100.058110.1763200.034;1110.067010.1710300.0128;2100.056950.1738800.0346;21200.2520200;2140.054030.2230400.0492;3400.1100100;31300.1761500;450.031810.084500;490.127110.2703800;560.082050.1920700;6120.094980.198900;780.220920.1998800;7120.122910.2558100;890.170930.3480200;8120.066150.1302700;10110.046990.1979700.0438;10140.019380.0591700.0528;请输入节点参数:B2=11-0.4780.03910;21-0.076-0.01610;310010;41-0.295-0.16610;51-0.09-0.05810;61-0.035-0.01810;71-0.061-0.01610;81-0.135-0.05810;91-0.149-0.0510;1020.18301.0450;112-0.94201.010;122-0.1120.0471.70;13200.1741.90;140001.060;请输入PQ节点个数:n2=9导纳矩阵Y= Columns 1 through 5 10.5130 -38.2963i -6.8410 +21.5786i 0.0000 + 4.7819i 0.0000 + 1.7980i 0.0000 + 0.0000i -6.8410 +21.5786i 9.5680 -34.8916i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 4.7819i 0.0000 + 0.0000i 0.0000 -19.5490i 0.0000 + 9.0901i 0.0000 + 0.0000i 0.0000 + 1.7980i 0.0000 + 0.0000i 0.0000 + 9.0901i 5.3261 -24.2825i -3.9020 +10.3654i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -3.9020 +10.3654i 5.7829 -14.7683i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -1.8809 + 4.4029i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -1.4240 + 3.0291i 0.0000 + 0.0000i -1.6860 + 5.1158i -1.7011 + 5.1939i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -1.9860 + 5.0688i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 3.9679i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 5.6770i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -1.0259 + 4.2350i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i Columns 6 through 10 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -1.6860 + 5.1158i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -1.7011 + 5.1939i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -1.4240 + 3.0291i 0.0000 + 0.0000i -1.8809 + 4.4029i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 3.8359 - 8.4970i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 4.0150 - 5.4279i -2.4890 + 2.2520i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -2.4890 + 2.2520i 6.7249 -10.6697i -1.1370 + 2.3150i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -1.1370 + 2.3150i 2.5610 - 5.3440i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 9.5213 -30.1895i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -1.1350 + 4.7819i -1.9550 + 4.0941i -1.5260 + 3.1760i -3.0989 + 6.1028i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -4.9991 +15.2631i Columns 11 through 14 -1.9860 + 5.0688i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 3.9679i 0.0000 + 0.0000i -1.0259 + 4.2350i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 5.6770i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -1.9550 + 4.0941i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -1.5260 + 3.1760i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -3.0989 + 6.1028i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -1.1350 + 4.7819i 0.0000 + 0.0000i 0.0000 + 0.0000i -4.9991 +15.2631i 3.1210 - 9.7941i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 6.5799 -17.3407i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 - 5.6770i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 6.0250 -19.3961i-迭代次数为: 42-修正后各节点电压标么值为(节点号从小到大排列): Columns 1 through 10 1.2128 1.2148 1.5627 1.5364 1.5602 1.6264 1.6792 1.6654 1.5809 1.0450 Columns 11 through 14 1.0100 1.7000 1.9000 1.0600-修正后各节点电压相角为(节点号从小到大排列): Columns 1 through 10 -13.1377 -11.9998 -14.4540 -15.0006 -15.3011 -15.7590 -16.4954 -16.3362 -16.0220 -5.2081 Columns 11 through 14 -12.1568 -16.1918 -14.4540 0-各节点的功率为: Columns 1 through 5 1.4718 - 1.8800i 0.9041 - 1.1423i 0.0000 - 0.0000i -0.1314 + 0.1399i -0.0475 - 0.0646i Columns 6 through 10 -0.0300 + 0.0035i 0.0039 - 0.1228i -0.0656 - 0.0724i -0.0352 - 0.1437i -1.5950 - 1.3905i Columns 11 through 14 -0.4870 - 1.2396i 3.2005 + 3.0414i 1.7586 + 3