电力系统分析大作业院系:信息与控制工程学院班级:电气12-04班学号:12053429学生姓名:指导教师:陈继明日期:2015年06月18日要求计算所给系统的潮流,设发电机G1的端电压为1p.u.,发出的有功、无功可调;发电机G2的端电压为1p.u.,按指定的有功P=0.5p.u.发电,取ε=10-4。SB=100MVA,UB=Uav。G1G21:1.05220.025+j0.08L10.03+j0.10.18+j0.121j0.19051:1.0522j0.19050.02+j0.06j0.05j0.05j0.050.8055+j0.532032451.牛顿-拉夫逊原理牛顿迭代法是取x0之后,在这个基础上,找到比x0更接近的方程的跟,一步一步迭代,从而找到更接近方程根的近似跟。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x)=0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。电力系统潮流计算,一般来说,各个母线所供负荷的功率是已知的,各个节点电压是未知的(平衡节点外)可以根据网络结构形成节点导纳矩阵,然后由节点导纳矩阵列写功率方程,由于功率方程里功率是已知的,电压的幅值和相角是未知的,这样潮流计算的问题就转化为求解非线性方程组的问题了。为了便于用迭代法解方程组,需要将上述功率方程改写成功率平衡方程,并对功率平衡方程求偏导,得出对应的雅可比矩阵,给未知节点赋电压初值,一般为额定电压,将初值带入功率平衡方程,得到功率不平衡量,这样由功率不平衡量、雅可比矩阵、节点电压不平衡量(未知的)构成了误差方程,解误差方程,得到节点电压不平衡量,节点电压加上节点电压不平衡量构成新的节点电压初值,将新的初值带入原来的功率平衡方程,并重新形成雅可比矩阵,然后计算新的电压不平衡量,这样不断迭代,不断修正,一般迭代三到五次就能收敛。牛顿—拉夫逊迭代法的一般步骤:一、形成各节点导纳矩阵Y。二、设个节点电压的初始值U和相角初始值e还有迭代次数初值为0。三、计算各个节点的功率不平衡量。四、根据收敛条件判断是否满足,若不满足则向下进行。五、计算雅可比矩阵中的各元素。六、修正方程式个节点电压七、利用新值自第(3)步开始进入下一次迭代,直至达到精度退出循环。八、计算平衡节点输出功率和各线2.MATLAB编程应用Matlab是“MatrixLaboratory”的缩写,主要包括:一般数值分析,矩阵运算、数字信号处理、建模、系统控制、优化和图形显示等应用程序。由于使用Matlab编程运算与人进行科学计算的思路和表达方式完全一致,所以不像学习高级语言那样难于掌握,而且编程效率和计算效率极高,还可在计算机上直接输出结果和精美的图形拷贝,所以它的确为一高效的科研助手。3.设计流程图对PQ节点计算)()(.kikiQP(对PV节点计算)(kiU)105,QPKK计算雅可比矩阵各元素Hij(k)、Nij(k)、Jij(k)、Lij(k)解修正方程,由)()(.kikiQP及雅可比矩阵用牛顿-拉夫逊法求各节点的∆ei(k)、∆Ui(k)/Ui计算节点的新电压)()()1(kikikieee)()()1(kikikiUUU增加迭代次数count=count+1令迭代次数count=0计算平衡节点的功率及线路功率输出是否形成节点导纳矩阵Y设非平衡节点电压初值)0(iU、e;)0(i输入原始数据启动4.N-R迭代程序代码cleardisp('电力系统混合坐标下的牛顿-拉夫逊法潮流计算:');n0=input('请输入结点数:n0=');n1=input('请输入PQ结点数:n1=');n2=input('请输入PV结点数:n2=');isb=input('请输入平衡结点编号:isb=');pr=input('请输入给定精度:pr=');K=input('请输入变比矩阵:K=');%针对节点间存在变压器的情况Zb=input('请输入初步的支路阻抗矩阵:Zb=');Yb=input('请输入初步的支路导纳矩阵:Yb=');U=input('请输入设置了迭代初始值的结点电压矩阵:U=');S=input('请输入设置了迭代初始值的结点输出功率:S=');Y=zeros(n0,n0);flag=zeros(n0,n0);%计算整个系统的阻抗矩阵和导纳矩阵form=1:n0forn=1:n0ifZb(m,n)~=0&&flag(n,m)~=1ifK(m,n)~=0Y(m,m)=Y(m,m)+1/(K(m,n)^2*Zb(m,n)/(1-K(m,n)))+1/(Zb(m,n)*K(m,n));Y(m,n)=-1/(Zb(m,n)*K(m,n));Y(n,n)=1/(K(m,n)*Zb(m,n)/(K(m,n)-1))+1/(Zb(m,n)*K(m,n));Y(n,m)=Y(m,n);Zb(m,n)=Zb(m,n)*K(m,n);%将Zb补充完整,用于计算各支路功率及功率损耗Zb(n,m)=Zb(m,n);%将Zb补充完整,用于计算各支路功率及功率损耗Yb(m,n)=1/(K(m,n)^2*(Zb(m,n)/K(m,n))/(1-K(m,n)));%将Yb补充完整,用于计算各支路功率及功率损耗;Yb(n,m)=1/(K(m,n)*(Zb(m,n)/K(m,n))/(K(m,n)-1));%将Yb补充完整,用于计算各支路功率及功率损耗flag(m,n)=1;else%其他节点的自导纳和互导纳Y(m,m)=Y(m,m)+1/Zb(m,n)+Yb(m,n);Y(m,n)=-1/Zb(m,n);Y(n,m)=Y(m,n);endendendenddisp('结点导纳矩阵:Y=');disp(Y);G=real(Y);B=imag(Y);O=angle(U);U1=abs(U);k=0;PR=1;P=real(S);Q=imag(S);Pi=zeros(1,n0);Pi1=zeros(1,n1+n2);PP=zeros(1,n1+n2);PP1=zeros();Qi=zeros(1,n0);Qi1=zeros(1,n1+n2);QQ=zeros(1,n1);QQ1=zeros();H=zeros(n1+n2,n1+n2);N=zeros(n1+n2,n1);J=zeros(n1,n1+n2);L=zeros(n1,n1);OO=zeros(1,n1);UU1=zeros(1,n1);o=zeros();u=zeros();UD=zeros(1,n1);whilePRpr%比较是否达到给定精度,确定迭代是否继续form=1:n1+n2forn=1:n0Pi(n)=U1(m)*U1(n)*(G(m,n)*cos(O(m)-O(n))+B(m,n)*sin(O(m)-O(n)));endPi1(m)=sum(Pi);PP(m)=P(m)-Pi1(m);PP1(k+1,m)=PP(m);endform=1:n1forn=1:n0Qi(n)=U1(m)*U1(n)*(G(m,n)*sin(O(m)-O(n))-B(m,n)*cos(O(m)-O(n)));endQi1(m)=sum(Qi);QQ(m)=Q(m)-Qi1(m);QQ1(k+1,m)=QQ(m);endPR1=max(abs(PP));PR2=max(abs(QQ));PR=max(PR1,PR2);form=1:n1+n2forn=1:n1+n2ifm==nH(m,m)=U1(m)^2*B(m,m)+Qi1(m);elseH(m,n)=-U1(m)*U1(n)*(G(m,n)*sin(O(m)-O(n))-B(m,n)*cos(O(m)-O(n)));endendendform=1:n1+n2forn=1:n1ifm==nN(m,m)=-U1(m)^2*G(m,m)-Pi1(m);elseN(m,n)=-U1(m)*U1(n)*(G(m,n)*cos(O(m)-O(n))+B(m,n)*sin(O(m)-O(n)));endendendform=1:n1forn=1:n1+n2ifm==nJ(m,m)=U1(m)^2*G(m,m)-Pi1(m);elseJ(m,n)=U1(m)*U1(n)*(G(m,n)*cos(O(m)-O(n))+B(m,n)*sin(O(m)-O(n)));endendendform=1:n1forn=1:n1ifm==nL(m,m)=U1(m)^2*B(m,m)-Qi1(m);elseL(m,n)=-U1(m)*U1(n)*(G(m,n)*sin(O(m)-O(n))-B(m,n)*cos(O(m)-O(n)));endendenddisp('此次迭代的雅克比矩阵:');JJ=[HN;JL];disp(JJ);PQ=[PP';QQ'];DA=-inv(JJ)*PQ;DA1=DA';form=1:n1+n2OO(m)=DA1(m);endform=n0:n1+n2+n1UU1(m-n1-n2)=DA1(m);endform=1:n1UD(m)=U1(m);endUD2=diag(UD);UU=UU1*UD2;form=1:n1+n2O(m)=O(m)+OO(m);endform=1:n1U1(m)=U1(m)+UU(m);endform=1:n1+n2o(k+1,m)=180/pi*O(m);endform=1:n1u(k+1,m)=U1(m);endk=k+1;%迭代次数加一,准备下一次迭代endb=zeros(1,n0);c=zeros(1,n0);SS=zeros(n0,n0);I=zeros(n0,n0);form=1:n0b(m)=U1(m)*cos(O(m));c(m)=U1(m)*sin(O(m));endU=b+1i*c;NP=zeros(1,n0);NodePower=zeros(1,n0);form=1:n0forn=1:n0NP(n)=U(m)*conj(Y(m,n))*conj(U(n));endNodePower(1,m)=sum(NP);endform=1:n0forn=1:n0ifZb(m,n)~=0SS(m,n)=U1(m)^2*conj(Yb(m,n))+U(m)*conj(U(m)-U(n))*conj(1/Zb(m,n));I(m,n)=abs(SS(m,n)/conj(U(m)));endendendSL=zeros(n0,n0);flag1=zeros(n0,n0);SL1=0;form=1:n0forn=1:n0ifZb(m,n)~=0&&flag1(n,m)~=1SL(m,n)=SS(m,n)+SS(n,m);flag1(m,n)=1;SL1=SL1+sum(SL(m,n));endendenddisp('迭代结果显示如下:');disp('迭代总次数为:');disp(k);disp('各次迭代的有功失配功率△P:');disp(PP1);disp('各次迭代的无功失配功率△Q:');disp(QQ1);disp('各次迭代的PQ和PV节点电压相角:');disp(o);disp('各次迭代的PQ节点电压幅值:');disp(u);disp('迭代收敛后各节点的功率:');disp(NodePower);disp('迭代收敛后各支路的功率损耗:');disp(sparse(SS));disp('迭代收敛后各支路的电流:');disp(sparse(I));disp('迭代收敛后各支路的功率损耗:');disp(sparse(SL));disp('迭代收敛后全系统的功率损耗:');disp(SL1);运行结果电力系统混合坐标下的牛顿-拉夫逊法潮流计算:请输入结点数:n0=5请输入PQ结点数:n1=3请输入PV结点数:n2=1请输入平衡结点编号:isb=5请输入给定精度:pr=0.0001请输入变比矩阵:K=[00000;0001.05220;00001.0522;00000;00000]请输入初步