基于matlab实现高斯-赛德尔潮流计算课程:姓名:学号:老师:2012年12月3日电力系统稳态分析摘要潮流计算就是要通过数值仿真的方法把电力系统的详细运行状态呈现给运行和工作人员,以便研究系统在给定条件下的稳定运行特点。潮流计算时电力系统分析中最基本、最重要的计算,是电力系统运行、规划以及安全性、可靠性分析和优化的基础,也是各种电磁暂态和机电暂态分析的基础和出发点。20世纪50年代中期,随着电子计算机的发展,人们开始在计算机上用数学模拟的方法进行潮流计算。最初在计算机上实现的潮流计算方法是以导纳矩阵为基础的高斯迭代法(Gauss法)。这种方法内存需求小,但收敛性差。牛顿-拉夫逊方法是解非线性代数方程组的一种基本方法,在潮流计算中也得到了应用。20世纪60年代中后期,系数矩阵技术和编号优化技术的提出使牛顿-拉夫逊的解题规模和计算效率进一步提高,至今仍是潮流计算中的广泛采用的优秀算法。20世纪70年代中期,Stott在大量计算实践的基础上提出了潮流计算的快速分解法,是潮流计算的速度大大提高,可以应用于在线,但是直至20世纪80年代末期才对快速分解法潮流的收敛性给出了比较满意的解释。由于潮流计算在电力系统中的特殊地位和作用,对其计算方法有如下较高的要求:(1)要有可靠的收敛性,对不同的系统及不同的运行条件都能收敛;(2)占用内存小、计算速度快;(3)调整和修改容易,使用灵活方便。报告利用matlab软件,编程实现书中例题7.1的潮流计算仿真,采用高斯-赛德尔迭代法。报告的内容主要包括:(1)高斯-赛德尔迭代法的原理及数学模型;(2)网络节点导纳矩阵的计算;(3)程序设计;(4)运行结果及分析。正文1、以高斯迭代法为基础的潮流计算方法1.1高斯迭代法对于N个节点的电力网络(地作为参考节点不包括在内),如果网络结构和元件参数已知,则网络方程可表示为YVI(7-1)式中,Y为NN阶节点导纳矩阵;V为1N维节点电压例矢量;I为1N维节点注入电流矢量。如果不计网络元件的非线性,也不考虑移相变压器,则Y为对称矩阵。考察基于节点导纳矩阵的高斯迭代法。在网络方程(7-1)中,将平衡点s排在最后,并将导纳矩阵写成分块的形式,取出前n个方程有nnssnYVYVI(7-2)平衡节点s的电压sV给定,n个节点的注入电流矢量nI已知,则有nnnssYVIYV(7-3)实际电力系统给定量是n个节点的注入功率。注入电流和注入功率之间的关系是iiiSIV(7-4)写成矢量形式为[/]niiISV(7-5)再把nY写成对角线矩阵D和严格上三角矩阵U以及严格下三角矩阵L的和,即令nYLDU(7-6)将式(7-6)代入式(7-3)中,经整理后有1()nnssnnVDIYVLVUV(7-7)考虑到电流和功率的关系式,上式写成迭代格式为1(1)()()()111{}inkkkiiissijjijjkjjiiiiSVYVYVYVYV1,2,,in(7-8)给定(0)iV,1,2,,in,代入上式可求得电压新值,逐次迭代直到前后两次迭代求得的电压值的差小于某一精度为止。这是高斯迭代法的基本结算步骤。1.2高斯-赛德尔迭代法式(7-8),每次迭代要从1扫描到节点n。在计算(1)kiV时,(1)kjV,1,2,,1ji已经求出,若迭代是一个收敛过程,它们应比()kjV,1,2,,1ji更接近于真值。所以,用(1)kjV代替()kjV可以得到更好的收敛效果。这就是高斯-赛德尔(Gauss-Seidel)迭代的基本思想,即一旦求出电压新值,在最后的迭代中立即使用。这种方法的迭代公式是1(1)(1)()()111{}inkkkiiissijjijjkjjiiiiSVYVYVYVYV1,2,,in(7-9)高斯-赛德尔法比高斯迭代法的收敛性要好。对于形如()0fx(7-10)的非线性方程组,总可以写成()xx(7-11)的形式,于是,有如下的迭代公式:(0)0(1)(){()kkxxxx(7-12)求解式(7-12)有两种方法,即高斯法和高斯-赛德尔法。高斯-赛德尔法的迭代公式是1(1)(1)(1)()()121(,,,,,,)kkkkkkiiinxxxxxx,1,2,,in(7-13)即刚刚计算出的x值在下次迭代中被立即应用。当(1)()max(||,1,2,,)kkiixxin时,迭代收敛。2、网络节点导纳矩阵如图(1)所示的一个三母线电力系统,在母线①和母线③之间的输电线的②①③图(1)三母线电力系统母线③端连接着一个纵向串联加压器,可在同一电压等级改变电压幅值。该系统的网络元件用图(2)所示的等值电路表示,串联之路用电阻和电抗表示,并联②③0.01+j0.22*j0.011:1.050.01+j0.10.02+j0.22*j0.02①图(2)等值电路支路用电纳表示。之路(1,3)用一个变比可调的等值变压器之路表示,非标准变比t=1.05,在节点①侧。首先对之路编号并规定串联之路的正方向如图(3)所示,则可得到广义节3210.49505-j4.9505(3)(1)(2)(4)(5)(6)0.9901-j9.90100.2494-j4.9875j0.02j0.03j0.01图(3)广义节点支路点支路关联矩阵A。A中行与节点对应,列与之路对应。之路导纳为对角矩阵y,其对角元素为之路导纳分别为:121323102030,,,,,yyyyyy(即为各支路阻抗的倒数)。节点导纳矩阵计算如下:TYAyA(7-14)3、程序设计报告基于matlab软件编程实现上述电力系统潮流计算,采用高斯-赛德尔迭代法。程序流程图如下所示:开始输入原始数据(节点个数N、节点之路关联矩阵y)形成节点导纳矩阵Y给定节点注入功率S、节点电压初值V0、平衡节点电压Vs给定判断迭代结束值e,1(1)(1)()()111{}inkkkiiissijjijjkjjiiiiSVYVYVYVYV(1)(0)kiiVV()(1)kkiiVVee结果输出(迭代次数,迭代过程)结束(1)()max{}kkiieVVYNY或N图(4)高斯-赛德尔程序流程图程序如下:clear;N=input('请输入节点个数:N=');A=input('请输入广义节点支路关联矩阵:A=\n');AY1=input('请输入各支路导纳:\n');n=2*N;YY=zeros(n);fori=1:(n*n)m=floor(i/n);if(i==(n*m+m+1))YY(i)=Y1(m+1);endYY(n*n)=Y1(n);endB=A*YY;disp('导纳矩阵为:');Y=B*(A.')%形成导纳矩阵DD=diag(Y);D=zeros(N);fori=1:N*Nm=floor(i/N);if(i==(m*N+m+1))D(i)=DD(m+1);endD(N*N)=DD(N);%严格对角矩阵DendL=tril(Y)-D;%严格下三角矩阵LU=triu(Y)-D;%严格上三角矩阵ULL=zeros(N-1);%考虑第N个节点为平衡节点,对L,D,U进行处理DD=zeros(N-1);UU=zeros(N-1);LL=L(1:(N-1),1:(N-1));DD=D(1:(N-1),1:(N-1));UU=U(1:(N-1),1:(N-1));%取矩阵n-1*n-1S=input('请输入节点1到节点n-1的注入功率S=\n');V0=input('请给定节点电压初值V0=\n');Vs=input('请输入平衡节点N的电压Vs=\n');ee=input('请输入收敛判断值:e=\n');Vk=zeros(N-1,1);Vk1=zeros(N-1,1);Vk1=V0;D1=inv(DD);Ys=Y(N,1:N-1);Ys0=(Ys*Vs).';k=1;V1(1,1:2)=(V0);%记录每次迭代过程中各节点电压值V2(1,1)=0;jj=1;while(jj==1)%循环计算k=k+1;Vk=Vk1;I=(S')./(Vk');Lk1=(LL)*(Vk1.');Uk=(UU)*(Vk.');Vk11=D1*(I-Ys0-Lk1-Uk);%根据高斯-赛德尔迭代法Vk1=Vk11.';eVk1=Vk11-(Vk.');eee=max(eVk1);eeee=sqrt((real(eee))^2+(imag(eee))^2);V1(k,1:2)=(Vk1);V2(k,1)=eeee;V=[V1,V2];ifeeeeee%判断误差值是否满足条件jj=0;%若满足条件,设置标志位,停止迭代endendfprintf('迭代次数%d\n',(k-1));%输出结果disp('整个迭代过程如下:');disp('V1(k)V2(k)max(V(k+1)-V(k))');disp(V);四、运行结果与分析4.1运行结果如下:请输入节点个数:N=3请输入广义节点支路关联矩阵:A=[-1,-1/1.05,0,1,0,0;1,0,-1,0,1,0;0,1,1,0,0,1]A=-1.0000-0.952401.0000001.00000-1.000001.0000001.00001.0000001.0000请输入各支路导纳:[0.2494-4.9875*j,0.9901-9.9010*j,0.4905-4.9505*j,0.01*j,0.03*j,0.02*j]导纳矩阵为:Y=1.1474-13.9580i-0.2494+4.9875i-0.9430+9.4295i-0.2494+4.9875i0.7399-9.9080i-0.4905+4.9505i-0.9430+9.4295i-0.4905+4.9505i1.4806-14.8315i请输入节点1到节点n-1的注入功率S=[-3.0+1.7*j,0.7+0.415*j]请给定节点电压初值V0=[2.0,2.0]请输入平衡节点N的电压Vs=1.5请输入收敛判断值:e=0.0001迭代次数11整个迭代过程如下:V1(k)V2(k)max(V(k+1)-V(k))2.00002.000001.7793-0.1167i1.7792+0.0271i0.24961.6989-0.1216i1.6692-0.0243i0.12141.6606-0.1450i1.6316-0.0241i0.04491.6462-0.1483i1.6128-0.0345i0.02151.6394-0.1531i1.6061-0.0356i0.00831.6367-0.1541i1.6028-0.0378i0.00401.6355-0.1551i1.6015-0.0383i0.00161.6350-0.1554i1.6009-0.0387i0.00081.6347-0.1556i1.6007-0.0389i0.00031.6346-0.1557i1.6006-0.0390i0.00011.6346-0.1557i1.6006-0.0390i0.00014.2结果分析由以上结果可见,潮流计算经过11次迭代后结束。迭代过程数据矩阵行向量从上至下分别为:第1到第11次迭代结束时,节点①和节点②的电压。最后一例为第i次和第i-1次①节点和②节点电压的差值最大值,与给定值e比较,判断是否结束。给定值e=0.0001,10次迭代后节点①和节点②电压稳定在一个给定值。