电力系统分析上机实验院系:电气工程学院班级:电气F1303班学号:201323010420学生姓名:李尚澄一、电力系统潮流计算一、实验的目的与要求目的:培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识要求:基本要求:1.编写潮流计算程序;2.在计算机上调试通过;3.运行程序并计算出正确结果;4.写出实验报告二、实验步骤:1.根据给定的参数或工程具体要求(如图),收集和查阅资料;学习相关软件(软件自选:本实验选择Matlab进行实验)。2.运用计算机进行潮流计算。3.编写实验说明书。三、实验原理1.牛顿-拉夫逊原理牛顿迭代法是取x0之后,在这个基础上,找到比x0更接近的方程的跟,一步一步迭代,从而找到更接近方程根的近似跟。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x)=0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。电力系统潮流计算,一般来说,各个母线所供负荷的功率是已知的,各个节点电压是未知的(平衡节点外)可以根据网络结构形成节点导纳矩阵,然后由节点导纳矩阵列写功率方程,由于功率方程里功率是已知的,电压的幅值和相角是未知的,这样潮流计算的问题就转化为求解非线性方程组的问题了。为了便于用迭代法解方程组,需要将上述功率方程改写成功率平衡方程,并对功率平衡方程求偏导,得出对应的雅可比矩阵,给未知节点赋电压初值,一般为额定电压,将初值带入功率平衡方程,得到功率不平衡量,这样由功率不平衡量、雅可比矩阵、节点电压不平衡量(未知的)构成了误差方程,解误差方程,得到节点电压不平衡量,节点电压加上节点电压不平衡量构成新的节点电压初值,将新的初值带入原来的功率平衡方程,并重新形成雅可比矩阵,然后计算新的电压不平衡量,这样不断迭代,不断修正,一般迭代三到五次就能收敛。牛顿—拉夫逊迭代法的一般步骤:(1)形成各节点导纳矩阵Y。(2)设个节点电压的初始值U和相角初始值e还有迭代次数初值为0。(3)计算各个节点的功率不平衡量。(4)根据收敛条件判断是否满足,若不满足则向下进行。(5)计算雅可比矩阵中的各元素。(6)修正方程式个节点电压(7)利用新值自第(3)步开始进入下一次迭代,直至达到精度退出循环。(8)计算平衡节点输出功率和各线路功率2.网络节点的优化1)静态地按最少出线支路数编号这种方法由称为静态优化法。在编号以前。首先统计电力网络个节点的出线支路数,然后,按出线支路数有少到多的节点顺序编号。当由n个节点的出线支路相同时,则可以按任意次序对这n个节点进行编号。这种编号方法的根据是导纳矩阵中,出线支路数最少的节点所对应的行中非零元素也2)动态地按增加出线支路数最少编号在上述的方法中,各节点的出线支路数是按原始网络统计出来的,在编号过程中认为固定不变的,事实上,在节点消去过程中,每消去一个节点以后,与该节点相连的各节点的出线支路数将发生变化(增加,减少或保持不变)。因此,如果每消去一个节点后,立即修正尚未编号节点的出线支路数,然后选其中支路数最少的一个节点进行编号,就可以预期得到更好的效果,动态按最少出线支路数编号方法的特点就是按出线最少原则编号时考虑了消去过程中各节点出线支路数目的变动情况。3.MATLAB编程应用Matlab是“MatrixLaboratory”的缩写,主要包括:一般数值分析,矩阵运算、数字信号处理、建模、系统控制、优化和图形显示等应用程序。由于使用Matlab编程运算与人进行科学计算的思路和表达方式完全一致,所以不像学习高级语言那样难于掌握,而且编程效率和计算效率极高,还可在计算机上直接输出结果和精美的图形拷贝,所以它的确为一高效的科研助手。四、实验内容1、程序%本程序的功能是用牛顿——拉夫逊法进行潮流计算%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;n=10;%input('请输入节点数:n=');nl=10;%input('请输入支路数:nl=');isb=1;%input('请输入平衡母线节点号:isb=');pr=0.00001;%input('请输入误差精度:pr=');B1=[120.03512+0.08306i0.13455i10;230.0068+0.18375i01.023811;140.05620+0.13289i0.05382i10;450.00811+0.24549i01.023811;160.05620+0.13289i0.05382i10;460.04215+0.09967i0.04037i10;670.0068+0.18375i01.023811;680.02810+0.06645i0.10764i10;8100.00811+0.24549i011;890.03512+0.08306i0.13455i10]B2=[001.11.101;001002;00.343+0.21256i1002;001002;00.204+0.12638i1002;001002;00.306+0.18962i1002;001002;0.501.11.103;00.343+0.21256i1002];%input('请输入各节点参数形成的矩阵:B2=');Y=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);sida=zeros(1,n);S1=zeros(nl);%%%---------------------------------------------------fori=1:nl%支路数ifB1(i,6)==0%左节点处于1侧p=B1(i,1);q=B1(i,2);else%左节点处于K侧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;%对角元K侧Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2;%对角元1侧end%求导纳矩阵disp('导纳矩阵Y=');disp(Y)%----------------------------------------------------------G=real(Y);B=imag(Y);%分解出导纳阵的实部和虚部fori=1:n%给定各节点初始电压的实部和虚部e(i)=real(B2(i,3));f(i)=imag(B2(i,3));V(i)=B2(i,4);%PV节点电压给定模值endfori=1:n%给定各节点注入功率S(i)=B2(i,1)-B2(i,2);%i节点注入功率SG-SLB(i,i)=B(i,i)+B2(i,5);%i节点无功补偿量end%===================================================================P=real(S);Q=imag(S);%分解出各节点注入的有功和无功功率ICT1=0;IT2=1;N0=2*n;N=N0+1;a=0;%迭代次数ICT1、a;不满足收敛要求的节点数IT2whileIT2~=0%N0=2*n雅可比矩阵的阶数;N=N0+1扩展列IT2=0;a=a+1;fori=1:nifi~=isb%非平衡节点C(i)=0;D(i)=0;forj1=1:nC(i)=C(i)+G(i,j1)*e(j1)-B(i,j1)*f(j1);%Σ(Gij*ej-Bij*fj)D(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计算eiΣ(Gij*ej-Bij*fj)+fiΣ(Gij*fj+Bij*ej)Q1=C(i)*f(i)-e(i)*D(i);%节点功率Q计算fiΣ(Gij*ej-Bij*fj)-eiΣ(Gij*fj+Bij*ej)%求i节点有功和无功功率P',Q'的计算值V2=e(i)^2+f(i)^2;%电压模平方%=========以下针对非PV节点来求取功率差及Jacobi矩阵元素=========ifB2(i,6)~=3%非PV节点DP=P(i)-P1;%节点有功功率差DQ=Q(i)-Q1;%节点无功功率差%===============以上为除平衡节点外其它节点的功率计算=================%=================求取Jacobi矩阵===================forj1=1:nifj1~=isb&j1~=i%非平衡节点&非对角元X1=-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/dfX3=dQ/deX4=-X1;%X1=dP/deX4=dQ/dfp=2*i-1;q=2*j1-1;J(p,q)=X3;J(p,N)=DQ;m=p+1;%X3=dQ/deJ(p,N)=DQ节点无功功率差J(m,q)=X1;J(m,N)=DP;q=q+1;%X1=dP/deJ(m,N)=DP节点有功功率差J(p,q)=X4;J(m,q)=X2;%X4=dQ/dfX2=dp/dfelseifj1==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/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/dfp=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;%扩展列△PJ(m,q)=X2;endendelse%===============下面是针对PV节点来求取Jacobi矩阵的元素===========DP=P(i)-P1;%PV节点有功误差DV=V(i)^2-V2;%PV节点电压误差forj1=1:nifj1~=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;p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV;%PV节点电压误差m=p+1;J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;%PV节点有功误差J(m,q)=X2;elseifj1==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/dfX5=-2*e(i);X6=-2*f(i);p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV;%PV节点电压误差m=p+1;J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;%PV节点有功误差J(m,q)=X2;endendendendend%=========以上为求雅可比矩阵的各个元素及扩展列的功率差或电压差=====================fork=3:N0%N0=2*n(从第三行开始,第一、二行是平衡节点)k1=k+1;N1=N