当前位置:文档之家› 5节点电力系统牛顿-拉夫逊法潮流计算

5节点电力系统牛顿-拉夫逊法潮流计算

(二 〇 一 四 年 十 二 月课 程 论 文 学校代码: 10128 学 号: ***********题 目:五节点系统计算机潮流计算编程 ****:***学 院:电力学院系 别:电力系专 业:电力系统及其自动化****:***程序设计% 本程序的功能是用牛顿拉夫逊法进行潮流计算n=input('请输入节点数:n=');nl=input('请输入支路数:nl=');isb=input('请输入平衡母线节点号:isb=');pr=input('请输入误差精度:pr=');B1=input('请输入由各支路参数形成的矩阵:B1=');B2=input('请输入各节点参数形成的矩阵:B2=');X=input('请输入由节点号及其对地阻抗形成的矩阵:X='); Y=zeros(n); e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);O=zeros(1,n);S1=zeros(nl);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));Y(q,p)=Y(p,q);Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4)./2;Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2;end%求导纳矩阵disp('导纳矩阵Y=');disp(Y);G=real(Y);B=imag(Y);for i=1:ne(i)=real(B2(i,3));f(i)=imag(B2(i,3));V(i)=B2(i,4);endfor i=1:nS(i)=B2(i,1)-B2(i,2);B(i,i)=B(i,i)+B2(i,5);endP=real(S);Q=imag(S);ICT1=0;IT2=1;N0=2*n;N=N0+1;a=0;while IT2~=0IT2=0;a=a+1;for i=1:nif i~=isbC(i)=0;D(i)=0;for j1=1:nC(i)= C(i)+G(i,j1)*e(j1)-B(i,j1)*f(j1);D(i)= D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1);endP1=C(i)*e(i)+f(i)*D(i);Q1=f(i)*C(i)-D(i)*e(i);V2=e(i)^2+f(i)^2;if B2(i,6)~=3DP=P(i)-P1;DQ=Q(i)-Q1;for j1=1:nif j1~=isb&j1~=iX1=-G(i,j1)*e(i)-B(i,j1)*f(i);X2=B(i,j1)*e(i)-G(i,j1)*f(i);X3=X2;X4=-X1;p=2*i-1;q=2*j1-1;J(p,q)=X3;J(p,N)=DQ;m=p+1;J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X4;J(m,q)=X2;elseif j1==i&j1~=isbX1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);X3=D(i)+B(i,i)*e(i)-G(i,i)*f(i);X4=-C(i)+G(i,i)*e(i)+B(i,i)*f(i);p=2*i-1;q=2*j1-1;J(p,q)=X3;J(p,N)=DQ;m=p+1;J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X4;J(m,q)=X2;endendelseDP=P(i)-P1;DV=V(i)^2-V2;for j1=1:nif j1~=isb&j1~=iX1=-G(i,j1)*e(i)-B(i,j1)*f(i);X2=B(i,j1)*e(i)-G(i,j1)*f(i);X5=0;X6=0;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;J(m,q)=X2;elseif j1==i&j1~=isbX1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);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,N)=DP;q=q+1;J(p,q)=X6;J(m,q)=X2;endendendendend%求雅可比矩阵for k=3:N0k1=k+1;N1=N;for k2=k1:N1J(k,k2)=J(k,k2)./J(k,k);endJ(k,k)=1;if k~=3;k4=k-1;for k3=3:k4for k2=k1:N1J(k3,k2)= J(k3,k2)-J(k3,k)*J(k,k2);endJ(k3,k)=0;endif k==N0,break;endfor k3=k1:N0for k2=k1:N1J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);endJ(k3,k)=0;endelsefor k3=k1:N0for k2=k1:N1J(k3,k2)= J(k3,k2)-J(k3,k)*J(k,k2);endJ(k3,k)=0;endendendfor k=3:2:N0-1L=(k+1)./2;e(L)=e(L)-J(k,N);k1=k+1;f(L)=f(L)-J(k1,N);endfor k=3:N0DET=abs(J(k,N));if DET>=prIT2=IT2+1;endendICT2(a)=IT2;ICT1=ICT1+1;for k=1:ndy(k)=sqrt(e(k)^2+f(k)^2);endfor i=1:nDy(ICT1,i)=dy(i);endend%用高斯消去法解“w=-J*V”disp('迭代次数');disp(ICT1);disp('没有达到精度要求的个数'); disp(ICT2);for k=1:nV(k)=sqrt(e(k)^2+f(k)^2);shita(k)=atan(f(k)./e(k))*180/pi;E(k)=e(k)+f(k)*j;enddisp('各节点的实际电压标么值E为(节点号从小到大排列):'); disp(E);disp('各节点的电压大小V为(节点号从小到大排列):');disp(V);disp('各节点的电压相角时shita为(节点号从小到大排列):'); disp(shita);for 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);enddisp('各节点的功率S为(节点号从小到大排列):');disp(S);disp('各条支路的首端功率Si为(顺序同您输入B1时一样):'); 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))*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为(顺序同您输入B1时一样):');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('各条支路的功率损耗DS为(顺序同您输入B1时一样):' );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:ICT1Cs(i)=i;enddisp('以下是每次迭代后各节点的电压值(如图所示)');plot(Cs,Dy),xlabel('迭代次数'),ylabel('电压'),title('电压迭代次数曲线');运行结果如下所示:请输入节点数: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 0 0 2;0 2+1i 1 0 0 2;0 1.6+0.8i 1 0 0 2;5 0 1.05 1.05 0 3]请输入由节点号及其对地阻抗形成的矩阵:X=[1 0;2 0;3 0;4 0;5 0]导纳矩阵Y0 -33.3333i 0 +31.7460i 0 0 00 +31.7460i 1.5846 -35.7379i -0.8299 + 3.1120i -0.7547 + 2.6415i 00 -0.8299 + 3.1120i 1.4539 -66.9808i -0.6240 + 3.9002i 0 +63.4921i0 -0.7547 + 2.6415i -0.6240 + 3.9002i 1.3787 - 6.2917i 00 0 0 +63.4921i 0 0 -66.6667i迭代次数5没有达到精度要求的个数7 8 8 6 0各节点的实际电压标么值E为(节点号从小到大排列):1.0500 1.0335 - 0.0774i 1.0260 + 0.3305i 0.8592 - 0.0718i 0.9746 + 0.3907i各节点的电压大小V为(节点号从小到大排列):1.0500 1.0364 1.0779 0.8622 1.0500各节点的电压相角时shita为(节点号从小到大排列):0 -4.2819 17.8535 -4.7785 21.8433各节点的功率S为(节点号从小到大排列):2.5794 + 2.2994i -3.7000 - 1.3000i -2.0000 - 1.0000i -1.6000 - 0.8000i 5.0000 + 1.8131i各条支路的首端功率Si为(顺序同您输入B1时一样):2.5794 + 2.2994i-1.2774 + 0.2032i0.1568 + 0.4713i1.5845 + 0.6726i5.0000 + 1.8131i各条支路的末端功率Sj为(顺序同您输入B1时一样): -2.5794 - 1.9745i1.4155 - 0.2443i-0.1338 - 0.3909i-1.4662 - 0.4091i-5.0000 - 1.4282i各条支路的功率损耗DS为(顺序同您输入B1时一样): -0.0000 + 0.3249i0.1381 - 0.0412i0.0230 + 0.0804i0.1184 + 0.2635i0.0000 + 0.3849i本程序符号说明(1)clc,clear清屏,清除以前显示结果;(2)disp 显示待输出的内容,如disp('节点总数为:'),显示:节点总数为:;(3)for,end;循环语句,用于要循环的地方;(4)/ 正除;\ 反除;(5)sum 求和;(6)conj 复数求共轭;(7)% 注释(8):自然数循环如1:5以下是每次迭代后各节点的电压值(如图1所示):图1 每次迭代后各节点的电压值。

相关主题