《matlab潮流计算》由会员分享,可在线阅读,更多相关《matlab潮流计算(14页珍藏版)》请在装配图网上搜索。

1、附录1使用牛顿拉夫逊法进行潮流计算的Matlab程序代码 牛拉法计算潮流程序- B1矩阵1、支路首端号;2、末端号;3、支路阻抗;4、支路对地电纳 5、支路的变比;6、支路首端处于K侧为1,1侧为0 B2矩阵1、该节点发电机功率;2、该节点负荷功率;3、节点电压初始值 4、PV节点电压V的给定值;5、节点所接的无功补偿设备的容量 6、节点分类标号1为平衡节点(应为1号节点);2为PQ节点;3为PV节点;clear all;at long;n请输入节点数nodes;nl请输入支路数lines;isb请输入平衡母线节点号balance;pr请输入误差精度precision;B1请输入由各支路参数形。

2、成的矩阵B1;B2请输入各节点参数形成的矩阵B2;Yzerosn;ezeros1,n;fzeros1,n;Vzeros1,n;sidazeros1,n;S1zerosnl;for i1nl支路数 if B1i,60左节点处于1侧 pB1i,1;qB1i,2; else 左节点处于K侧 pB1i,2;qB1i,1;end Yp,qYp,q-1./B1i,3*B1i,5;非对角元 Yq,pYp,q; 非对角元 Yq,qYq,q1./B1i,3*B1i,52B1i,4;对角元K侧 Yp,pYp,p1./B1i,3B1i,4;对角元1侧end求导纳矩阵disp导纳矩阵 Y;dispY-GrealY;B。

3、imagY;分解出导纳阵的实部和虚部for i1n给定各节点初始电压的实部和虚部eirealB2i,3;fiimagB2i,3; ViB2i,4;PV节点电压给定模值endfor i1n给定各节点注入功率 SiB2i,1-B2i,2; i节点注入功率SG-SL Bi,iBi,iB2i,5;i节点无功补偿量end-PrealS;QimagS; 分解出各节点注入的有功和无功功率ICT10;IT21;N02*n;NN01;a0; 迭代次数ICT1、a;不满足收敛要求的节点数IT2while IT20 N02*n 雅可比矩阵的阶数;NN01扩展列 IT20;aa1;for i1n if iisb非平。

4、衡节点Ci0;Di0;for j11n CiCiGi,j1*ej1-Bi,j1*fj1;Gij*ej-Bij*fj DiDiGi,j1*fj1Bi,j1*ej1;Gij*fjBij*ejend P1Ci*eifi*Di;节点功率P计算eiGij*ej-Bij*fjfiGij*fjBij*ej Q1Ci*fi-ei*Di;节点功率Q计算fiGij*ej-Bij*fj-eiGij*fjBij*ej求i节点有功和无功功率P,Q的计算值 V2ei2fi2;电压模平方以下针对非PV节点来求取功率差及Jacobi矩阵元素- if B2i,63非PV节点 DPPi-P1;节点有功功率差 DQQi-Q1; 节。

5、点无功功率差以上为除平衡节点外其它节点的功率计算求取Jacobi矩阵for j11n if j1isb dP/de-dQ/df X2Bi,j1*ei-Gi,j1*fi; dP/dfdQ/de X3X2; X2dp/df X3dQ/de X4-X1; X1dP/de X4dQ/df p2*i-1;q2*j1-1; Jp,qX3;Jp,NDQ;mp1; X3dQ/de Jp,NDQ节点无功功率差 Jm,qX1;Jm,NDP;qq1; X1dP/de Jm,NDP节点有功功率差Jp,qX4;Jm,qX2; X4dQ/df X2dp/dfelseif j1i dP/de X2-DiBi,i*。

6、ei-Gi,i*fi; dP/df X3DiBi,i*ei-Gi,i*fi; dQ/de X4-CiGi,i*eiBi,i*fi; dQ/df p2*i-1;q2*j1-1;Jp,qX3;Jp,NDQ;扩展列Q mp1; Jm,qX1;qq1;Jp,qX4;Jm,NDP;扩展列PJm,qX2;endendelse 下面是针对PV节点来求取Jacobi矩阵的元素- DPPi-P1; PV节点有功误差 DVVi2-V2; PV节点电压误差for j11n if j1isb dP/de X2Bi,j1*ei-Gi,j1*fi; dP/df X50;X60; p2*i-1;q2*j1-1;Jp,。

7、qX5;Jp,NDV; PV节点电压误差 mp1; Jm,qX1;Jm,NDP;qq1;Jp,qX6; PV节点有功误差Jm,qX2;elseif j1i dP/de X2-DiBi,i*ei-Gi,i*fi; dP/df X5-2*ei; X6-2*fi; p2*i-1;q2*j1-1;Jp,qX5;Jp,NDV; PV节点电压误差 mp1; Jm,qX1;Jm,NDP;qq1;Jp,qX6; PV节点有功误差Jm,qX2;endendendendend以上为求雅可比矩阵的各个元素及扩展列的功率差或电压差- for k3N0 N02*n (从第三行开始,第一、二行是平衡节点) k1。

8、k1;N1N; NN01 即 N2*n1扩展列P、Q 或U for k2k1N1 从k1列的Jacobi元素到扩展列的P、Q 或U Jk,k2Jk,k2./Jk,k; 用K行K列对角元素去除K行K列后的非对角元素进行规格化end Jk,k1; 对角元规格化K行K列对角元素赋1 回代运算- if k3 不是第三行 k 3 k4k-1; for k33k4 用k3行从第三行开始到当前行的前一行k4行消去 for k2k1N1 k3行后各行上三角元素 Jk3,k2Jk3,k2-Jk3,k*Jk,k2;消去运算(当前行k列元素消为0) end 用当前行K2列元素减去当前行k列元素乘以第k行K2列。

9、元素 Jk3,k0; 当前行第k列元素已消为0end if kN0 若已到最后一行break;end 前代运算 for k3k1N0 从k1行到2*n最后一行 for k2k1N1 从k1列到扩展列消去k1行后各行下三角元素 Jk3,k2Jk3,k2-Jk3,k*Jk,k2;消去运算 end 用当前行K2列元素减去当前行k列元素乘以第k行K2列元素 Jk3,k0; 当前行第k列元素已消为0end else 是第三行k3 第三行k3的前代运算 for k3k1N0 从第四行到2n行(最后一行) for k2k1N1 从第四列到2n1列(即扩展列) Jk3,k2Jk3,k2-Jk3,k*Jk,。

10、k2;消去运算(当前行3列元素消为0) end 用当前行K2列元素减去当前行3列元素乘以第三行K2列元素 Jk3,k0; 当前行第3列元素已消为0endendend上面是用线性变换方式高斯消去法将Jacobi矩阵化成单位矩阵-for k32N0-1 Lk1./2; eLeL-Jk,N; 修改节点电压实部 k1k1; fLfL-Jk1,N; 修改节点电压虚部end 修改节点电压-for k3N0 DETabsJk,N; if DETpr 电压偏差量是否满足要求 IT2IT21; 不满足要求的节点数加1endend ICT2aIT2; 不满足要求的节点数 ICT1ICT11; 迭代次数end用高斯。

11、消去法解w-J*Vdisp迭代次数;dispICT1;disp没有达到精度要求的个数;dispICT2;for k1n Vksqrtek2fk2; 计算各节点电压的模值sidakatanfk./ek*180./pi; 计算各节点电压的角度 Ekekfk*1i; 将各节点电压用复数表示end计算各输出量disp各节点的实际电压标幺值E为;dispE; 显示各节点的实际电压标幺值E用复数表示disp-;disp各节点的电压大小V为;dispV; 显示各节点的电压大小V的模值disp-;disp各节点的电压相角deg为;dispsida; 显示各节点的电压相角for p1nCp0;for q1n C。

12、pCpconjYp,q*conjEq; 计算各节点的注入电流的共轭值end SpEp*Cp; 计算各节点的功率 S 电压 X 注入电流的共轭值enddisp各节点的功率S为;dispS; 显示各节点的注入功率disp-;disp各条支路的首端功率Si为;for i1nl pB1i,1;qB1i,2;if B1i,60 Sip,qEp*conjEp*conjB1i,4./2conjEp*B1i,5. -conjEq*conj1./B1i,3*B1i,5;SiziSip,q;else Sip,qEp*conjEp*conjB1i,4./2conjEp./B1i,5. -conjEq*conj1.。

13、/B1i,3*B1i,5;SiziSip,q;enddispSip,q;SSip,qSip,q; ZFS,num2strp,num2strq,,num2strSSip,q;dispZF;disp-;enddisp各条支路的末端功率Sj为;for i1nl pB1i,1;qB1i,2;if B1i,60 Sjq,pEq*conjEq*conjB1i,4./2conjEq./B1i,5. -conjEp*conj1./B1i,3*B1i,5;SjyiSjq,p;elseSjq,pEq*conjEq*conjB1i,4./2conjEq*B1i,5. -conjEp*conj1./B1i,3*B1i。

14、,5;SjyiSjq,p;enddispSjq,p;SSjq,pSjq,p; ZFS,num2strq,num2strp,,num2strSSjq,p;dispZF;disp-;enddisp各条支路的功率损耗DS为;for i1nl pB1i,1;qB1i,2;DSiSip,qSjq,p;dispDSi;DDSiDSi; ZFDS,num2strp,num2strq,,num2strDDSi;dispZF;disp-;end附录2使用PQ分解法进行潮流计算的Matlab程序代码PQ分解法潮流计算程序本文中的实例数据如下节点数为9;支路数为9;平衡母线节点号为1;误差精度为0.00001;PQ。

15、节点数为5;主程序clear all;at long;n请输入节点数n;nl请输入支路数nl; isb请输入平衡母线节点号isb; pr请输入误差精度pr; B1请输入由支路参数形成的矩阵B1; 输入B1 B2请输入由支路参数形成的矩阵B2; 输入B2na请输入PQ节点数na; Yzerosn;YIzerosn;ezeros1,n;fzeros1,n;Vzeros1,n;Ozeros1,n;for i1nl if B1i,60 pB1i,1;qB1i,2; else pB1i,2;qB1i,1; end Yp,qYp,q-1./B1i,3*B1i,5; YIp,qYIp,q-1./B1i,3;。

16、 Yq,pYp,q; YIq,pYIp,q; Yq,qYq,q1./B1i,3*B1i,52B1i,4; YIq,qYIq,q1./B1i,3; Yp,pYp,p1./B1i,3B1i,4; YIp,pYIp,p1./B1i,3;end 求导纳矩阵disp节点导纳矩阵为;dispY;GrealY;BimagYI;BIimagY;for i1n SiB2i,1-B2i,2; BIi,iBIi,iB2i,5;end PrealS;QimagS;for i1n eirealB2i,3; fiimagB2i,3; ViB2i,4;endfor i1n if B2i,62 Visqrtei2fi2; O。

17、iatanfi./ei; endendfor i2n if in Bi,i1./Bi,i; else IC1i1; for j1IC1n Bi,j1Bi,j1./Bi,i; end Bi,i1./Bi,i; for ki1n for j1i1n Bk,j1Bk,j1-Bk,i*Bi,j1; end end endendp0;q0;for i1n if B2i,62 pp1;k0; for j11n if B2j1,62 kk1; Ap,kBIi,j1; end end endendfor i1na if ina Ai,i1./Ai,i; else ki1; for j1kna Ai,j1Ai,。

18、j1./Ai,i; end Ai,i1./Ai,i; for ki1na for j1i1na Ak,j1Ak,j1-Ak,i*Ai,j1; end end end endICT21;ICT10;kp1;kq1;K1;DET0;ICT31;while ICT20ICT30 ICT20;ICT30; for i1n if iisb Ci0; for k1n CiCiVk*Gi,k*cosOi-OkBIi,k*sinOi-Ok; end DP1iPi-Vi*Ci; DPiDP1i./Vi; DETabsDP1i; if DETpr ICT2ICT21; end end end NpKICT2; i。

19、f ICT20 for i2n DPiBi,i*DPi; if in IC1i1; for kIC1n DPkDPk-Bk,i*DPi; end else for LZ3i Li3-LZ; IC4L-1; for MZ2IC4 IIC42-MZ; DPIDPI-BI,L*DPL; end end end end for i2n OiOi-DPi; end kq1;L0; for i1n if B2i,62 Ci0;LL1; for k1n CiCiVk*Gi,k*sinOi-Ok-BIi,k*cosOi-Ok; end DQ1iQi-Vi*Ci; DQLDQ1i./Vi; DETabsDQ1i。

20、; if DET pr ICT3ICT31; end end end else kp0; if kq0; L0; for i1n if B2i,62 Ci0;LL1; for k1n CiCiVk*Gi,k*sinOi-Ok-BIi,k*cosOi-Ok; end DQ1iQi-Vi*Ci; DQLDQ1i./Vi; DETabsDQ1i; end end end end NqKICT3; if ICT30 L0; for i1na DQiAi,i*DQi; if ina for LZ2i Li2-LZ; IC4L-1; for MZ1IC4 IIC41-MZ; DQIDQI-AI,L*DQL。

21、; end end else IC1i1; for kIC1na DQkDQk-Ak,i*DQi; end end end L0; for i1n if B2i,62 LL1; ViVi-DQL; end end kp1; KK1; else kq0; if kp0 KK1; end end for i1n DyK-1,iVi; endenddisp迭代次数;dispK; disp每次没有达到精度要求的有功功率个数为;dispNp;disp每次没有达到精度要求的无功功率个数为;dispNq;for k1n EkVk*cosOkVk*sinOk*j; OkOk*180./pi;end disp各。

22、节点的电压标幺值E为;dispE;disp各节点的电压V大小为;dispV;disp各节点的电压相角O为;dispO;for p1n Cp0; for q1n CpCpconjYp,q*conjEq; end SpEp*Cp;end disp各节点的功率S为;dispS;disp各条支路的首端功率Sj为; for i1nl if B1i,60 pB1i,1;qB1i,2; else pB1i,2;qB1i,1; end Sip,qEp*conjEp*conjB1i,4./2conjEp*B1i,5-conjEq*conj1./B1i,3*B1i,5; dispSip,q;end disp各条支。

23、路的末端功率Sj为; for i1nl if B1i,60 pB1i,1;qB1i,2; else pB1i,2;qB1i,1; end Sjq,pEq*conjEq*conjB1i,4./2conjEq./B1i,5-conjEp*conj1./B1i,3*B1i,5; dispSjq,p; end disp各条支路的功率损耗DS为; for i1nl if B1i,60 pB1i,1;qB1i,2; else pB1i,2;qB1i,1; end DSiSip,qSjq,p; dispDSi;end for i1K Csii; for j1n DyK,jDyK-1,j; end end 附。

24、录3进行三相短路容量计算的Matlab程序代码短路容量计算程序- B1矩阵1、支路首端号;2、末端号;3、支路阻抗;4、支路对地电纳 5、支路的变比;6、支路首端处于K侧为1,1侧为0 B2矩阵1、该节点发电机功率;2、该节点负荷功率;3、节点电压初始值 4、PV节点电压V的给定值;5、节点所接的无功补偿设备的容量 6、节点分类标号1为平衡节点(应为1号节点);2为PQ节点;Yd为修改后的节点导纳矩阵-clear all;at long;g1300MW发电机数g1;g2250MW发电机数g2;n请输入节点数n;nl请输入支路数nl;B1请输入由各支路参数形成的矩阵B1;B2请输入各节点参数形成。

25、的矩阵B2;Yzerosn; Y为修改前节点导纳矩阵for i1nl支路数 if B1i,60左节点处于1侧 pB1i,1;qB1i,2; else 左节点处于K侧 pB1i,2;qB1i,1;end Yp,qYp,q-1./B1i,3*B1i,5;非对角元 Yq,pYp,q; 非对角元 Yq,qYq,q1./B1i,3*B1i,52B1i,4;对角元K侧 Yp,pYp,p1./B1i,3B1i,4;对角元1侧endY2-Y5为各PQ节点负荷的导纳Y10;Y2conjB22,2;Y3 conjB23,2;Y4 conjB24,2;Y5 conjB25,2; Xd3000.51j/0.95041。

26、32;XT3000.033212j/0.9504132;Xd2500.714j/0.9504132;XT2500.038747j/0.9504132;Y6g1/XT300Xd300g2/XT250Xd250;处理相应的负荷及机组部分的导纳CY1,Y2,Y3,Y4,Y5,Y6;YdY;for i1n Ydi,iYdi,iCi; 修改各节点自导纳enddispYd;Z invYd; 求节点阻抗矩阵for j1n Ij 1/Zj,j; 电压故障前电压标幺值为1 SjabsIj; SnjSj*100; 短路电流有名值end计算完毕disp各节点短路时的短路电流幅值标幺值dispabsIdisp短路容量有名值Sn; dispSn;。

更多推荐