《电力系统课程设计---潮流计算.doc》由会员分享,可在线阅读,更多相关《电力系统课程设计---潮流计算.doc(32页珍藏版)》请在三一办公上搜索。
1、精选优质文档-倾情为你奉上目 录一、 概述1.1 设计目的与要求.31.1.1 设计目的.31.1.2 设计要求.31.2 设计题目.31.3 设计内容.3二 电力系统潮流计算概述.42.1 电力系统简介.42.2 潮流计算简介.42.3 潮流计算的意义及其发展. .5三 潮流计算设计题目.63.1 潮流计算题目. 63.2 对课题的分析及求解思路. 7四 潮流计算算法及手工计算.74.1 极坐标下P-Q法的算法.74.2 节点电压方程.84.3 节点导纳矩阵.94.4 导纳矩阵在潮流计算.104.5 潮流计算的手工计算.12五 Matlab概述.135.1 Matlab简介. 145.2 M
2、atlab的应用.145.3 矩阵的运算. 145.3.1 与常数的运算. 145.3.2 基本数学运算.145.3.3 逻辑关系运算.145.4 Matlab中的一些命令. 15六 潮流计算流程图及源程序.186.1 潮流计算流程图.186.2 潮流计算源程序图.196.3 运行计算结果.27七 总结.29八 参考文献.29第一章 系统概述1.1 设计目的与要求1.1.1 设计目的1.掌握电力系统潮流计算的基本原理;2.掌握并能熟练运用一门计算机语言(MATLAB语言或C语言或C+语言);3.采用计算机语言对潮流计算进行计算机编程。1.1.2 设计要求1. 程序源代码;2. 给定题目的输入,
3、输出文件;3. 程序说明;4. 给定系统的程序计算过程;5. 给定系统的手算过程(至少迭代2次)。1.1 设计题目电力系统潮流计算(牛顿-拉夫逊法、P-Q分解法)1.2 设计内容1. 根据电力系统网络推导电力网络数学模型,写出节点导纳矩阵;2. 赋予各节点电压变量(直角坐标系形式)初值后,求解不平衡量;3. 形成雅可比矩阵;4. 求解修正量后,重新修改初值,从2开始重新循环计算;5. 求解的电压变量达到所要求的精度时,再计算各支路功率分布、功率损耗和平衡节点功率;6. 上机编程调试;7. 计算分析给定系统潮流分析并与手工计算结果做比较分析;8. 书写课程设计说明书。第二章 电力系统潮流计算概述
4、2.1电力系统叙述 电力工业发展初期,电能是直接在用户附近的发电站(或称发电厂)中生产的,各发电站孤立运行。随着工农业生产和城市的发展,电能的需要量迅速增加,而热能资源和水能资源丰富的地区又往往远离用电比较集中的城市和工矿区,为了解决这个矛盾,就需要在动力资源丰富的地区建立大型发电站,然后将电能远距离输送给电力用户。同时,为了提高供电的可靠性以及资源利用的综合经济性,又把许多分散的各种形式的发电站,通过送电线路和变电所联系起来。这种由发电机、升压和降压变电所,送电线路以及用电设备有机连接起来的整体,即称为电力系统。现代电力系统提出了“灵活交流输电和新型直流输电”的概念。灵活交流输电技术是指运用
5、固态电子器件与现代自动控制技术对交流电网的电压、相位角、阻抗、功率以及电路的通断进行实时闭环控制,从而提高高压输电线路的诉讼能力和电力系统的稳态水平。新型直流输电技术是指应用现电力电子技术的最新成果,改善和简化变流站的造价等。运营方式管理中,潮流是确定电网运行方式的基本出发点:在规划领域,需要进行潮流分析验证规划方案的合理性;在实时运行环境,调度员潮流提供了电网在预想操作预想下的电网的潮流分布以及校验运行的可靠性。在电力系统调度运行的多个领域都涉及到电网潮流计算。潮流是确定电力网咯运行状态的基本因素,潮流问题是研究电力系统稳态问题的基础和前提。2.2潮流计算简介电力系统潮流计算是研究电力系统稳
6、态运行情况的一种计算,它根据给定的运行条件及系统接线情况确定整个电力系统各部分的运行状态:各母线的电压。各元件中流过的功率,系统的功率损耗等等。在电力系统规划的设计和现有电力系统运行方式的研究中,都需要利用潮流计算来定量的分析比较供电方案或运行方式的合理性。可靠性和经济性。此外,电力系统的潮流计算也是计算机系统动态稳定和静态稳定的基础,所以潮流计算是研究电力系统的一种和重要和基础的计算。电力系统潮流计算也分为离线计算和在线计算两种,前者主要用于系统规划设计和安排系统的运行方式,后者则用于正在运行系统的经常监视及实时控制。利用电子数字计算机进行潮流计算从50年代中期就已经开始了。在这20年内,潮
7、流计算曾采用了各种不同的方法,这些方法的发展主要围绕着对潮流计算的一些基本要求进行的,对潮流计算的要求可以归纳为以下几点:(1) 计算方法的可靠性或收敛性;(2) 对计算机内存量的要求;(3) 计算速度;(4) 计算的方便性和灵活性。2.3潮流计算的意义及其发展电力系统潮流计算是电力系统分析中的一种最基本的计算,是对复杂电力系统正常和故障条件下稳态运行状态的计算。潮流计算的目标是求取电力系统在给定运行状态的计算,即节点电压和功率分布,用以检查系统各元件是否过负荷。各点电压是否满足要求,功率的分布和分配是否合理以及功率损耗等。对现有的电力系统的运行和扩建,对新的电力系统进行规划设计以及对电力系统
8、进行静态和稳态分析都是以潮流计算为基础。潮流计算结果可用如电力系统稳态研究,安全估计或最优潮流等对潮流计算的模型和方法有直接影响。实际电力系统的潮流技术那主要采用牛顿拉夫逊法。运行方式管理中,潮流是确定电网运行方式的基本出发点;在规划领域,需要进行潮流分析验证规划方案的合理性;在实时运行环境,调度员潮流提供了多个在预想操作情况下电网的潮流分布以及校验运行可靠性。在电力系统调度运行的多个领域问题是研究电力系统稳态问题的基础和前提。在用数字解算计算机解电力系统潮流问题的开始阶段,普遍采取以节点导纳矩阵为基础的逐次代入法。这个方法的原理比较简单,要求的数字计算机内存量比较差下,适应50年代电子计算机
9、制造水平和当时电力系统理论水平,但它的收敛性较差,当系统规模变大时,迭代次数急剧上升,在计算中往往出现迭代不收敛的情况。这就迫使电力系统的计算人员转向以阻抗矩阵为基础的逐次代入法。阻抗法改善了系统潮流计算问题的收敛性,解决了导纳无法求解的一些系统的潮流计算,在60年代获得了广泛的应用,阻抗法德主要缺点是占用计算机内存大,每次迭代的计算量大。当系统不断扩大时,这些缺点就更加突出,为了克服这些缺点,60年代中期发展了以阻抗矩阵为基础的分块阻抗法。这个方法把一个大系统分割为几个小的地区系统,在计算机内只需要存储各个地区系统的阻抗矩阵及它们之间联络的阻抗,这样不仅大幅度的节省了内存容量,同时也提高了计
10、算速度。克服阻抗法缺点是另一个途径是采用牛顿-拉夫逊法。这是数学中解决非线性方程式的典型方法,有较好的收敛性。在解决电力系统潮流计算问题时,是以导纳矩阵为基础的,因此,只要我们能在迭代过程中尽可能保持方程式系数矩阵的稀疏性,就可以大大提高牛顿法潮流程序的效率。自从60年代中期,牛顿法中利用了最佳顺序消去法以后,牛顿法在收敛性。内存要求。速度方面都超过了阻抗法,成为了60年代末期以后广泛采用的优秀方法。 第三章 潮流计算设计题目3.1 潮流计算课题 题目:在图1所示的简单电力系统中,系统中节点1、2为节点,节点3为节点,节点4为平衡节点,已给定,网络各元件参数的标幺值如表2所示,给定电压的初始值
11、如表2所示,收敛系数。试求:图3-1 简单电力系统表3-1 网络各元件参数的标幺值支路电阻电抗输电线路变压器变比k120.030.090.02130.020.050.02230.040.08240.00.050.9625340.030.07表2 各节点电压(初值)标幺值参数节点i12341.00+j0.01.0+j0.01.0+j0.01.05+j0.03.2 对课题的分析及求解思路 此电力系统是一个4节点,5支路的电力网络。综合比较牛顿拉夫逊法(直角坐标、极坐标)、PQ分解法等多种求解方法的特点,最后确定采用牛顿拉夫逊法(极坐标)。因为此方法所需解的方程组最少。第四章 潮流计算算法及手工计算
12、4.1 极坐标下P-Q法的算法4.1.1 节点导纳矩阵Y根据题目提供的各节点的参数,求得节点导纳矩阵= 4.1.2 简化雅可比矩阵B/和B/通过上一步的导纳矩阵,形成有功迭代和无功迭代的简化雅可比矩阵B/和B/对雅可比矩阵进行三角分解,形成因子表,为后面进行修正方程计算作好准备。4.1.3 修正和迭代 第一步,给定PQ节点初值和各节点电压相角初值。 第二步,作第一次有功迭代,按公式计算节点有功功率不平衡量。第三步,做第一次无功迭代,按公式计算无功功率不平衡量,计算时电压相角最新的修正值。解修正方程式,可得各节点电压幅值的修正量。第四步,第一轮有功迭代和无功迭代便做完了。第五步,按公式计算平衡节
13、点功率。直到节点不平衡功率下降到10-5以下,迭代便可以结束。4.2 潮流计算算法本题采用了题目要求的牛顿拉夫逊潮流计算的方法。牛顿-拉夫逊法潮流计算的公式。把牛顿法用于潮流计算,采用极坐标形式表示的如式(1-3)所示的形式。其中电压和支路导纳可表示为: 将上述表示式(1-2)代入(1-1)式的右端,展开并分出实部和虚部,便得: (1-3) 按照以上的分类,PQ节点的输出有功功率和无功功率是给定的,则第i节点的给定功率设为和(称为注入功率)。 假定系统中的第1、2、m节点为PQ节点,对其中每一个节点的N-R法表达式F(x)=0如、形式有些下列方程: (1-4) =(1、2、m) PV节点的有功
14、功率和节点电压幅值是给定的。假定系统中的第m+1、m+2、n-1节点为PV节点,则对其中每一PV节点可以列写方程: (1-5) =(m+1、m+2、n-1)(6)形成雅可比矩阵。N-R法的思想是;本例;对F(x)求偏导的式(1-6)、式(1-7),即式(1-4)、式(1-5)中的、是多维变量的函数,对多维变量求偏导(、),并以矩阵的形式表达称为雅可比矩阵。 当j=i时,对角元素为 (1-6) 当时,矩阵非对角元素为: (1-7) 由上式不难看出,雅可比矩阵有以下特点。 雅可比矩阵中的诸元素都是节点电压的函数,因此在迭代过程中,它们将随着节点电压的变化而不断的变化。 雅可比矩阵具有结构对称性,数
15、据不对称。如非对角,。 由式(1-7)可以看出,当导纳矩阵中非对角元素为零时,。雅可比矩阵中相应的元素也为零,即矩阵是非常稀疏的。因此,修正方程的求解同样可以应用稀疏矩阵的求解技巧。正是由于这一点才使N-R法获得广泛的应用。4.3 手工计算4.3.1 节点导纳矩阵求得节点导纳矩阵Y = 各节点的导纳值如下:Y11= 10.2299 -27.2214iY12= -3.3333 +10.0000i Y13=-6.8966 +17.2414i Y14=0 Y21= -3.3333 +10.0000iY22=8.3333 -38.5181iY23=-5.0000 +10.0000iY24= 0 +19
16、.2500iY31=-6.8966 +17.2414iY32= -5.0000 +10.0000iY33=17.0690 -39.3003iY34= -5.1724 +12.0690iY41=0Y42= 0 +19.2500iY43=-5.1724 +12.0690iY44=5.1724 -32.0690i4.3.2 简化雅可比矩阵 迭代中的雅克比矩阵: -27.5862 10.0000 17.5862 -10.0920 3.3333 10.0000 -40.4125 10.2000 3.3333 -8.2333 17.5862 10.2000 -40.8881 7.0345 5.1000 1
17、0.3678 -3.3333 -7.0345 -26.8566 10.0000 -3.3333 8.4333 -5.1000 10.0000 -36.6237 -28.3886 10.6530 17.7355 -10.1563 3.4957 10.6198 -42.3389 10.5574 3.5953 -8.8273 17.9892 10.7970 -40.8881 6.8278 5.0990 10.9577 -3.4957 -7.4620 -27.7952 10.6530 -3.5953 9.4444 -5.5781 10.6198 -42.1163 -28.3429 10.6190 17
18、.7239 -10.1386 3.4922 10.5905 -42.2491 10.5416 3.5776 -8.7973 17.9700 10.7682 -40.8881 6.8312 5.1009 10.9386 -3.4922 -7.4464 -27.7429 10.6190 -3.5776 9.3973 -5.5540 10.5905 -41.8495 -28.3426 10.6189 17.7238 -10.1385 3.4921 10.5903 -42.2486 10.5414 3.5777 -8.7971 17.9700 10.7682 -40.8881 6.8310 5.100
19、7 10.9385 -3.4921 -7.4465 -27.7426 10.6189 -3.5777 9.3971 -5.5541 10.5903 -41.8486 -28.3427 10.6189 17.7238 -10.1385 3.4921 10.5903 -42.2486 10.5414 3.5777 -8.7971 17.9700 10.7682 -40.8881 6.8310 5.1007 10.9385 -3.4921 -7.4465 -27.7427 10.6189 -3.5777 9.3971 -5.5541 10.5903 -41.84864.3.3 修正、迭代给定PQ节点
20、初值和各节点电压相角初值V1=1.0 ,V2(0)=V3(0)=1.0,V4=1.052(0)=3(0)=0, 4(0)=01 作第一次有功迭代,按公式计算节点有功功率不平衡量 迭代中的P: -0.2621 -0.2000 0.3156 0.0007 0.0086 -0.0167 -0.0000 0.0000 0.0008 0.0000 -0.0000 -0.0000 0.0000 -0.0000 0.0000 2做第一次无功迭代,按公式计算无功功率不平衡量,计算时电压相角最新的修正值。 迭代中的Q: 0.0648 1.6944 -0.0033 -0.0887 -0.0000 -0.0002
21、-0.0000 -0.0000 -0.0000 -0.0000 解修正方程式,可得各节点电压幅值的修正量为 迭代中电压的模: 1.0159 1.0470 1.0150 1.0448 1.0150 1.0448 1.0150 1.0448 1.0150 1.0448 到这里为止,第一轮有功迭代和无功迭代便做完了。3 按公式计算平衡节点功率,得: P1+jQ1= 0.3159 + 1.3621i经过四轮迭代,节点不平衡功率也下降到10-5以下,迭代到此结束。4.4输出功率的手工计算 全线路各个点的功率分配如下: 0 -0.0582 - 0.3378i -0.3418 + 0.0172i 0 0.0
22、612 - 0.4727i 0 -0.0958 - 0.4238i -0.2654 - 0.9014i 0.3441 - 0.0424i 0.1013 - 0.3746i 0 -0.0455 - 0.4275i 0 0.2654 + 0.9332i 0.0505 + 1.2558i 0 第五章 Matlab概述5.1 Matlab简介 MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值
23、计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平MATLAB和、并称为三大数学软件。它在数学类科技应用软件中在方面首屈一指。MATLAB可以进行运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、金融建模设计与分析等领域。5.2 Matlab的应用MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且math
24、work也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对,的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。MALAB 产品族可以用来进行以下各种工作: 数值分析 数值和符号计算 工程与科学绘图 控制系统的设计与仿真 技术 技术 通讯系统设计与仿真 财务与金融工程 MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 M
25、ATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。 5.3与常数的运算 常数与矩阵的运算即是同该矩阵的每一元素进行计算。但需注意进行数除时,常数通常只能做除量。 基本函数运算中,矩阵的函数运算是矩阵预算中最实用的部分,常用的主要有以下几个: det(a) 求矩阵a的行列式 eig(a) 求矩阵a的特征值 inv(a)或a(-1) 求矩阵a的逆矩阵 rank(a) 求矩阵a的秩 trace(a) 求矩阵a的迹(对角线元素之和) 我们进行工程计算时常常遇到矩阵对应元素之间的运算。这种运算不同于前面讲的数学运算,为有所区别,我们称之为数组运算。5.4基本数学运算 数
26、组的加、减与矩阵的加、减运算完全相同。而乘除法运算有相当大的区别,数组的乘除法是指两同维数组对应元素之间的乘除法,它们的运算符为“.*”和“./”或“.。”前面讲过常数与矩阵的除法运算中常数只能做除数。在数组运算中有了“对应关系”的规定,数组与常数之间的除法运算没有任何限制。 另外,矩阵的数组运算中还有幂运算(运算符.)、指数运算(exp)、对数运算(log)、和开方运算(sqrt)、等,有了“对应元素”的规定,数组的运算实质上就是针对数组内部的每个元素进行的。矩阵的幂运算与数组的幂运算有很大的区别。 5.5 逻辑关系运算 逻辑运算是MATLAB中数组运算所特有的一种运算形式,也是几乎所有的高
27、级语言普遍适用的一种运算。5.6 Matlab中的一些命令1)一般MATLAB命令格式为 输出参数1,输出参数2,=(命令名)(输入参数1,输入参数2,) 输出参数用方括号,输入参数用圆括号如果输出参数只有一个可不使用括号。 2)可用、键来重现已输入的数据或命令。用、键来移动光标进行修改。3)所有MATLAB命令都用小写字母。大写字母和小写字母分别表示不同的变量。4)常用数有特定的名字,如pi(=3.141596) 、Inf(=)、NaN则表示不定型求得的结果(如0/0)。5)矩阵的输入要一行一行的进行,每行各元素用空格或(,)分开,每行用(;)分开。 6)MATLAB书写格式为A=1 2 3
28、 ;4 5 6 ;7 8 9 在MATLAB中运行如下程序可得到A矩阵 a=1 2 3;4 5 6;7 8 9 a = 1 2 3 4 5 6 7 8 97)需要显示命令的计算结果时,则语句后面不加“;”号,否则要加“;”号。 运行下面两种格式可以看出他们的区别 a=1 2 3;4 5 6;7 8 9 a=1 2 3;4 5 6;7 8 9; a = (不显示计算结果) 1 2 3 4 5 68)当输入语句过长需要换行时,应加上“”后再回车,则可连续输入。9)diary命令使用该命令可以在窗口中以ASCII码形式记录所有的输入和输出。但这个命令不是存储数据,而是存储输入与屏幕上输出的内容。它可
29、以记录下工作的过程。在每个工作过程之前使用该命令,工作结束后使用diary off 则能将整个工作过程记录下来。 格式diary(文件名)(扩展名). diary off一般来说扩展名可取,m这样就可在MATLABBIN目录下存入该文件。 10)save 命令该命令存储定义的变量或演算结果,也可以用来存储指定的变量。 命令格式为 save 文件名 . 扩展名 11)what 命令该命令可以在当目录下显示MATLAB文件和MAT数据文件12)dir 命令 显示当前目录下的所有文件.13)clear命令 14)d1,d2,d3,.=size(a) 求矩阵的大小,对m*n二维矩阵,第一个为行数m,第
30、二个为列数n。如果输入 calear a b c ,则表示清除工作空间中指定变量a,b,c;如果仅仅输入calear命令,则清除整个工作空间。 与此同时,MATLAB具有强大的矩阵运算功能, 但由于我们在求节点导纳矩阵时用的不多, 因此这里我们只作简单介绍。1) 在MATLAB中表示一个矢量要用方括号, 而列矢量的输入只需在行矢量输入格式基础上加转置符()即可。 如 x=1 2 3;4 5 6 x = 1 2 3 4 5 6 而 x=1 2 3;4 5 6 (加转置符) x = 1 4 2 5 3 6注意上面两式的区别。2) 下面三条命令可以产生一个行矢量a=linspace(x,y,n) a
31、=logspace(x,y,n) a=x:n:y第一条命令可以在线性空间产生一个值在10x至10y之间间隔点数为n的行矢量(一组数据)。第二条命令可以在对数空间产生一个值在x至y之间等间隔的行矢量(一组数据)。其行矢量的起始值是x, 终值为y, 点数为n。第三条命令产生X至y步长为n的行矢量。但是, 三个命令之间存在差别,下面的例子可以说明这一点。 例一 x=logspace(0,5,6) x = 1 10 100 1000 10000 100000例二 x=linspace(0,10,11) x = 0 1 2 3 4 5 6 7 8 9 10例三 x=0:1:10 x = 0 1 2 3
32、4 5 6 7 8 9 10 通过上面三个例子可以看出例一, 例二中n代表选取的点数。而在例三中n则表示步长. 我们应当注意它们的区别。3) 矩阵的加, 减, 乘, 除等, 和其它语言书写一样。但要注意的是在运算符前面加有(.)则表示是元素对元素的操作. 4)以下是常用的运算命令运算命令名 功能Angle求复数的角Min求最小值Max求最大值Sum求和Roots求多项式的根Poly由多项式的根求多项式的系数Polyval求给定点多项式的值Polyder多项式求导在进行潮流分布计算时,实际上是由多个简单系统构成的复杂系统,在求节点导纳矩阵时的要用到反馈的指令,所以在MATLAB中有下面几种命令可
33、以解决两个系统间的连接问题。1)系统的并联parallel 命令可以实现两个系统的并联。示意图如下:系统1系统2 u1 y1 u + y u2 y2 并联后的系统传递函数表示式为: 其中n1、d1和n2、d2分别为g1(s)、g2(s)的传递函数分子、分母系数行矢量。命令格式: n,d = paralltl(n1,d1,n2,d2)a,b,c,d = paralltl(a1,b1,c1,d1,a2,b2,c2,d2)2)系统的串联series命令实现两个系统的串联,示意图如下:g2(s)g1(s) u1 y u2 y2串联后系统的传递函数为 命令格式: n,d = series(n1,d1,n
34、2,d2) a,b,c,d = series(a1,b1,c1,d1,a2,b2,c2,d2)3)系统的反馈feedback命令实现两个系统的反馈连接,示意图如下: u1 + y1 g2(s)g1(s) y2 u2连接后系统的传递函数表示为: 命令格式: n,d = feedback(n1,d1,n2,d2)或: n,d = feedback(n1,d1,n2,d2,sign) a,b,c,d = feedback(a1,b1,c1,d1,a2,b2,c2,d2,sign)其中sign是指示y2到u1连接的符号,缺省时默认为负(即sign = -1)。4)系统的闭环cloop命令可以将系统的输出反馈到系统的输入构成闭环系统,示意图如下:g1(s)u y 正、负反馈后闭环系统为: