潮流计算的计算机算法.docx
- 文档编号:3593568
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:23
- 大小:20.19KB
潮流计算的计算机算法.docx
《潮流计算的计算机算法.docx》由会员分享,可在线阅读,更多相关《潮流计算的计算机算法.docx(23页珍藏版)》请在冰豆网上搜索。
潮流计算的计算机算法
高等电力系统分析
(潮流计算的计算机算法)
PQ分解法潮流计算(IEEE14)
1、MATLAB源程序
2、对支路参数(B1)、节点参数(B2)的说明
3、带入数据,运行结果
一、MATLAB源程序
clear
closeall
n=input('请输入节点数:
n=');
n1=input('请输入支路数:
n1=');
isb=input('请输入平衡节点号:
isb=');
pr=input('请输入误差精度:
pr=');
B1=input('请输入支路参数:
B1=');
B2=input('请输入节点参数:
B2=');
n2=input('请输入PQ节点个数:
n2=');
Y=zeros(n);
fori=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;
end
disp('导纳矩阵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);
fori=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;
whileICT~=0
m1=1;m2=1;
fori=1:
n
ifi~=isb
C(i)=0;
D(i)=0;
forj1=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;
ifB2(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));
fori=1:
m1
ifmax1 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)); fori=1: m2 ifmax2 Mq=0; else ifB2(i,2)==1; V(i)=V(i)+deltV(i)'; Mp=1; end end end ifMp==0&&Mq==0 ICT=0; else ICT=1; end DX=DX+1; end %------------------------------------------- %----------------迭代结束,开始输出结果---------------- disp('----------------------------------------------'); disp('迭代次数为: '); disp(DX); fori=1: n E(i)=V(i)*cos(O(i))+1j*V(i)*sin(O(i)); o(i)=*angle(E(i))/pi; end disp('---------------------------------------------'); disp('修正后各节点电压标么值为(节点号从小到大排列): '); disp(V); disp('---------------------------------------------'); disp('修正后各节点电压相角为(节点号从小到大排列): '); disp(o); %------------计算各个节点的功率---------------------- disp('----------------------------------------------'); disp('各节点的功率为: '); forp=1: n C(p)=0; forq=1: n C(p)=C(p)+conj(Y(p,q)*conj(E(q))); end S(p)=E(p)*C(p); end disp(S); %------------计算各支路的功率---------------------- fori=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; fori=1: n Sp=Sp+V(n)*conj(Y(n,i))*conj(V(i)); end disp('----------------------------------------------'); disp('平衡节点功率为: '); disp(Sp); 2、对支路参数(B1)、节点参数(B2)的说明 1.节点数: 14 2.支路数: 20 3.支路矩阵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.10; 61-0.-0.01810; 71-0.061-0.01610; 81-0.-0.10; 91-0.149-0.0510; 1020.01.0; 112-0.94201.010; 122-0.1120.0471.70; 13200.1741.90; 140001.060;] 3、带入数据,运行结果 >>clear closeall n=input('请输入节点数: n='); n1=input('请输入支路数: n1='); isb=input('请输入平衡节点号: isb='); pr=input('请输入误差精度: pr='); B1=input('请输入支路参数: B1='); B2=input('请输入节点参数: B2='); n2=input('请输入PQ节点个数: n2='); Y=zeros(n); fori=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; end disp('导纳矩阵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); fori=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; whileICT~=0 m1=1;m2=1; fori=1: n ifi~=isb C(i)=0; D(i)=0; forj1=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; ifB2(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)); fori=1: m1 ifmax1 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)); fori=1: m2 ifmax2 Mq=0; else ifB2(i,2)==1; V(i)=V(i)+deltV(i)'; Mp=1; end end end ifMp==0&&Mq==0 ICT=0; else ICT=1; end DX=DX+1; end %------------------------------------------- %----------------迭代结束,开始输出结果---------------- disp('----------------------------------------------'); disp('迭代次数为: '); disp(DX); fori=1: n E(i)=V(i)*cos(O(i))+1j*V(i)*sin(O(i)); o(i)=*angle(E(i))/pi; end disp('---------------------------------------------'); disp('修正后各节点电压标么值为(节点号从小到大排列): '); disp(V); disp('---------------------------------------------'); disp('修正后各节点电压相角为(节点号从小到大排列): '); disp(o); %------------计算各个节点的功率---------------------- disp('----------------------------------------------'); disp('各节点的功率为: '); forp=1: n C(p)=0; forq=1: n C(p)=C(p)+conj(Y(p,q)*conj(E(q))); end S(p)=E(p)*C(p); end disp(S); %------------计算各支路的功率---------------------- fori=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; fori=1: n Sp=Sp+V(n)*conj(Y(n,i))*conj(V(i)); end disp('----------------------------------------------'); 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.10; 61-0.-0.01810; 71-0.061-0.01610; 81-0.-0.10; 91-0.149-0.0510; 1020.01.0; 112-0.94201.010; 122-0.1120.0471.70; 13200.1741.90; 140001.060;] 请输入PQ节点个数: n2=9 导纳矩阵Y= Columns1through5 10.5130-38.2963i-6.8410+21.5786i0.0000+4.7819i0.0000+1.7980i0.0000+0.0000i -6.8410+21.5786i9.5680-34.8916i0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i 0.0000+4.7819i0.0000+0.0000i0.0000-19.5490i0.0000+9.0901i0.0000+0.0000i 0.0000+1.7980i0.0000+0.0000i0.0000+9.0901i5.3261-24.2825i-3.9020+10.3654i 0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i-3.9020+10.3654i5.7829-14.7683i 0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i-1.8809+4.4029i 0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i 0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i 0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i-1.4240+3.0291i0.0000+0.0000i -1.6860+5.1158i-1.7011+5.1939i0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i -1.9860+5.0688i0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i 0.0000+0.0000i0.0000+3.9679i0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i 0.0000+0.0000i0.0000+0.0000i0.0000+5.6770i0.0000+0.0000i0.0000+0.0000i 0.0000+0.0000i-1.0259+4.2350i0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i Columns6through10 0.0000+0.0000i0.0000+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 潮流 计算 计算机 算法
![提示](https://static.bdocx.com/images/bang_tan.gif)