matlab潮流计算_第1页
matlab潮流计算_第2页
matlab潮流计算_第3页
matlab潮流计算_第4页
matlab潮流计算_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、V(i)=B2(i,4);%PV节点电压给定模值附录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;format Io ng;n=input(请输入节点数:nodes=);nl=input(请输入支路数:lines=)

2、;isb=i nput(请输入平衡母线节点号:bala nce=);pr=input(请输入误差精度:precision=);B1=input(请输入由各支路参数形成的矩阵:B仁);B2=input(请输入各节点参数形成的矩阵:B2=);Y=zeros (n );e=zeros(1, n);f=zeros(1, n);V=zeros(1, n);sida=zeros(1, n);S1=zeros( nl);%支路数%左节点处于1侧%左节点处于K侧%非对角元%非对角元% for i=1: nlif B1(i,6)=0 p=B1(i,1);q=B1(i,2);else p=B1(i,2);q=B1

3、(i,1);endY(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5);Y(q,p)=Y(p,q);Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)A2)+B1(i,4);%对角元 K 侧Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4);% 对角元 1 侧end %求导纳矩阵disp(导纳矩阵Y=);disp(Y)G=real(Y);B=imag(Y); for i=1: n%分解出导纳阵的实部和虚部%给定各节点初始电压的实部和虚部e(i)=real(B2(i,3); f(i)=imag(B2(i,3);endfor i=1: nS(i)=B2(

4、i,1)-B2(i,2);B(i,i)=B(i,i)+B2(i,5);end%给定各节点注入功率%i节点注入功率SG-SL%i节点无功补偿量%P=real(S);Q=imag(S);%分解出各节点注入的有功和无功功率ICT1=0;IT2=1;N0=2*n;N=N0+1;a=0; % 迭代次数ICT1、a;不满足收敛要求的节点数IT2while IT2=0% N0=2* n 雅可比矩阵的阶数; N=N0+1扩展列IT2=0;a=a+1;for i=1: nif i=isb%非平衡节点C(i)=0;D(i)=0;for j1=1: nC(i)=C(i)+G(i,j1)*e(j1)-B(i,j1)*

5、f(j1);% 工(GjfD(i)=D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1);%工(Gij*fj+Bij*ej)endP1= C(i)*e(i)+f(i)*D(i);%节点功率 P计算 eiS (Gij*ej-Bij*fj)+fi工(Gij*fj+Bij*ej)Q1= C(i)*f(i)-e(i)*D(i);%节点功率 Q 计算 fi S (Gij*ej-Bij*fj)-eiS (Gij*fj+Bij*ej)%求i节点有功和无功功率P,Q的计算值V2=e(i)A2+f(i)A2;% 电压模平方%以下针对非PV节点来求取功率差及Jacobi矩阵元素%非PV节点%节点有功功

6、率差%节点无功功率差if B2(i,6)=3DP=P(i)-P1;DQ=Q(i)-Q1;%以上为除平衡节点外其它节点的功率计算%求取Jacobi矩阵for j1=1: nif j1=isb&j1=i%非平衡节点&非对角元X仁-G(i,j1)*e(i)-B(i,j1)*f(i);% dP/de=-dQ/dfX2=B(i,j1)*e(i)-G(i,j1)*f(i);% dP/df=dQ/deX3=X2;% X2=dp/df X3=dQ/deX4=-X1;% X1=dP/de X4=dQ/dfp=2*i-1;q=2*j1-1;J(p,q)=X3;J(p,N)=DQ;m=p+1;% X3=dQ/de

7、J(p,N)=DQ 节点无功功率差J(m,q)=X1;J(m,N)=DP;q=q+1;% X1=dP/de J(m,N)=DP 节点有功功率差J(p,q)=X4;J(m,q)=X2;elseif j1=i&j1=isb% X4=dQ/df X2=dp/df%非平衡节点&对角元X仁-C(i)-G(i,i)*e(i)-B(i,i)*f(i);% dP/deX2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);% dP/dfX3=D(i)+B(i,i)*e(i)-G(i,i)*f(i); % dQ/deX4=-C(i)+G(i,i)*e(i)+B(i,i)*f(i);% dQ/df p=

8、2*i-1;q=2*j1-1;J(p,q)=X3;J(p,N)=DQ;%扩展列 Qm=p+1;J(m,q)=X1;q=q+1;J(p,q)=X4;J(m,N)=DP;% 扩展列 P J(m,q)=X2;end end else%下面是针对PV节点来求取Jacobi矩阵的元素DP=P(i)-P1;% PV节点有功误差DV=V(i)A2-V2;% PV节点电压误差for j1=1:nif j1=isb&j1=i%非平衡节点&非对角元X1=-G(i,j1)*e(i)-B(i,j1)*f(i);% dP/deX2=B(i,j1)*e(i)-G(i,j1)*f(i);% dP/dfX5=0;X6=0;

9、p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV; m=p+1;J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;% PV节点电压误差% PV节点有功误差J(m,q)=X2;elseif j1=i&j1=isb%非平衡节点&对角元X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);% dP/deX2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);% dP/df X5=-2*e(i);X6=-2*f(i); p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV; m=p+1;J(m,q)=X1;J(m,

10、N)=DP;q=q+1;J(p,q)=X6;% PV节点电压误差% PV节点有功误差J(m,q)=X2;endendendendend%以上为求雅可比矩阵的各个元素及扩展列的功率差或电压差for k=3:N0% N0=2* n(从第三行开始,第一、二行是平衡节点)k1=k+1;N 1=N;% N=N0+1 即 N=2*n+1 扩展列 P、A Q 或厶 U Ufor k2=k1:N1%从k+1列的Jacobi兀素到扩展列的厶 P、 Q或J(k,k2)=J(k,k2)./J(k,k);% 用K行K列对角元素去除 K行K列后的非对角元素进行规格化endJ(k,k)=1;%对角元规格化 K行K列对角元

11、素赋1%回代运算if k=3% 不是第三行k 3k4=k-1;for k3=3:k4%用k3行从第三行开始到当前行的前一行k4行消去for k2=k1:N1%k3行后各行上三角元素J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);% 消去运算(当前行k 列元素消为 0)end%用当前行K2列元素减去当前行 k列元素乘以第k行K2列元素J(k3,k)=0; %当前行第k列元素已消为0endif k=N0%若已到最后一行break;end%前代运算for k3=k1:N0% 从 k+1 行到 2*n 最后一行for k2=k1:N1% 从k+1列到扩展列消去 k+1行后各行下三角

12、元素J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);% 消去运算end %用当前行K2列元素减去当前行 k列元素乘以第k行K2列元素 J(k3,k)=0; %当前行第k列元素已消为0endelse%是第三行k=3%第三行k=3的前代运算 for k3=k1:N0%从第四行到2n行(最后一行)for k2=k1:N1%从第四列到2n+1列(即扩展列)J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);% 消去运算(当前行 3 列元素消为 0) end%用当前行K2列元素减去当前行 3列元素乘以第三行K2列元素J(k3,k)=0; %当前行第3列元素已消为0en

13、dendend%上面是用线性变换方式高斯消去法将Jacobi矩阵化成单位矩阵%for k=3:2:N0-1L=(k+1)./2;e(L)=e(L)-J(k,N);%修改节点电压实部k仁 k+1; f(L)=f(L)-J(k1,N);%修改节点电压虚部end%修改节点电压for k=3:N0DET=abs(J(k,N);if DET=pr%电压偏差量是否满足要求IT2=IT2+1; %不满足要求的节点数加1endendICT2(a)=IT2;ICT 1=ICT1+1;end%用高斯消去法解w=-J*V disp(迭代次数:);disp(ICT1);disp(没有达到精度要求的个数:disp(IC

14、T2);for k=1: nV(k)=sqrt(e(k)A2+f(k)A2);sida(k)=ata n(f(k)./e(k)*180./pi;E(k)=e(k)+f(k)*1i;%不满足要求的节点数%迭代次数);%计算各节点电压的模值%计算各节点电压的角度%将各节点电压用复数表示end%计算各输出量disp(各节点的实际电压标幺值E为:);disp(E);%显示各节点的实际电压标幺值E用复数表示disp();disp(各节点的电压大小V为:);disp(V);%显示各节点的电压大小V的模值disp();disp(各节点的电压相角deg为:);disp(sida);%显示各节点的电压相角for

15、 p=1: nC(p)=0;for q=1: nC(p)=C(p)+conj(Y(p,q)*conj(E(q);%计算各节点的注入电流的共轭值endS(p)=E(p)*C(p);end%计算各节点的功率 S =电压X注入电流的共轭值disp(各节点的功率 S为:);disp(S);%显示各节点的注入功率disp();disp(各条支路的首端功率Si为:);for i=1: nlp=B1(i,1);q=B1(i,2);if B1(i,6)=0Si(p,q)=E(p)*(conj(E(p)*conj(B1(i,4)./2)+(conj(E(p)*B1(i,5). -conj(E(q)*conj(1

16、./(B1(i,3)*B1(i,5);Siz(i)=Si(p,q);elseSi(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);Siz(i)=Si(p,q);enddisp(Si(p,q);SSi(p,q)=Si(p,q);ZF=S(, nu m2str(p), nu m2str(q),)= ,n um2str(SSi(p,q);disp(ZF);disp();enddisp(各条支路的末端功率Sj为:);for i=1: nlp=B1(i,1);q=B

17、1(i,2);if B1(i,6)=0Sj(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);Sjy(i)=Sj(q,p);elseSj(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);Sjy(i)=Sj(q,p);enddisp(Sj(q,p);SSj(q,p)=Sj(q,p);ZF=S(, nu m2str(q), ,

18、n um2str(p),)=, nu m2str(SSj(q,p);disp(ZF);disp();enddisp(各条支路的功率损耗DS为:);for i=1: nlp=B1(i,1);q=B1(i,2);DS(i)=Si(p,q)+Sj(q,p);disp(DS(i);DDS(i)=DS(i);ZF=DS(, nu m2str(p), nu m2str(q),)= ,n um2str(DDS(i);disp(ZF);disp();end附录2使用PQ分解法进行潮流计算的Matlab程序代码%PQ分解法潮流计算程序%本文中的实例数据如下:节点数为 9;支路数为9;平衡母线节点号为1;误差 精

19、度为0.00001; PQ节点数为5;%主程序clear all;format Io ng;n=in put(请输入节点数:n=);n l=i nput(请输入支路数:nl=);isb=i nput(请输入平衡母线节点号:isb=);pr=i nput(请输入误差精度:pr=);B1=input(请输入由支路参数形成的矩阵:B仁);%输入B1B2=input(请输入由支路参数形成的矩阵:B2=); %输入B2na=input(请输入PQ节点数na=);Y=zeros( n);YI=zeros( n);e=zeros(1, n);f=zeros(1, n);V=zeros(1, n);O=zer

20、os(1, n);for i=1: nlif B1(i,6)=0p=B1(i,1);q=B1(i,2);else p=B1(i,2);q=B1(i,1);endY(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);丫(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5F2)+B1(i,4);YI(q,q)=YI(q,q)+1./B1(i,3);Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4);YI(p,p)=YI(p,p)+1./B1(i,3

21、);end %求导纳矩阵disp(节点导纳矩阵为:);disp(Y);G=real(Y);B=imag(YI);BI=imag(Y);for i=1: nS(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: ne(i)=real(B2(i,3);f(i)=imag(B2(i,3);V(i)=B2(i,4);endfor i=1: nif B2(i,6)=2V(i)=sqrt(e(i)A2+f(i)A2);O(i)=ata n(f(i)./e(i);endendfor i=2: nif i=nB(

22、i,i)=1./B(i,i);else IC1= i+1;for j1=IC1: nB(i,j1)=B(i,j1)./B(i,i);endB(i,i)=1./B(i,i);for k=i+1: nfor j1=i+1: nB(k, j1)=B(k,j1)-B(k,i)*B(i,j1); endendendendP=0;q=0;for i=1: nif B2(i,6)=2p=p+1;k=0;for j1=1: nif B2(j1,6)=2 k=k+1; A(p,k)=BI(i,j1);endendendendfor i=1: naif i=naA(i,i)=1./A(i,i);else k=i+

23、1;for j1=k:naA(i,j1)=A(i,j1)./A(i,i);endA(i,i)=1./A(i,i);for k=i+1: nafor j1=i+1: naA(k,j1)=A(k,j1)-A(k,i)*A(i,j1);endendendendICT2=1;ICT1=0;kp=1;kq=1;K=1;DET=0;ICT3=1;while ICT2=0|ICT3=0ICT2=0;ICT3=0;for i=1: nif i=isbC(i)=0;for k=1: nC(i)=C(i)+V(k)*(G(i,k)*cos(O(i)-O(k)+BI(i,k)*si n(O(i)-O(k);endD

24、P1(i)=P(i)-V(i)*C(i);DP(i)=DP1(i)./V(i);DET=abs(DP1(i);if DET=prICT2=ICT2+1;endendendNp(K)=ICT2;if ICT2=0for i=2: nDP(i)=B(i,i)*DP(i);if i=nIC1= i+1;for k=IC1: nDP(k)=DP(k)-B(k,i)*DP(i);endelsefor LZ=3:iL=i+3-LZ;IC4=L-1;for MZ=2:IC4l=IC4+2-M Z;DP(I)=DP(I)-B(I,L)*DP(L);endendendendfor i=2: nO(i)=O(i)

25、-DP(i);endkq=1;L=0;for i=1: nif B2(i,6)=2C(i)=0;L=L+1;for k=1: nC(i)=C(i)+V(k)*(G(i,k)*si n( O(i)-O(k)-BI(i,k)*cos(O(i)-O(k); endDQ1(i)=Q(i)-V(i)*C(i);DQ(L)=DQ1(i)./V(i); DET=abs(DQ1(i);if DET =prICT3=ICT3+1;endendendelse kp=0;if kq=0;L=0;for i=1: nif B2(i,6)=2 C(i)=0;L=L+1;for k=1: nC(i)=C(i)+V(k)*

26、(G(i,k)*si n( O(i)-O(k)-BI(i,k)*cos(O(i)-O(k); endDQ1(i)=Q(i)-V(i)*C(i);DQ(L)=DQ1(i)./V(i); DET=abs(DQ1(i);endendendendNq(K)=ICT3;if ICT3=0L=0;for i=1: naDQ(i)=A(i,i)*DQ(i);if i=nafor LZ=2:iL=i+2-LZ;IC4=L-1;for MZ=1:IC4I=IC4+1-M Z;DQ(I)=DQ(I)-A(I,L)*DQ(L); endendelseIC1= i+1;for k=IC1: naDQ(k)=DQ(k)

27、-A(k,i)*DQ(i);endendendL=0;for i=1: nif B2(i,6)=2L=L+1; V(i)=V(i)-DQ(L);endendkp=1;K=K+1;elsekq=0;if kp=0K=K+1;endendfor i=1: nDy(K-1,i)=V(i);endenddisp(迭代次数);disp(K);disp(每次没有达到精度要求的有功功率个数为);disp(Np);disp(每次没有达到精度要求的无功功率个数为);disp(Nq);for k=1: nE(k)=V(k)*cos(O(k)+V(k)*si n(O(k)*j;O(k)=O(k)*180./pi;e

28、nddisp(各节点的电压标幺值E为:);disp(E);disp(各节点的电压V大小为:);disp(V);disp(各节点的电压相角0为:);disp(O);for p=1: nC(p)=0;for q=1: nC(p)=C(p)+conj(丫(p,q)*conj(E(q);endS(p)=E(p)*C(p);enddisp(各节点的功率S为:);disp(S);disp(各条支路的首端功率Sj为:);for i=1: nlif B1(i,6)=0p=B1(i,1);q=B1(i,2);else p=B1(i,2);q=B1(i,1);endSi(p,q)=E(p)*(conj(E(p)*

29、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(各条支路的末端功率Sj为:);for i=1: nlif B1(i,6)=0p=B1(i,1);q=B1(i,2);else p=B1(i,2);q=B1(i,1);endSj(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(各条支路的

30、功率损耗DS为:);for i=1: nlif B1(i,6)=0p=B1(i,1);q=B1(i,2);else p=B1(i,2);q=B1(i,1);endDS(i)=Si(p,q)+Sj(q,p);disp(DS(i);endfor i=1:KCs(i)=i;for j=1: nDy(K,j)=Dy(K-1,j);endend附录3进行三相短路容量计算的Matlab程序代码%短路容量计算程序% B1矩阵:1、支路首端号;2、末端号;3、支路阻抗;4、支路对地电纳%5、支路的变比;6支路首端处于K侧为1,1侧为0% B2矩阵:1、该节点发电机功率;2、该节点负荷功率;3、节点电压初始值%4、PV节点电压V的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论