基于matlab实现高斯赛德尔迭代潮流计算

上传人:小** 文档编号:68314396 上传时间:2019-01-10 格式:PDF 页数:11 大小:387.17KB
返回 下载 相关 举报
基于matlab实现高斯赛德尔迭代潮流计算_第1页
第1页 / 共11页
基于matlab实现高斯赛德尔迭代潮流计算_第2页
第2页 / 共11页
基于matlab实现高斯赛德尔迭代潮流计算_第3页
第3页 / 共11页
基于matlab实现高斯赛德尔迭代潮流计算_第4页
第4页 / 共11页
基于matlab实现高斯赛德尔迭代潮流计算_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《基于matlab实现高斯赛德尔迭代潮流计算》由会员分享,可在线阅读,更多相关《基于matlab实现高斯赛德尔迭代潮流计算(11页珍藏版)》请在金锄头文库上搜索。

1、 基于 matlab 实现高斯-赛德尔潮流计算 课 程: 姓 名: 学 号: 老 师: 2012 年 12 月 3 日 电力系统稳态分析 摘要 潮流计算就是要通过数值仿真的方法把电力系统的详细运行状态呈现给运 行和工作人员,以便研究系统在给定条件下的稳定运行特点。潮流计算时电力系 统分析中最基本、最重要的计算,是电力系统运行、规划以及安全性、可靠性分 析和优化的基础,也是各种电磁暂态和机电暂态分析的基础和出发点。 20 世纪 50 年代中期,随着电子计算机的发展,人们开始在计算机上用数学 模拟的方法进行潮流计算。 最初在计算机上实现的潮流计算方法是以导纳矩阵为 基础的高斯迭代法(Gauss 法

2、) 。这种方法内存需求小,但收敛性差。牛顿-拉夫 逊方法是解非线性代数方程组的一种基本方法,在潮流计算中也得到了应用。20 世纪 60 年代中后期, 系数矩阵技术和编号优化技术的提出使牛顿-拉夫逊的解题 规模和计算效率进一步提高,至今仍是潮流计算中的广泛采用的优秀算法。20 世纪 70 年代中期,Stott 在大量计算实践的基础上提出了潮流计算的快速分解 法,是潮流计算的速度大大提高,可以应用于在线,但是直至 20 世纪 80 年代末 期才对快速分解法潮流的收敛性给出了比较满意的解释。 由于潮流计算在电力系统中的特殊地位和作用, 对其计算方法有如下较高的 要求: (1)要有可靠的收敛性,对不同

3、的系统及不同的运行条件都能收敛; (2)占用内存小、计算速度快; (3)调整和修改容易,使用灵活方便。 报告利用 matlab 软件,编程实现书中例题 7.1 的潮流计算仿真,采用高斯- 赛德尔迭代法。报告的内容主要包括: (1)高斯-赛德尔迭代法的原理及数学模型; (2)网络节点导纳矩阵的计算; (3)程序设计; (4)运行结果及分析。 正文 1 1、以高斯迭代法为基础的潮流计算方法以高斯迭代法为基础的潮流计算方法 1.1 高斯迭代法 对于 N 个节点的电力网络(地作为参考节点不包括在内) ,如果网络结构和 元件参数已知,则网络方程可表示为 YVI (7-1) 式中,Y为NN阶节点导纳矩阵;

4、V 为1N维节点电压例矢量;I 为1N 维节点注入电流矢量。如果不计网络元件的非线性,也不考虑移相变压器,则Y 为对称矩阵。 考察基于节点导纳矩阵的高斯迭代法。在网络方程(7-1)中,将平衡点 s 排在最后,并将导纳矩阵写成分块的形式,取出前 n 个方程有 nnssn Y VY VI (7-2) 平衡节点 s 的电压 s V 给定,n 个节点的注入电流矢量 n I 已知,则有 nnnss Y VIY V (7-3) 实际电力系统给定量是 n 个节点的注入功率。 注入电流和注入功率之间的关 系是 i i i S I V (7-4) 写成矢量形式为 / nii ISV (7-5) 再把 n Y写成

5、对角线矩阵 D 和严格上三角矩阵 U 以及严格下三角矩阵 L 的和, 即令 n YLD U (7-6) 将式(7-6)代入式(7-3)中,经整理后有 1( ) nnssnn VDIY VLVUV (7-7) 考虑到电流和功率的关系式,上式写成迭代格式为 1 (1)( )( ) ( )11 1 in kkk i iissijjijj kjj i ii i S VY VY VY V Y V 1,2,in (7-8) 给定 (0) i V ,1,2,in,代入上式可求得电压新值,逐次迭代直到前后两次 迭代求得的电压值的差小于某一精度为止。这是高斯迭代法的基本结算步骤。 1.2 高斯-赛德尔迭代法 式

6、(7-8) ,每次迭代要从 1 扫描到节点 n。在计算 (1)k i V 时, (1)k j V , 1,2,1ji已经求出, 若迭代是一个收敛过程, 它们应比 ( )k j V ,1,2,1ji 更接近于真值。所以,用 (1)k j V 代替 ( )k j V 可以得到更好的收敛效果。这就是高斯- 赛德尔(Gauss-Seidel)迭代的基本思想,即一旦求出电压新值,在最后的迭代 中立即使用。这种方法的迭代公式是 1 (1)(1)( ) ( )11 1 in kkk i iissijjijj kjj i ii i S VY VY VY V Y V 1,2,in (7-9) 高斯-赛德尔法比高

7、斯迭代法的收敛性要好。 对于形如 ( )0f x (7-10) 的非线性方程组,总可以写成 ( )xx (7-11) 的形式,于是,有如下的迭代公式: (0) 0 (1)( ) () kk xx xx (7-12) 求解式(7-12)有两种方法,即高斯法和高斯-赛德尔法。高斯-赛德尔法的 迭代公式是 1(1)(1)(1)( )( ) 121 (,) kkkkkk iiin xxxxxx ,1,2,in (7-13) 即 刚 刚 计 算 出 的x值 在 下 次 迭 代 中 被 立 即 应 用 。 当 (1)( ) max(|,1,2, ) kk ii xxin 时,迭代收敛。 2 2、网络节点导

8、纳矩阵网络节点导纳矩阵 如图(1)所示的一个三母线电力系统,在母线和母线之间的输电线的 图(1) 三母线电力系统 母线端连接着一个纵向串联加压器,可在同一电压等级改变电压幅值。该系统 的网络元件用图(2)所示的等值电路表示,串联之路用电阻和电抗表示,并联 0.01+j0.2 2*j0.01 1:1.05 0.01+j0.1 0.02+j0.2 2*j0.02 图(2) 等值电路 支路用电纳表示。之路(1,3)用一个变比可调的等值变压器之路表示,非标准 变比 t=1.05,在节点侧。 首先对之路编号并规定串联之路的正方向如图(3)所示,则可得到广义节 32 1 0.49505-j4.9505 (

9、3) (1) (2) (4) (5) (6) 0.9901-j9.9010 0.2494-j4.9875 j0.02 j0.03 j0.01 图(3) 广义节点支路 点支路关联矩阵 A。A 中行与节点对应,列与之路对应。之路导纳为对角矩阵 y ,其对角元素为之路导纳分别为: 121323102030 ,yyyyyy(即为各支路阻抗的倒 数) 。节点导纳矩阵计算如下: T YAyA (7-14) 3 3、程序设计程序设计 报告基于 matlab 软件编程实现上述电力系统潮流计算, 采用高斯-赛德尔迭 代法。程序流程图如下所示: 开始 输入原始数据(节 点个数N、节点之 路关联矩阵y) 形成节点导

10、 纳矩阵Y 给定节点注入功率S、 节点电压初值V0、平 衡节点电压Vs 给定判断迭代结束值e, 1 (1)(1)( ) ( )11 1 in kkk i iissijjijj kjj i ii i S VY VY VY V Y V (1)(0)k ii VV ( )(1)kk ii VV ee 结果输出(迭代次 数,迭代过程) 结束 (1)( ) max kk ii eVV Y N Y或N 图(4) 高斯-赛德尔程序流程图 程序如下: clear; N=input(请输入节点个数:N= ); A=input(请输入广义节点支路关联矩阵:A=n); A Y1=input(请输入各支路导纳:n);

11、 n=2*N; YY=zeros(n); for i=1:(n*n) m=floor(i/n); if(i=(n*m+m+1) YY(i)=Y1(m+1); end YY(n*n)=Y1(n); end B=A*YY; disp(导纳矩阵为: ); Y=B*(A.) %形成导纳矩阵 DD=diag(Y); D=zeros(N); for i=1:N*N m=floor(i/N); if(i=(m*N+m+1) D(i)=DD(m+1); end D(N*N)=DD(N); %严格对角矩阵 D end L=tril(Y)-D; %严格下三角矩阵 L U=triu(Y)-D; %严格上三角矩阵 U

12、 LL=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-1 S=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,

13、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); V

14、1(k,1:2)=(Vk1); V2(k,1)=eeee; V=V1,V2; if eeeeee %判断误差值是否满足条件 jj=0; %若满足条件,设置标志位,停止迭代 end end fprintf(迭代次数 %dn,(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.9524 0 1.0000 0 0 1.0000 0 -1.0000 0 1.0000 0 0 1.0000 1.0000 0 0 1.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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号