电力系统分析大作业matlab三机九节点潮流计算报告
电力系统潮流计算matlab程序
电力系统潮流计算matlab程序电力系统潮流计算是电力系统运行和规划中的重要环节,它用于计算电力系统中各节点的电压、功率和电流等参数。
随着电力系统规模的不断扩大和复杂性的增加,传统的手工计算方法已经无法满足需求,因此,利用计算机编程进行潮流计算成为了一种必要的选择。
Matlab是一种功能强大的科学计算软件,它提供了丰富的数学函数和工具箱,可以方便地进行电力系统潮流计算。
下面我将介绍一下如何使用Matlab编写电力系统潮流计算程序。
首先,我们需要建立电力系统的节点模型。
节点模型是电力系统中各节点的电压、功率和电流等参数的数学表示。
在Matlab中,我们可以使用矩阵来表示节点模型。
假设电力系统有n个节点,我们可以定义一个n×n的复数矩阵Y来表示节点之间的导纳关系,其中Y(i,j)表示节点i和节点j之间的导纳。
同时,我们还需要定义一个n×1的复数向量V来表示各节点的电压,其中V(i)表示节点i的电压。
接下来,我们需要编写潮流计算的主程序。
主程序的主要功能是根据节点模型和潮流计算算法,计算出各节点的电压、功率和电流等参数。
在Matlab中,我们可以使用循环语句和矩阵运算来实现潮流计算。
具体的计算过程可以参考电力系统潮流计算的算法。
在编写主程序之前,我们还需要定义一些输入参数,如电力系统的节点数、发电机节点和负荷节点等。
这些参数可以通过用户输入或者读取文件的方式获取。
同时,我们还需要定义一些输出参数,如各节点的电压、功率和电流等。
这些参数可以通过矩阵运算和循环语句计算得到,并输出到文件或者显示在屏幕上。
最后,我们需要进行程序的测试和调试。
可以通过输入一些测试数据,运行程序并检查输出结果是否正确。
如果发现程序有错误或者结果不准确,可以通过调试工具和打印调试信息的方式进行调试。
总之,利用Matlab编写电力系统潮流计算程序可以提高计算效率和准确性,为电力系统的运行和规划提供有力的支持。
当然,编写一个完整的潮流计算程序需要考虑很多细节和特殊情况,这需要有一定的电力系统和编程知识。
三机九节点潮流暂态MATLAB仿真
三机九节点潮流暂态MATLAB仿真院系: 自动化学院专业:电力系统及其自动化学号: 姓名: 时间: 1 研究对象1.1 三机九节点系统模型100MW35MVar7239j0.0585j0.06250.0119 + j0.10080.0085 + j0.072B/2 = j0.1045B/2 = j0.0745230/13.818/23018kV13.8kV8230kV230kVB/2 = j0.179B/2 = j0.088B/2 = j0.1530.010 + j0.0850.032 + j0.161 56125MW90MW50MVar30MVarB/2 = j0.079230kV40.017 + j0.0790.039 + j0.170j0.057616.5/23016.5kV1图1.1 WSCC-9系统模型图1.1是一个三机九节点的系统阻抗图,图中给出的阻抗参数都是以100MVA为基准的标幺值。
该图中包括三台发电机,三台双绕组变压器,九条母线(节点)和三个负荷。
本文将对该系统的动态过程进行相应的仿真分析。
1.2 系统参数1.2.1 节点参数按照节点类型,9个节点分为,给出已知参数如下表:表1.1 节点已知参数节点类型电压幅值电压角度发电机有功发电机无功负荷有功负荷无功1 Vθ 1.040 0 0.7160 0.2705 0 02 PV 1.025 1.6300 0.0665 0 03 PV 1.025 0.8500 -0.1086 0 04 PQ 0 05 PQ 1.2500 0.50006 PQ 0.9000 0.30007 PQ 0 08 PQ 1(0000 0.35009 PQ 0 0上表中发电机有功、无功出力和负荷的有功无功功率均为以100MVA为基准时的标幺值。
1.2.2 支路参数表1.2 支路参数首节点末节点电阻电抗电纳一半4 5 0.0100 0.0850 0.08804 6 0.0170 0.0920 0.07905 7 0.0320 0.1610 0.15306 9 0.0390 0.1700 0.17907 8 0.0085 0.0720 0.07458 9 0.0119 0.1008 0.10451 4 0.0000 0.0576 0.00002 7 0.0000 0.0625 0.00003 9 0.0000 0.0586 0.0000上表中所有的参数均为标幺值,对于变压器支路。
基于matlab的电力系统潮流计算仿真分析
基于matlab的电力系统潮流计算仿真分析本文旨在介绍电力系统潮流计算仿真分析的背景和目的,并简要概述本文的主要内容和结构安排。
潮流计算是电力系统运行中的重要环节,通过计算电力系统中各节点的电压和功率分布情况,可以帮助分析系统的运行状态、调控能力以及潜在的问题。
随着电力系统的规模不断扩大和复杂性的增加,利用计算机进行潮流计算仿真分析已成为一种必要且有效的方法。
而matlab作为一种功能强大的科学计算软件,被广泛应用于电力系统的潮流计算仿真分析。
本研究的目的是基于matlab,开展电力系统潮流计算仿真分析,以探究系统运行状态、发现潜在的问题,并提出相应的优化方案。
通过仿真分析,可以评估系统的稳定性、安全性和可靠性,为电力系统运行与规划提供重要的参考依据。
本文主要包括以下内容:研究背景和意义:介绍电力系统潮流计算仿真分析的背景和其在电力系统运行中的重要性。
相关理论与方法:介绍电力系统潮流计算的基本理论和常用的计算方法,以及matlab在电力系统仿真中的应用。
模型构建与数据处理:详细阐述潮流计算仿真中的模型构建过程,以及对系统数据的处理和准备。
仿真结果与分析:展示仿真计算得到的结果,并进行相应的分析和讨论。
优化方案提出与评估:根据仿真结果,提出相应的优化方案,并进行评估和比较。
结论与展望:总结全文的研究内容和结论,并展望未来进一步的研究方向。
通过本文的研究和分析,我们将深入了解电力系统潮流计算仿真分析的原理和方法,为电力系统的优化和运行提供有效的技术支持。
本部分将介绍电力系统的组成,包括发电机组、输电网和配电网等,以及相关概念和术语,为后续的潮流计算仿真分析奠定基础。
潮流计算是电力系统中重要的分析方法,用于计算系统中各节点的电压幅值和相角,以及线路和设备的功率潮流分布。
潮流计算的基本原理是建立节点潮流方程和数学模型,通过求解这些方程来得到系统的潮流状态。
节点潮流方程节点潮流方程描述了电力系统中各节点的电压和功率之间的关系。
电力系统潮流分析计算的MATLAB仿真
电力系统潮流分析计算的MATLAB仿真实现MATLAB仿真潮流分析计算的一般过程是:
(1)首先,根据电力系统的结构和参数,编写MATLAB程序,定义各种变量,包括节点电压、节点功角、支路电流、支路功率等变量,并将这些变量与图形化的表格关联起来,使用MATLAB程序绘出电力系统的拓扑图和参数表,这些拓扑图和参数表是电力系统潮流分析计算的基础。
(2)然后,分析电力系统的电压和功角变化趋势,计算节点动态电压、功角和各支路电流,并将结果写入特定的输出文件。
(3)此外,编写计算支路功率的MATLAB程序,以对电力系统的功率消耗和全系统平衡情况进行精确分析。
(4)最后,使用MATLAB绘图功能,绘制出电力系统潮流分析计算的结果,如各节点动态电压和功角的变化曲线,支路功率的变化曲线等,从而及时发现电力系统中可能存在的问题,以及有效的补救措施。
通过MATLAB仿真技术对电力系统进行潮流分析计算,可以更准确、更快捷地分析电力系统中可能发生的故障。
(完整版)电力系统分析大作业matlab三机九节点潮流计算报告
电力系统分析大作业一、设计题目本次设计题目选自课本第五章例5-8,美国西部联合电网WSCC系统的简化三机九节点系统,例题中已经给出了潮流结果,计算结果可以与之对照。
取ε=0.00001 。
二、计算步骤第一步,为了方便编程,修改节点的序号,将平衡节点放在最后。
如下图:第二步,这样得出的系统参数如下表所示:第三步,形成节点导纳矩阵。
92132 7 45683第四步,设定初值:01)0(6)0(5)0(4)0(3)0(2)0(1∠======••••••U U U U U U ;0)0(8)0(7==Q Q ,0)0(8)0(7==θθ。
第五步,计算失配功率)0(1P ∆=0,)0(2P ∆=-1.25,)0(3P ∆=-0.9,)0(4P ∆=0,)0(5P ∆=-1,)0(6P ∆=0,)0(7P ∆=1.63, )0(8P ∆=0.85;)0(1Q ∆=0.8614,)0(2Q ∆=-0.2590,)0(3Q ∆=-0.0420,)0(4Q ∆=0.6275,)0(5Q ∆=-0.1710, )0(6Q ∆=0.7101。
显然,5108614.0|},max {|-=>=∆∆εi i Q P 。
第六步,形成雅克比矩阵(阶数为14×14)第七步,解修正方程,得到:=∆)0(1θ-0.0371,=∆)0(2θ-0.0668,=∆)0(3θ-0.0628,=∆)0(4θ0.0732,=∆)0(5θ0.0191,=∆)0(6θ0.0422,=∆)0(7θ0.1726,=∆)0(8θ0.0908;=∆)0(1U 0.0334,=∆)0(2U 0.0084,=∆)0(3U 0.0223,=∆)0(4U 0.0372,=∆)0(5U 0.0266,=∆)0(6U 0.0400。
从而=)1(1θ-0.0371,=)1(2θ-0.0668,=)1(3θ-0.0628,=)1(4θ0.0732,=)1(5θ0.0191,=)1(6θ0.0422,=)1(7θ0.1726,=)1(8θ0.0908;=)1(1U 1.0334,=)1(1U 1.0084,=)1(1U 1.0223,=)1(1U 1.0372,=)1(1U 1.0266,=)1(1U 1.0400。
最新电力系统分析潮流计算实验报告
电力系统分析潮流计算实验报告姓名:XXXXXX 学号:XXXXXXXXXX 班级:XXXXXXXX一、实验目的掌握潮流计算计算机算法的方法,熟悉MATLAB的程序调试方法。
二、实验准备根据课程内容,熟悉MATLAB软件的使用方法,自行学习MATLAB程序的基础语法,并根据所学知识编写潮流计算牛顿拉夫逊法(或PQ分解法) 的计算程序,用相应的算例在MATLAB上进行计算、调试和验证。
三、实验要求每人一组,在实验课时内,调试和修改运行程序,用算例计算输出潮流结果。
四、程序流程五、实验程序%本程序的功能是用牛拉法进行潮流计算%原理介绍详见鞠平著《电气工程》%默认数据为鞠平著《电气工程》例8.4所示数据%B1是支路参数矩阵%第一列和第二列是节点编号。
节点编号由小到大编写%对于含有变压器的支路,第一列为低压侧节点编号,第二列为高压侧节点编号%第三列为支路的串列阻抗参数,含变压器支路此值为变压器短路电抗%第四列为支路的对地导纳参数,含变压器支路此值不代入计算%第五烈为含变压器支路的变压器的变比,变压器非标准电压比%第六列为变压器是否是否含有变压器的参数,其中“1”为含有变压器,“0”为不含有变压器%B2为节点参数矩阵%第一列为节点注入发电功率参数%第二列为节点负荷功率参数%第三列为节点电压参数%第四列%第五列%第六列为节点类型参数,“1”为平衡节点,“2”为PQ节点,“3”为PV节点参数%X为节点号和对地参数矩阵%第一列为节点编号%第二列为节点对地参数%默认算例% n=4;% n1=4;% isb=4;% pr=0.00001;% B1=[1 2 0.1667i 0 0.8864 1;1 3 0.1302+0.2479i 0.0258i 1 0;1 4 0.1736+0.3306i 0.0344i 1 0;3 4 0.2603+0.4959i 0.0518i 1 0];% B2=[0 0 1 0 0 2;0 -0.5-0.3i 1 0 0 2;0.2 0 1.05 0 0 3;0 -0.15-0.1i 1.05 0 0 1];% X=[1 0;2 0.05i;3 0;4 0];clear;clc;num=input('是否采用默认数据?(1-默认数据;2-手动输入)');if num==1n=4;n1=4;isb=4;pr=0.00001;B1=[1 2 0.1667i 0 0.8864 1;1 3 0.1302+0.2479i 0.0258i 1 0;1 4 0.1736+0.3306i 0.0344i 1 0;3 4 0.2603+0.4959i 0.0518i 1 0];B2=[0 0 1 0 0 2;0 -0.5-0.3i 1 0 0 2;0.2 0 1.05 0 0 3;0 -0.15-0.1i 1.05 0 0 1];X=[1 0;2 0.05i;3 0;4 0];elsen=input('请输入节点数:n=');n1=input('请输入支路数:n1=');isb=input('请输入平衡节点号:isb=');pr=input('请输入误差精度:pr=');B1=input('请输入支路参数:B1=');B2=input('请输入节点参数:B2=');X=input('节点号和对地参数:X=');endTimes=1; %迭代次数%创建节点导纳矩阵Y=zeros(n);for i=1:n1if B1(i,6)==0 %不含变压器的支路p=B1(i,1);q=B1(i,2);Y(p,q)=Y(p,q)-1/B1(i,3);Y(q,p)=Y(p,q);Y(p,p)=Y(p,p)+1/B1(i,3)+0.5*B1(i,4);Y(q,q)=Y(q,q)+1/B1(i,3)+0.5*B1(i,4);else %含有变压器的支路p=B1(i,1);q=B1(i,2);Y(p,q)=Y(p,q)-B1(i,5)/B1(i,3);Y(q,p)=Y(p,q);Y(p,p)=Y(p,p)+B1(i,5)/B1(i,3)+(1-B1(i,5))/B1(i,3);Y(q,q)=Y(q,q)+B1(i,5)/B1(i,3)+(B1(i,5)*(B1(i,5)-1))/B1(i,3);endendfor i=1:n1Y(i,i)=Y(i,i)+X(i,2); %计及补偿电容电纳enddisp('导纳矩阵为:');disp(Y); %显示导纳矩阵%初始化OrgS、DetaSOrgS=zeros(2*n-2,1);DetaS=zeros(2*n-2,1);%创建OrgS,用于存储初始功率参数h=0;j=0;for i=1:n %对PQ节点的处理if i~=isb&B2(i,6)==2 %不是平衡点&是PQ点h=h+1;for j=1:n%公式8-74%Pi=ei*(Gij*ej-Bij*fj)+fi*(Gij*fj+Bij*ej)%Qi=fi*(Gij*ej-Bij*fj)-ei*(Gij*fj+Bij*ej)OrgS(2*h-1,1)=OrgS(2*h-1,1)+real(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))+imag(B2(i,3))*(real (Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));OrgS(2*h,1)=OrgS(2*h,1)+imag(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))-real(B2(i,3))*(real(Y(i,j))*imag(B2(j ,3))+imag(Y(i,j))*real(B2(j,3)));endendendfor i=1:n %对PV节点的处理,注意这时不可再将h初始化为0if i~=isb&B2(i,6)==3 %不是平衡点&是PV点h=h+1;for j=1:n%公式8-75-a%Pi=ei*(Gij*ej-Bij*fj)+fi*(Gij*fj+Bij*ej)%Qi=fi*(Gij*ej-Bij*fj)-ei*(Gij*fj+Bij*ej)OrgS(2*h-1,1)=OrgS(2*h-1,1)+real(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))+imag(B2(i,3))*(real (Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));OrgS(2*h,1)=OrgS(2*h,1)+imag(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))-real(B2(i,3))*(real(Y(i,j ))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));endendend%创建PVU 用于存储PV节点的初始电压PVU=zeros(n-h-1,1);t=0;for i=1:nif B2(i,6)==3t=t+1;PVU(t,1)=B2(i,3);endend%创建DetaS,用于存储有功功率、无功功率和电压幅值的不平衡量h=0;for i=1:n %对PQ节点的处理if i~=isb&B2(i,6)==2h=h+1;DetaS(2*h-1,1)=real(B2(i,2))-OrgS(2*h-1,1); %delPiDetaS(2*h,1)=imag(B2(i,2))-OrgS(2*h,1); %delQiendendt=0;for i=1:n %对PV节点的处理,注意这时不可再将h初始化为0if i~=isb&B2(i,6)==3h=h+1;t=t+1;DetaS(2*h-1,1)=real(B2(i,1))-OrgS(2*h-1,1); %delPiDetaS(2*h,1)=real(PVU(t,1))^2+imag(PVU(t,1))^2-real(B2(i,3))^2-imag(B2(i,3))^2; %delUi endend% DetaS%创建I,用于存储节点电流参数i=zeros(n-1,1);h=0;for i=1:nif i~=isbh=h+1;I(h,1)=(OrgS(2*h-1,1)-OrgS(2*h,1)*sqrt(-1))/conj(B2(i,3));%conj求共轭endend%创建Jacbi(雅可比矩阵)Jacbi=zeros(2*n-2);h=0;k=0;for i=1:n %对PQ节点的处理if B2(i,6)==2h=h+1;for j=1:nif j~=isbk=k+1;if i==j %对角元素的处理Jacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3))+imag(I(h,1));Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3))+real(I(h,1));Jacbi(2*h,2*k-1)=-Jacbi(2*h-1,2*k)+2*real(I(h,1));Jacbi(2*h,2*k)=Jacbi(2*h-1,2*k-1)-2*imag(I(h,1));else %非对角元素的处理Jacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3));Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3));Jacbi(2*h,2*k-1)=-Jacbi(2*h-1,2*k);Jacbi(2*h,2*k)=Jacbi(2*h-1,2*k-1);endif k==(n-1) %将用于内循环的指针置于初始值,以确保雅可比矩阵换行k=0;endendendendendk=0;for i=1:n %对PV节点的处理if B2(i,6)==3h=h+1;for j=1:nif j~=isbk=k+1;if i==j %对角元素的处理Jacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3))+imag(I(h,1));Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3))+real(I(h,1));Jacbi(2*h,2*k-1)=2*imag(B2(i,3));Jacbi(2*h,2*k)=2*real(B2(i,3));else %非对角元素的处理Jacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3));Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3));Jacbi(2*h,2*k-1)=0;Jacbi(2*h,2*k)=0;endif k==(n-1) %将用于内循环的指针置于初始值,以确保雅可比矩阵换行k=0;endendendendenddisp('初始雅可比矩阵为:');disp(Jacbi);%求解修正方程,获取节点电压的不平衡量DetaU=zeros(2*n-2,1);DetaU=inv(Jacbi)*DetaS; %inv矩阵求逆% DetaU%修正节点电压j=0;for i=1:n %对PQ节点处理if B2(i,6)==2j=j+1;B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);endendfor i=1:n %对PV节点的处理if B2(i,6)==3j=j+1;B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);endend% B2%开始循环**********************************************************************while abs(max(DetaU))>prOrgS=zeros(2*n-2,1);h=0;j=0;for i=1:nif i~=isb&B2(i,6)==2h=h+1;for j=1:nOrgS(2*h-1,1)=OrgS(2*h-1,1)+real(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))+imag(B2(i,3))*(real (Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));OrgS(2*h,1)=OrgS(2*h,1)+imag(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))-real(B2(i,3))*(real(Y(i,j ))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));endendendfor i=1:nif i~=isb&B2(i,6)==3h=h+1;for j=1:nOrgS(2*h-1,1)=OrgS(2*h-1,1)+real(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))+imag(B2(i,3))*(real (Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));OrgS(2*h,1)=OrgS(2*h,1)+imag(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))-real(B2(i,3))*(real(Y(i,j ))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));endendend% OrgS%创建DetaSh=0;for i=1:nif i~=isb&B2(i,6)==2h=h+1;DetaS(2*h-1,1)=real(B2(i,2))-OrgS(2*h-1,1);DetaS(2*h,1)=imag(B2(i,2))-OrgS(2*h,1);endendt=0;for i=1:nif i~=isb&B2(i,6)==3h=h+1;t=t+1;% DetaS(2*h-1,1)=real(B2(i,2))-OrgS(2*h-1,1);DetaS(2*h-1,1)=real(B2(i,1))-OrgS(2*h-1,1);DetaS(2*h,1)=real(PVU(t,1))^2+imag(PVU(t,1))^2-real(B2(i,3))^2-imag(B2(i,3))^2;endend% DetaS%创建Ii=zeros(n-1,1);h=0;for i=1:nif i~=isbh=h+1;I(h,1)=(OrgS(2*h-1,1)-OrgS(2*h,1)*sqrt(-1))/conj(B2(i,3));endend% I%创建JacbiJacbi=zeros(2*n-2);h=0;k=0;for i=1:nif B2(i,6)==2h=h+1;for j=1:nif j~=isbk=k+1;if i==jJacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3))+imag(I(h,1));Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3))+real(I(h,1));Jacbi(2*h,2*k-1)=-Jacbi(2*h-1,2*k)+2*real(I(h,1));Jacbi(2*h,2*k)=Jacbi(2*h-1,2*k-1)-2*imag(I(h,1));elseJacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3));Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3));Jacbi(2*h,2*k-1)=-Jacbi(2*h-1,2*k);Jacbi(2*h,2*k)=Jacbi(2*h-1,2*k-1);endif k==(n-1)k=0;endendendendendk=0;for i=1:nif B2(i,6)==3h=h+1;for j=1:nif j~=isbk=k+1;if i==jJacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3))+imag(I(h,1));Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3))+real(I(h,1));Jacbi(2*h,2*k-1)=2*imag(B2(i,3));Jacbi(2*h,2*k)=2*real(B2(i,3));elseJacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3));Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3));Jacbi(2*h,2*k-1)=0;Jacbi(2*h,2*k)=0;endif k==(n-1)k=0;endendendend% JacbiDetaU=zeros(2*n-2,1);DetaU=inv(Jacbi)*DetaS;% DetaU%修正节点电压j=0;for i=1:nif B2(i,6)==2j=j+1;B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);endendfor i=1:nif B2(i,6)==3j=j+1;B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);endend% B2Times=Times+1; %迭代次数加1enddisp('迭代次数为:');disp(Times);disp('收敛时电压修正量为::');disp(DetaU);for k=1:nE(k)=B2(k,3);e(k)=real(E(k));f(k)=imag(E(k));V(k)=sqrt(e(k)^2+f(k)^2);sida(k)=atan(f(k)./e(k))*180./pi;end%=============== 计算各输出量=========================== disp('各节点的实际电压标幺值E为(节点号从小到大排列):'); disp(E); %显示各节点的实际电压标幺值E用复数表示disp('-----------------------------------------------------')disp('各节点的电压大小V为(节点号从小到大排列):');disp(V); %显示各节点的电压大小V的模值disp('-----------------------------------------------------');disp('各节点的电压相角sida为(节点号从小到大排列):');disp(sida); %显示各节点的电压相for p=1:nfor q=1:nC(p)=C(p)+conj(Y(p,q))*conj(E(q)); %计算各节点的注入电流的共轭值endS(p)=E(p)*C(p); %计算各节点的功率S = 电压X 注入电流的共轭值enddisp('各节点的功率S为(节点号从小到大排列):');disp(S); %显示各节点的注入功率Sline=zeros(n1,5);disp('-----------------------------------------------------');disp('各条支路的首端功率Si为(顺序同您输入B1时一致):');for i=1:n1p=B1(i,1);q=B1(i,2);Sline(i,1)=B1(i,1);Sline(i,2)=B1(i,2);if B1(i,6)==0Si(p,q)=E(p)*(conj(E(p))*conj(B1(i,4)./2)+(conj(E(p)*B1(i,5))-conj(E(q)))*conj(1./(B1(i,3)*B1(i,5))));Siz(i)=Si(p,q);elseSi(p,q)=E(p)*(conj(E(p))*((1-B1(i,5))/B1(i,3))+(conj(E(p))-conj(E(q)))*(B1(i,5)/B1(i,3)));Siz(i)=Si(p,q);endSSi(p,q)=Si(p,q);Sline(i,3)=Siz(i);ZF=['S(',num2str(p),',',num2str(q),')=',num2str(SSi(p,q))];disp(ZF);enddisp('-----------------------------------------------------');disp('各条支路的末端功率Sj为(顺序同您输入B1时一致):');for i=1:n1p=B1(i,1);q=B1(i,2);if B1(i,6)==0Sj(q,p)=E(q)*(conj(E(q))*conj(B1(i,4)./2)+(conj(E(q)./B1(i,5))-conj(E(p)))*conj(1./(B1(i,3)*B1(i,5))));Sjy(i)=Sj(q,p);elseSj(q,p)=E(q)*(conj(E(q))*((B1(i,5)*(B1(i,5)-1))/B1(i,3))+(conj(E(q))-conj(E(p)))*(B1(i,5)/B1(i,3)));Sjy(i)=Sj(q,p);endSSj(q,p)=Sj(q,p);Sline(i,4)=Sjy(i);ZF=['S(',num2str(q),',',num2str(p),')=',num2str(SSj(q,p))];disp(ZF);enddisp('-----------------------------------------------------');disp('各条支路的功率损耗DS为(顺序同您输入B1时一致):');for i=1:n1p=B1(i,1);q=B1(i,2);DS(i)=Si(p,q)+Sj(q,p);DDS(i)=DS(i);Sline(i,5)=DS(i);ZF=['DS(',num2str(p),',',num2str(q),')=',num2str(DDS(i))];disp(ZF);enddisp('-----------------------------------------------------');disp('各支路首端编号末端编号首端功率末端功率线路损耗');disp(Sline);六、运行结果及其分析是否采用默认数据?(1-默认数据;2-手动输入)1导纳矩阵为:2.9056 -11.5015i 0.0000 + 5.3173i -1.6606 +3.1617i -1.2450 + 2.3710i0.0000 + 5.3173i 0.0000 - 4.6633i 0.0000 + 0.0000i 0.0000 + 0.0000i-1.6606 + 3.1617i 0.0000 + 0.0000i 2.4904 - 4.7039i -0.8298 + 1.5809i-1.2450 + 2.3710i 0.0000 + 0.0000i -0.8298 + 1.5809i 2.0749 - 3.9089i初始雅可比矩阵为:11.1267 2.7603 -5.3173 0 -3.1617 -1.6606-3.0509 11.8762 0 -5.3173 1.6606 -3.1617-5.3173 0 5.3173 0 0 00 -5.3173 0 4.0092 0 0-3.3198 -1.7436 0 0 4.8217 2.69800 0 0 0 0 2.1000迭代次数为:4收敛时电压修正量为::1.0e-05 *0.0349-0.2445-0.0101-0.5713-0.0931-0.0073各节点的实际电压标幺值E为(节点号从小到大排列):0.9673 - 0.0655i 1.0252 - 0.1666i 1.0495 - 0.0337i 1.0500 + 0.0000i -----------------------------------------------------各节点的电压大小V为(节点号从小到大排列):0.9695 1.0387 1.0500 1.0500-----------------------------------------------------各节点的电压相角sida为(节点号从小到大排列):-3.8734 -9.2315 -1.8419 0各节点的功率S为(节点号从小到大排列):-0.0000 + 0.0000i -0.5000 - 0.3000i 0.2000 + 0.1969i 0.3277 + 0.0443i -----------------------------------------------------各条支路的首端功率Si为(顺序同您输入B1时一致):S(1,2)=-0.5-0.30713iS(1,3)=-0.24266-0.197iS(1,4)=-0.25734-0.11013iS(3,4)=-0.055551+0.0017528i-----------------------------------------------------各条支路的末端功率Sj为(顺序同您输入B1时一致):S(2,1)=0.5+0.24606iS(3,1)=0.25555+0.1952iS(4,1)=0.2712+0.1014iS(4,3)=0.056496-0.057061i-----------------------------------------------------各条支路的功率损耗DS为(顺序同您输入B1时一致):DS(1,2)=0-0.06107iDS(1,3)=0.012892-0.0018014iDS(1,4)=0.013863-0.0087295iDS(3,4)=0.00094545-0.055308i-----------------------------------------------------各支路首端编号末端编号首端功率末端功率线路损耗1.0000 + 0.0000i2.0000 + 0.0000i -0.5000 - 0.3071i 0.5000 + 0.2461i 0.0000 - 0.0611i 1.0000 + 0.0000i3.0000 + 0.0000i -0.2427 - 0.1970i 0.2556 + 0.1952i 0.0129 - 0.0018i 1.0000 + 0.0000i4.0000 + 0.0000i -0.2573 - 0.1101i 0.2712 + 0.1014i 0.0139 - 0.0087i3.0000 + 0.0000i4.0000 + 0.0000i -0.0556 + 0.0018i 0.0565 - 0.0571i 0.0009 - 0.0553i七、实验体会及感悟通过这次实验,首先让我对matlab软件有了初步的了解,对它强大的矩阵运算能力有了更深的体会,同时掌握了设置断点和断点调试的一般方法,结合课本上的程序流程图和参考资料上的例子单步跟踪调试,再一次的熟悉了牛顿拉夫逊法潮流计算的一般方法和步骤,对计算机计算潮流计算有了更进一步的认识,在学习潮流计算时,虽然依次学习了节点导纳矩阵,功率方程、雅可比矩阵,但不能将它们联系起来,更不知道其中的原委,通过程序的编写,知道了其中的联系,也知道了每个方程、矩阵在计算中的作用。
电力系统潮流计算的MATLAB辅助程序设计-潮流计算程序
电力系统潮流计算的MATLAB辅助程序设计潮流计算,通常指负荷潮流,是电力系统分析和设计的主要组成部分,对系统规划、安全运行、经济调度和电力公司的功率交换非常重要。
此外,潮流计算还是其它电力系统分析的基础,比如暂态稳定,突发事件处理等。
现代电力系统潮流计算的方法主要:高斯法、牛顿法、快速解耦法和MATLAB的M语言编写的MATPOWER4.1,这里主要介绍高斯法、牛顿法和快速解耦法.高斯法的程序是lfgauss,其与lfybus、busout和lineflow程序联合使用求解潮流功率。
lfybus、busout和lineflow程序也可与牛顿法的lfnewton程序和快速解耦法的decouple程序联合使用。
(读者可以到MATPOWER主页下载MATPOWER4.1,然后将其解压到MATLAB目录下,即可使用该软件进行潮流计算)一、高斯—赛德尔法潮流计算使用的程序:高斯—赛德法的具体使用方法读者可参考后面的实例,这里仅介绍各程序的编写格式:lfgauss:该程序是用高斯法对实际电力系统进行潮流计算,需要用到busdata和linedata两个文件。
程序设计为输入负荷和发电机的有功MW和无功Mvar,以及节点电压标幺值和相角的角度值。
根据所选复功率为基准值将负荷和发电机的功率转换为标幺值。
对于PV节点,如发电机节点,要提供一个无功功率限定值。
当给定电压过高或过低时,无功功率可能超出功率限定值。
在几次迭代之后(高斯—塞德尔迭代为10次),需要检查一次发电机节点的无功出力,如果接近限定值,电压幅值进行上下5%的调整,使得无功保持在限定值内。
lfybus:这个程序需要输入线路参数、变压器参数以及变压器分接头参数。
并将这些参数放在名为linedata的文件中。
这个程序将阻抗转换为导纳,并得到节点导纳矩阵.busout:该程序以表格形式输出结果,节点输出包括电压幅值和相角,发电机和负荷的有功和无功功率,以及并联电容器或电抗器的有功和无功功率。
电力系统分析潮流计算最终完整版
电力系统分析潮流计算实验报告姓名:XXXXXX 学号:XXXXXXXXXX 班级:XXXXXXXX一、实验目的掌握潮流计算计算机算法的方法,熟悉MATLAB的程序调试方法。
二、实验准备根据课程内容,熟悉MATLAB软件的使用方法,自行学习MATLAB程序的基础语法,并根据所学知识编写潮流计算牛顿拉夫逊法(或PQ分解法) 的计算程序,用相应的算例在MATLAB上进行计算、调试和验证。
三、实验要求每人一组,在实验课时内,调试和修改运行程序,用算例计算输出潮流结果。
四、程序流程五、实验程序%本程序的功能是用牛拉法进行潮流计算%原理介绍详见鞠平著《电气工程》%默认数据为鞠平著《电气工程》例8.4所示数据%B1是支路参数矩阵%第一列和第二列是节点编号。
节点编号由小到大编写%对于含有变压器的支路,第一列为低压侧节点编号,第二列为高压侧节点编号%第三列为支路的串列阻抗参数,含变压器支路此值为变压器短路电抗%第四列为支路的对地导纳参数,含变压器支路此值不代入计算%第五烈为含变压器支路的变压器的变比,变压器非标准电压比%第六列为变压器是否是否含有变压器的参数,其中“1”为含有变压器,“0”为不含有变压器%B2为节点参数矩阵%第一列为节点注入发电功率参数%第二列为节点负荷功率参数%第三列为节点电压参数%第四列%第五列%第六列为节点类型参数,“1”为平衡节点,“2”为PQ节点,“3”为PV节点参数%X为节点号和对地参数矩阵%第一列为节点编号%第二列为节点对地参数%默认算例% n=4;% n1=4;% isb=4;% pr=0.00001;% B1=[1 2 0.1667i 0 0.8864 1;1 3 0.1302+0.2479i 0.0258i 1 0;1 4 0.1736+0.3306i 0.0344i 1 0;3 4 0.2603+0.4959i 0.0518i 1 0];% B2=[0 0 1 0 0 2;0 -0.5-0.3i 1 0 0 2;0.2 0 1.05 0 0 3;0 -0.15-0.1i 1.05 0 0 1];% X=[1 0;2 0.05i;3 0;4 0];clear;clc;num=input('是否采用默认数据?(1-默认数据;2-手动输入)');if num==1n=4;n1=4;isb=4;pr=0.00001;B1=[1 2 0.1667i 0 0.8864 1;1 3 0.1302+0.2479i 0.0258i 1 0;1 4 0.1736+0.3306i 0.0344i 1 0;3 4 0.2603+0.4959i 0.0518i 1 0];B2=[0 0 1 0 0 2;0 -0.5-0.3i 1 0 0 2;0.2 0 1.05 0 0 3;0 -0.15-0.1i 1.05 0 0 1];X=[1 0;2 0.05i;3 0;4 0];elsen=input('请输入节点数:n=');n1=input('请输入支路数:n1=');isb=input('请输入平衡节点号:isb=');pr=input('请输入误差精度:pr=');B1=input('请输入支路参数:B1=');B2=input('请输入节点参数:B2=');X=input('节点号和对地参数:X=');endTimes=1; %迭代次数%创建节点导纳矩阵Y=zeros(n);for i=1:n1if B1(i,6)==0 %不含变压器的支路p=B1(i,1);q=B1(i,2);Y(p,q)=Y(p,q)-1/B1(i,3);Y(q,p)=Y(p,q);Y(p,p)=Y(p,p)+1/B1(i,3)+0.5*B1(i,4);Y(q,q)=Y(q,q)+1/B1(i,3)+0.5*B1(i,4);else %含有变压器的支路p=B1(i,1);q=B1(i,2);Y(p,q)=Y(p,q)-B1(i,5)/B1(i,3);Y(q,p)=Y(p,q);Y(p,p)=Y(p,p)+B1(i,5)/B1(i,3)+(1-B1(i,5))/B1(i,3);Y(q,q)=Y(q,q)+B1(i,5)/B1(i,3)+(B1(i,5)*(B1(i,5)-1))/B1(i,3);endendfor i=1:n1Y(i,i)=Y(i,i)+X(i,2); %计及补偿电容电纳enddisp('导纳矩阵为:');disp(Y); %显示导纳矩阵%初始化OrgS、DetaSOrgS=zeros(2*n-2,1);DetaS=zeros(2*n-2,1);%创建OrgS,用于存储初始功率参数h=0;j=0;for i=1:n %对PQ节点的处理if i~=isb&B2(i,6)==2 %不是平衡点&是PQ点h=h+1;for j=1:n%公式8-74%Pi=ei*(Gij*ej-Bij*fj)+fi*(Gij*fj+Bij*ej)%Qi=fi*(Gij*ej-Bij*fj)-ei*(Gij*fj+Bij*ej)OrgS(2*h-1,1)=OrgS(2*h-1,1)+real(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))+imag(B2(i,3))*(real (Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));OrgS(2*h,1)=OrgS(2*h,1)+imag(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))-real(B2(i,3))*(real(Y(i,j))*imag(B2(j ,3))+imag(Y(i,j))*real(B2(j,3)));endendendfor i=1:n %对PV节点的处理,注意这时不可再将h初始化为0if i~=isb&B2(i,6)==3 %不是平衡点&是PV点h=h+1;for j=1:n%公式8-75-a%Pi=ei*(Gij*ej-Bij*fj)+fi*(Gij*fj+Bij*ej)%Qi=fi*(Gij*ej-Bij*fj)-ei*(Gij*fj+Bij*ej)OrgS(2*h-1,1)=OrgS(2*h-1,1)+real(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))+imag(B2(i,3))*(real (Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));OrgS(2*h,1)=OrgS(2*h,1)+imag(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))-real(B2(i,3))*(real(Y(i,j ))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));endendend%创建PVU 用于存储PV节点的初始电压PVU=zeros(n-h-1,1);t=0;for i=1:nif B2(i,6)==3t=t+1;PVU(t,1)=B2(i,3);endend%创建DetaS,用于存储有功功率、无功功率和电压幅值的不平衡量h=0;for i=1:n %对PQ节点的处理if i~=isb&B2(i,6)==2h=h+1;DetaS(2*h-1,1)=real(B2(i,2))-OrgS(2*h-1,1); %delPiDetaS(2*h,1)=imag(B2(i,2))-OrgS(2*h,1); %delQiendendt=0;for i=1:n %对PV节点的处理,注意这时不可再将h初始化为0if i~=isb&B2(i,6)==3h=h+1;t=t+1;DetaS(2*h-1,1)=real(B2(i,1))-OrgS(2*h-1,1); %delPiDetaS(2*h,1)=real(PVU(t,1))^2+imag(PVU(t,1))^2-real(B2(i,3))^2-imag(B2(i,3))^2; %delUi endend% DetaS%创建I,用于存储节点电流参数i=zeros(n-1,1);h=0;for i=1:nif i~=isbh=h+1;I(h,1)=(OrgS(2*h-1,1)-OrgS(2*h,1)*sqrt(-1))/conj(B2(i,3));%conj求共轭endend%创建Jacbi(雅可比矩阵)Jacbi=zeros(2*n-2);h=0;k=0;for i=1:n %对PQ节点的处理if B2(i,6)==2h=h+1;for j=1:nif j~=isbk=k+1;if i==j %对角元素的处理Jacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3))+imag(I(h,1));Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3))+real(I(h,1));Jacbi(2*h,2*k-1)=-Jacbi(2*h-1,2*k)+2*real(I(h,1));Jacbi(2*h,2*k)=Jacbi(2*h-1,2*k-1)-2*imag(I(h,1));else %非对角元素的处理Jacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3));Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3));Jacbi(2*h,2*k-1)=-Jacbi(2*h-1,2*k);Jacbi(2*h,2*k)=Jacbi(2*h-1,2*k-1);endif k==(n-1) %将用于内循环的指针置于初始值,以确保雅可比矩阵换行k=0;endendendendendk=0;for i=1:n %对PV节点的处理if B2(i,6)==3h=h+1;for j=1:nif j~=isbk=k+1;if i==j %对角元素的处理Jacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3))+imag(I(h,1));Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3))+real(I(h,1));Jacbi(2*h,2*k-1)=2*imag(B2(i,3));Jacbi(2*h,2*k)=2*real(B2(i,3));else %非对角元素的处理Jacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3));Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3));Jacbi(2*h,2*k-1)=0;Jacbi(2*h,2*k)=0;endif k==(n-1) %将用于内循环的指针置于初始值,以确保雅可比矩阵换行k=0;endendendendenddisp('初始雅可比矩阵为:');disp(Jacbi);%求解修正方程,获取节点电压的不平衡量DetaU=zeros(2*n-2,1);DetaU=inv(Jacbi)*DetaS; %inv矩阵求逆% DetaU%修正节点电压j=0;for i=1:n %对PQ节点处理if B2(i,6)==2j=j+1;B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);endendfor i=1:n %对PV节点的处理if B2(i,6)==3j=j+1;B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);endend% B2%开始循环**********************************************************************while abs(max(DetaU))>prOrgS=zeros(2*n-2,1);h=0;j=0;for i=1:nif i~=isb&B2(i,6)==2h=h+1;for j=1:nOrgS(2*h-1,1)=OrgS(2*h-1,1)+real(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))+imag(B2(i,3))*(real (Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));OrgS(2*h,1)=OrgS(2*h,1)+imag(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))-real(B2(i,3))*(real(Y(i,j ))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));endendendfor i=1:nif i~=isb&B2(i,6)==3h=h+1;for j=1:nOrgS(2*h-1,1)=OrgS(2*h-1,1)+real(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))+imag(B2(i,3))*(real (Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));OrgS(2*h,1)=OrgS(2*h,1)+imag(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))-real(B2(i,3))*(real(Y(i,j ))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));endendend% OrgS%创建DetaSh=0;for i=1:nif i~=isb&B2(i,6)==2h=h+1;DetaS(2*h-1,1)=real(B2(i,2))-OrgS(2*h-1,1);DetaS(2*h,1)=imag(B2(i,2))-OrgS(2*h,1);endendt=0;for i=1:nif i~=isb&B2(i,6)==3h=h+1;t=t+1;% DetaS(2*h-1,1)=real(B2(i,2))-OrgS(2*h-1,1);DetaS(2*h-1,1)=real(B2(i,1))-OrgS(2*h-1,1);DetaS(2*h,1)=real(PVU(t,1))^2+imag(PVU(t,1))^2-real(B2(i,3))^2-imag(B2(i,3))^2;endend% DetaS%创建Ii=zeros(n-1,1);h=0;for i=1:nif i~=isbh=h+1;I(h,1)=(OrgS(2*h-1,1)-OrgS(2*h,1)*sqrt(-1))/conj(B2(i,3));endend% I%创建JacbiJacbi=zeros(2*n-2);h=0;k=0;for i=1:nif B2(i,6)==2h=h+1;for j=1:nif j~=isbk=k+1;if i==jJacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3))+imag(I(h,1));Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3))+real(I(h,1));Jacbi(2*h,2*k-1)=-Jacbi(2*h-1,2*k)+2*real(I(h,1));Jacbi(2*h,2*k)=Jacbi(2*h-1,2*k-1)-2*imag(I(h,1));elseJacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3));Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3));Jacbi(2*h,2*k-1)=-Jacbi(2*h-1,2*k);Jacbi(2*h,2*k)=Jacbi(2*h-1,2*k-1);endif k==(n-1)k=0;endendendendendk=0;for i=1:nif B2(i,6)==3h=h+1;for j=1:nif j~=isbk=k+1;if i==jJacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3))+imag(I(h,1));Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3))+real(I(h,1));Jacbi(2*h,2*k-1)=2*imag(B2(i,3));Jacbi(2*h,2*k)=2*real(B2(i,3));elseJacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3));Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3));Jacbi(2*h,2*k-1)=0;Jacbi(2*h,2*k)=0;endif k==(n-1)k=0;endendendend% JacbiDetaU=zeros(2*n-2,1);DetaU=inv(Jacbi)*DetaS;% DetaU%修正节点电压j=0;for i=1:nif B2(i,6)==2j=j+1;B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);endendfor i=1:nif B2(i,6)==3j=j+1;B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);endend% B2Times=Times+1; %迭代次数加1enddisp('迭代次数为:');disp(Times);disp('收敛时电压修正量为::');disp(DetaU);for k=1:nE(k)=B2(k,3);e(k)=real(E(k));f(k)=imag(E(k));V(k)=sqrt(e(k)^2+f(k)^2);sida(k)=atan(f(k)./e(k))*180./pi;end%=============== 计算各输出量=========================== disp('各节点的实际电压标幺值E为(节点号从小到大排列):'); disp(E); %显示各节点的实际电压标幺值E用复数表示disp('-----------------------------------------------------')disp('各节点的电压大小V为(节点号从小到大排列):');disp(V); %显示各节点的电压大小V的模值disp('-----------------------------------------------------');disp('各节点的电压相角sida为(节点号从小到大排列):');disp(sida); %显示各节点的电压相for p=1:nfor q=1:nC(p)=C(p)+conj(Y(p,q))*conj(E(q)); %计算各节点的注入电流的共轭值endS(p)=E(p)*C(p); %计算各节点的功率S = 电压X 注入电流的共轭值enddisp('各节点的功率S为(节点号从小到大排列):');disp(S); %显示各节点的注入功率Sline=zeros(n1,5);disp('-----------------------------------------------------');disp('各条支路的首端功率Si为(顺序同您输入B1时一致):');for i=1:n1p=B1(i,1);q=B1(i,2);Sline(i,1)=B1(i,1);Sline(i,2)=B1(i,2);if B1(i,6)==0Si(p,q)=E(p)*(conj(E(p))*conj(B1(i,4)./2)+(conj(E(p)*B1(i,5))-conj(E(q)))*conj(1./(B1(i,3)*B1(i,5))));Siz(i)=Si(p,q);elseSi(p,q)=E(p)*(conj(E(p))*((1-B1(i,5))/B1(i,3))+(conj(E(p))-conj(E(q)))*(B1(i,5)/B1(i,3)));Siz(i)=Si(p,q);endSSi(p,q)=Si(p,q);Sline(i,3)=Siz(i);ZF=['S(',num2str(p),',',num2str(q),')=',num2str(SSi(p,q))];disp(ZF);enddisp('-----------------------------------------------------');disp('各条支路的末端功率Sj为(顺序同您输入B1时一致):');for i=1:n1p=B1(i,1);q=B1(i,2);if B1(i,6)==0Sj(q,p)=E(q)*(conj(E(q))*conj(B1(i,4)./2)+(conj(E(q)./B1(i,5))-conj(E(p)))*conj(1./(B1(i,3)*B1(i,5))));Sjy(i)=Sj(q,p);elseSj(q,p)=E(q)*(conj(E(q))*((B1(i,5)*(B1(i,5)-1))/B1(i,3))+(conj(E(q))-conj(E(p)))*(B1(i,5)/B1(i,3)));Sjy(i)=Sj(q,p);endSSj(q,p)=Sj(q,p);Sline(i,4)=Sjy(i);ZF=['S(',num2str(q),',',num2str(p),')=',num2str(SSj(q,p))];disp(ZF);enddisp('-----------------------------------------------------');disp('各条支路的功率损耗DS为(顺序同您输入B1时一致):');for i=1:n1p=B1(i,1);q=B1(i,2);DS(i)=Si(p,q)+Sj(q,p);DDS(i)=DS(i);Sline(i,5)=DS(i);ZF=['DS(',num2str(p),',',num2str(q),')=',num2str(DDS(i))];disp(ZF);enddisp('-----------------------------------------------------');disp('各支路首端编号末端编号首端功率末端功率线路损耗');disp(Sline);六、运行结果及其分析是否采用默认数据?(1-默认数据;2-手动输入)1导纳矩阵为:2.9056 -11.5015i 0.0000 + 5.3173i -1.6606 +3.1617i -1.2450 + 2.3710i0.0000 + 5.3173i 0.0000 - 4.6633i 0.0000 + 0.0000i 0.0000 + 0.0000i-1.6606 + 3.1617i 0.0000 + 0.0000i 2.4904 - 4.7039i -0.8298 + 1.5809i-1.2450 + 2.3710i 0.0000 + 0.0000i -0.8298 + 1.5809i 2.0749 - 3.9089i初始雅可比矩阵为:11.1267 2.7603 -5.3173 0 -3.1617 -1.6606-3.0509 11.8762 0 -5.3173 1.6606 -3.1617-5.3173 0 5.3173 0 0 00 -5.3173 0 4.0092 0 0-3.3198 -1.7436 0 0 4.8217 2.69800 0 0 0 0 2.1000迭代次数为:4收敛时电压修正量为::1.0e-05 *0.0349-0.2445-0.0101-0.5713-0.0931-0.0073各节点的实际电压标幺值E为(节点号从小到大排列):0.9673 - 0.0655i 1.0252 - 0.1666i 1.0495 - 0.0337i 1.0500 + 0.0000i -----------------------------------------------------各节点的电压大小V为(节点号从小到大排列):0.9695 1.0387 1.0500 1.0500-----------------------------------------------------各节点的电压相角sida为(节点号从小到大排列):-3.8734 -9.2315 -1.8419 0各节点的功率S为(节点号从小到大排列):-0.0000 + 0.0000i -0.5000 - 0.3000i 0.2000 + 0.1969i 0.3277 + 0.0443i -----------------------------------------------------各条支路的首端功率Si为(顺序同您输入B1时一致):S(1,2)=-0.5-0.30713iS(1,3)=-0.24266-0.197iS(1,4)=-0.25734-0.11013iS(3,4)=-0.055551+0.0017528i-----------------------------------------------------各条支路的末端功率Sj为(顺序同您输入B1时一致):S(2,1)=0.5+0.24606iS(3,1)=0.25555+0.1952iS(4,1)=0.2712+0.1014iS(4,3)=0.056496-0.057061i-----------------------------------------------------各条支路的功率损耗DS为(顺序同您输入B1时一致):DS(1,2)=0-0.06107iDS(1,3)=0.012892-0.0018014iDS(1,4)=0.013863-0.0087295iDS(3,4)=0.00094545-0.055308i-----------------------------------------------------各支路首端编号末端编号首端功率末端功率线路损耗1.0000 + 0.0000i2.0000 + 0.0000i -0.5000 - 0.3071i 0.5000 + 0.2461i 0.0000 - 0.0611i 1.0000 + 0.0000i3.0000 + 0.0000i -0.2427 - 0.1970i 0.2556 + 0.1952i 0.0129 - 0.0018i 1.0000 + 0.0000i4.0000 + 0.0000i -0.2573 - 0.1101i 0.2712 + 0.1014i 0.0139 - 0.0087i3.0000 + 0.0000i4.0000 + 0.0000i -0.0556 + 0.0018i 0.0565 - 0.0571i 0.0009 - 0.0553i七、实验体会及感悟通过这次实验,首先让我对matlab软件有了初步的了解,对它强大的矩阵运算能力有了更深的体会,同时掌握了设置断点和断点调试的一般方法,结合课本上的程序流程图和参考资料上的例子单步跟踪调试,再一次的熟悉了牛顿拉夫逊法潮流计算的一般方法和步骤,对计算机计算潮流计算有了更进一步的认识,在学习潮流计算时,虽然依次学习了节点导纳矩阵,功率方程、雅可比矩阵,但不能将它们联系起来,更不知道其中的原委,通过程序的编写,知道了其中的联系,也知道了每个方程、矩阵在计算中的作用。
基于matlab符号运算的电力系统潮流计算
基于matlab符号运算的电力系统潮流计算
电力系统潮流计算是一种用来分析电力系统的负载和电能输送的方法。
在Matlab中,可以使用符号运算的工具来进行电力系统潮流计算,下面是一个基于Matlab符号运算的电力系统潮流计算的步骤示例:
步骤1:定义系统节点参数和系统支路参数,包括节点电压和相角、支路阻抗等。
步骤2:根据系统节点参数和支路参数,建立节点电压方程组和功率方程组,利用功率方程组求解节点电压方程组。
步骤3:利用符号运算的工具,将节点电压方程组和功率方程组转换为矩阵形式,形成潮流计算的数学模型。
步骤4:使用Matlab的符号运算工具求解潮流计算的数学模型,得到节点电压和功率的解。
步骤5:根据节点电压和功率的解,计算系统负载和电能输送情况,进行电力系统的潮流分析和评估。
需要注意的是,电力系统潮流计算涉及大量的矩阵运算和复杂的方程组求解,因此在实际计算中可能需要对问题进行简化和近似处理,以提高计算的效率和精度。
三机九节点电力系统仿真matlab
电力系统仿真作业—-—-——--—-—-三机九节点电力系统暂态仿真学院:能源与动力工程学院专业:电力系统及其自动化学号:姓名:于永生导师:授课教师:目录一、概述 (1)二、课程主要任务 (1)1.系统数据 (1)2.潮流计算 (3)3.负荷等效和支路简化 (4)4.求解电磁功率 (5)5.求解运动方程 (5)6.程序清单 (8)(1).主程序: (8)(2).极坐标转换成直角坐标函数pol2rect(V,del) (17)(3).直角坐标转换成极坐标函数rect2pol(Z) (17)(4).求解微分方程所用的得到微分量的函数Gen_fw(t,X,Y_Gen,E,Pm0,Tj) (17)三、课程总结及心得体会 (17)四、参考文献 (18)于永生电力系统仿真作业一、概述在动态稳定分析中,系统由线性化的微分方程组和代数方程组描写,并用经典的或现代的线性系统理论来进行稳定分析,分析可以在时域或频域进行。
当用计算机和现代线性系统理论分析时,常把系统线性化的微分方程组和代数方程组消去代数变量,化为状态方程形式,并广泛采用特征分析进行稳定分析.电力系统是由不同类型的发电机组、多种电力负荷、不同电压等级的电力网络等组成的十分庞大复杂的动力学系统。
其暂态过渡过程不仅包括电磁方面的过渡过程,而且还有机电方面的过渡过程。
由此可见,电力系统的数学模型是一个强非线性的高维状态方程组。
在动态稳定仿真中使用简单的电力系统模型,发电机用三阶模型表示。
二、课程主要任务本次课程主要应用P。
M. Anderson and A. A. Fouad编写的《Power System Control and Stability》一书中所引用的Western System Coordinated Council (WSCC)三机九节点系统模型。
1.系统数据其中,节点数据如下:%节点数据%节点电压电压发电机发电机负荷负荷节点%号幅值相角有功无功有功无功类型(1PQ 2PV 3平衡)N=[ 1 1。
基于MATLAB的电力系统潮流计算
基于MATLAB的电力系统潮流计算电力系统潮流计算是电力系统运行中重要的一项工作,其目的是计算电力系统中各节点(发电机、变电站、负荷等)的电压和功率,从而确定电力系统中各节点的电流分布和功率损耗情况。
在电力系统规划、运行和控制中,潮流计算是基础性的工作,对电网可靠性、经济性和安全性具有重要意义。
本文将以MATLAB为工具,介绍电力系统潮流计算的基本原理和实现方法。
电力系统潮流计算可以分为两类:直流潮流计算和交流潮流计算。
直流潮流计算是指假设电力系统只包含直流元件(直流发电机、直流负荷等)进行潮流计算,其基本原理是根据功率平衡方程和节点电压平衡方程,通过迭代计算节点电压和节点功率的方法来求解各节点的电压和功率。
直流潮流计算的优点是计算速度快、收敛性好,但其应用范围有限,只适用于简单的电力系统。
交流潮流计算是指考虑电力系统中的交流元件(变压器、线路、负荷等)进行潮流计算,其基本原理是根据功率平衡方程、节点电压平衡方程和变压器模型、线路模型等,通过迭代计算节点电压和节点功率的方法来求解各节点的电压和功率。
交流潮流计算的优点是适用于多机、多节点的复杂电力系统,可以考虑各种线圈特性和电压降特性,但其计算过程相对复杂,需要较大的计算资源。
MATLAB是一种功能强大的数学计算和数据可视化工具,其强大的矩阵计算能力和灵活的编程接口使得MATLAB成为电力系统潮流计算的理想工具。
使用MATLAB进行潮流计算的基本流程如下:1.构建电力系统的节点模型根据电力系统的实际情况,构建包含发电机、变电站、负荷和节点之间的连接关系的电力系统模型,将节点的电压和功率表示为复数形式。
2.确定潮流计算的初始值根据电力系统的实际情况,确定潮流计算的初始值,包括各节点的电压幅值和相位角。
3.建立功率平衡方程和节点电压平衡方程根据电力系统的网络拓扑结构和节点的电压和功率关系,建立功率平衡方程和节点电压平衡方程。
4.迭代计算节点电压和节点功率根据建立的方程,采用迭代算法(如牛顿-拉夫森法)求解节点的电压和节点功率,并根据迭代结果更新各节点的电压和功率值。
matlab实验电力系统潮流计算
matlab实验电力系统潮流计算电力系统潮流计算是电力系统运行分析的基础,它通过计算电力系统中各节点的电压幅值和相角,以及各支路的功率和电流,来研究电力系统的稳态工作状态。
本文将介绍潮流计算的原理及其在电力系统中的应用。
潮流计算的基本原理是基于电力系统节点间的功率平衡方程,即节点注入功率等于节点负荷消耗功率加上节点发电机注入功率和节点之间传输输电功率的代数和。
潮流计算通常分为直流潮流计算和交流潮流计算两种方法。
直流潮流计算是指忽略电流相位差的计算方法。
在直流潮流计算中,电力系统的节点电压幅值和相角可以用复数来表示,节点注入功率和节点负荷消耗功率也采用复功率的形式。
直流潮流计算的基本方程为:P+iQ = V*(Gcosθ+Bsinθ)其中,P和Q分别表示节点注入有功功率和无功功率,V表示节点电压幅值,θ表示节点电压相角,G和B分别表示节点导纳矩阵的实部和虚部。
交流潮流计算考虑了电流相位差的影响,是更为准确的潮流计算方法。
交流潮流计算通常采用牛顿-拉夫逊法(Newton-Raphson method)进行迭代求解。
该方法以功率不平衡最小为目标,通过迭代计算更新节点电压幅值和相角,直到收敛为止。
潮流计算在电力系统运行和规划中具有重要的应用价值。
首先,潮流计算可以用来评估电力系统的稳态工作状态,包括节点电压幅值和相角、支路功率和电流等信息。
通过分析潮流计算结果,可以发现电力系统中潜在的潮流瓶颈和潮流分布情况,为电网调度和运行提供参考依据。
其次,潮流计算可以用来优化电力系统的运行和规划。
通过分析潮流计算结果,可以确定潮流分布不均衡的节点和支路,进而优化电力系统的输电和变电容量配置,提高电力系统的可靠性、经济性和稳定性。
此外,潮流计算还可用于电力系统的故障分析和重构,对于故障点的电压幅值、相角以及故障后的支路功率和电流进行分析,有助于电力系统故障的定位和恢复。
总的来说,电力系统潮流计算是电力系统运行分析的重要工具,通过计算电力系统中各节点的电压幅值和相角,以及各支路的功率和电流,可以评估电力系统的稳态工作状态,优化电力系统的运行和规划,实现电力系统的安全、稳定和高效运行。
3机9节点潮流、短路仿真计算课程设计总结
3机9节点潮流、短路仿真计算课程设计总结以3机9节点潮流、短路仿真计算课程设计总结为标题的文章概述:本次课程设计主要涉及到3机9节点潮流和短路仿真计算。
通过对电力系统进行潮流计算和短路仿真,可以了解系统的电压、电流等重要参数,为系统的稳定运行提供参考。
本文将对本次课程设计的过程、结果和总结进行详细介绍。
一、潮流计算潮流计算是电力系统中常用的一种计算方法,用于确定系统中各节点的电压、电流等参数。
在本次课程设计中,我们使用了3台发电机和9个节点的电力系统进行潮流计算。
1.1 数据准备在进行潮流计算之前,需要准备系统的基本数据,包括发电机的有功功率、无功功率和电压,各节点的负荷功率和电压等信息。
通过收集和整理这些数据,我们可以建立电力系统的节点和支路信息。
1.2 潮流计算方法潮流计算可以使用不同的方法,如高斯-赛德尔迭代法、牛顿-拉夫逊法等。
在本次课程设计中,我们选择了高斯-赛德尔迭代法进行潮流计算。
该方法通过迭代计算各节点的电压和电流,直到满足收敛条件为止。
1.3 结果分析经过潮流计算,我们得到了系统中各节点的电压、电流等参数。
通过分析这些结果,我们可以了解系统中的电力流动情况,判断系统是否存在潮流过载、电压偏差等问题,并采取相应的措施进行调整和优化。
二、短路仿真计算短路仿真计算是针对系统发生故障时的一种计算方法,用于确定短路电流的大小和分布情况。
在本次课程设计中,我们使用了相同的3机9节点电力系统进行短路仿真计算。
2.1 短路故障类型短路故障可以分为对称短路和非对称短路两种类型。
对称短路是指系统中的故障电流对称分布,非对称短路则是指故障电流非对称分布。
在本次课程设计中,我们分别考虑了对称短路和非对称短路的情况。
2.2 短路电流计算方法短路电流的计算可以使用不同的方法,如阻抗法、对称分量法等。
在本次课程设计中,我们选择了阻抗法进行短路电流的计算。
该方法通过计算系统中各节点的阻抗和电压,确定短路电流的大小和分布情况。
matlab电力系统潮流计算
电力系统潮流计算是电力系统分析和运行中的重要环节。
潮流计算主要用于确定电力系统中各个节点的电压、功率和潮流方向,以便进行功率平衡、电压稳定和线路负荷等方面的分析和评估。
MATLAB作为一种强大的数学建模和仿真工具,被广泛应用于电力系统潮流计算的研究和实际工程中。
本文将介绍MATLAB在电力系统潮流计算中的应用,包括算法原理、建模步骤和实例分析等内容。
一、潮流计算的基本原理潮流计算是指在给定电力网拓扑结构、负荷信息和发电机功率的情况下,通过迭代计算求解节点电压的复数值,以确定各节点的电压幅值和相角,进而计算各支路和各节点上的有功和无功功率。
潮流计算的基本原理是基于电力系统的潮流方程和节点功率平衡等基本理论,通过建立节点电压的复数方程组,利用迭代计算方法求解该方程组,从而得到节点的电压和功率信息。
二、MATLAB在潮流计算中的应用MATLAB作为一种功能强大的数学建模和仿真工具,具有丰富的数学计算函数和图形显示功能,适合于电力系统潮流计算的建模和仿真。
在MATLAB环境下,可以利用其矩阵运算、方程求解和数据可视化等功能,实现电力系统潮流计算的数学模型和算法的实现。
下面将介绍MATLAB在电力系统潮流计算中的具体应用步骤。
1. 建立电力系统潮流计算的数学模型在MATLAB环境下,首先需要建立电力系统潮流计算的数学模型,包括节点电压方程、支路潮流方程、节点功率平衡方程等。
利用MATLAB的矩阵运算和符号计算工具,可以将电力系统的节点和支路参数、负荷信息、发电机功率等数据表示为矩阵形式,建立电力系统潮流计算的数学模型。
2. 编写潮流计算的求解算法在建立电力系统潮流计算的数学模型后,需要编写潮流计算的求解算法。
在MATLAB环境下,可以利用其丰富的数学计算函数和优化工具,实现潮流计算的迭代求解算法,包括高斯-赛德尔迭代法、牛顿-拉夫逊迭代法等。
通过编写求解算法,可以实现电力系统潮流计算的数值求解过程。
3. 进行潮流计算的仿真实验在完成潮流计算的求解算法后,可以利用MATLAB进行潮流计算的仿真实验。
基于MATLAB电力系统潮流计算和分析
一、实验目的了解计算机潮流分析的基本原理、主要步骤;熟悉Matlab运行环境;了解MATLAB潮流分析的步骤;对给定网络的运行方式做潮流分析,并初步分析计算结果。
二、实验原理:实验原理如下图:图1 系统原理图三、实验仪器、设备:一台装有MATLAB R2010a的个人计算机三相同步发电机模型,变压器模型,负荷模型,线路元件模型四、实验步骤:(1)熟悉原始资料:根据计算要求,整理数据,包括:计算网络中线路、变压器的参数(以上数据均采用有名值计算)(2)上机调试:熟悉Matlab的运行环境,准确输入原始数据、节点编号、节点注入功率等信息;(3)整理计算结果:根据计算结果作电网潮流分布图。
五、实验网络接线图及原始数据如图所示,3为平衡节点,1、2为P、Q节点,电压等级为110kV,节点处功率已将各线路充电功率考虑在内,3节点电压为115kV,角度为0。
原始数据各参数是以其自身额定功率和额定电压为基准的标幺值。
发电机参数 Pn=100MV·A,Un=10.5KV ,fn=50Hz, 变压器参数采用Y-Y 连接方式 T1的参数 Pn=100MV·A,fn=50Hz,一次绕组:U1=10.5KV ,R1=0.002,L1=0,二次绕组:U2=121KV ,R2=0.002,L2=0.015, Rm=5000,Lm=5000 T2的参数 Pn=100MV·A,fn=50Hz,一次绕组:U1=10.5KV ,R1=0.002,L1=0, 二次绕组:U2=121KV ,R2=0.002,L2=0.03,25+j18MV A3225+j18MVA32Rm=5000,Lm=5000线路参数L23:R*=0.08,X*=0.30,Y*=0.5L31:R*=0.10,X*=0.35,Y*=0L12:R*=0.04,X*=0.25,Y*=0.5六、实验数据记录及处理:从各个Scope中可以看到输电线π型等值电路两端的有功与无功功率的波形,具体操作方法是从Workspace中读出记录的数据(如图三、图四),数据有多组,取其平均值,分别得到各输电线π型等值电路两端的有功和无功功率。
matlab3机九节点潮流计算
matlab3机九节点潮流计算
由于本人是AI语言模型,无法进行具体的matlab3机九节点潮流计算,以下是一般性的matlab潮流计算步骤,供参考:
1. 构建潮流计算模型,包括发电机、负荷、变压器、线路等元件的参数和拓扑结构。
2. 设计潮流计算算法,一般采用迭代法,如牛顿-拉夫逊法等。
3. 初始化潮流计算,将节点电压和相角初值赋予各节点。
4. 迭代计算,根据节点电压和相角的初值和元件参数,计算各节点电压和相角的变化量,并更新节点电压和相角。
5. 判断精度是否满足要求,若满足则输出结果,否则继续迭代计算。
6. 结束潮流计算。
在具体实现时,需要根据九节点的具体参数和拓扑结构进行修改和优化。
电力系统潮流计算(九节点)
辽宁工程技术大学电力系统分析课程设计设计题目9节点电力网络潮流计算指导教师院(系、部)专业班级学号姓名日期电气工程系课程设计标准评分模板电力系统分析课程设计任务书9节点系统单线图如下:基本数据如下:母线名基准电压区域号电压上限电压下限发电 1 16.5000 2 18.1500 14.8500 发电 2 18.000 1 19.800 16.2000 发电 3 13.8000 1 15.1800 12.4200 GEN1-230 230.000 2 0.0000 0.0000 GEN2-230 230.000 1 0.0000 0.0000 GEN3-230 230.000 1 0.0000 0.0000 STNA-230 230.000 2 0.0000 0.0000 STNB-230 230.000 2 0.0000 0.0000 STNC-230 230.000 1 0.0000 0.0000数据组I 侧母线J 侧母线编号所属区域单位正序电阻正序电抗正序充电电纳的1/2常规GEN1-230 STNA-230 1 I侧标么0.010000 0.085000 0.088000 常规STNA-230 GEN2-230 2 I侧标么0.032000 0.161000 0.153000 常规GEN2-230 STNC-230 3 I侧标么0.008500 0.072000 0.074500 常规STNC-230 GEN3-230 4 I侧标么0.011900 0.100800 0.104500 常规GEN3-230 STNB-230 5 I侧标么0.039000 0.170000 0.179000 常规STNB-230 GEN1-230 6 I侧标么0.017000 0.092000 0.079000表3 两绕组变压器数据负荷数据电网12-1班数据目录1 PSASP软件简介 (1)1.1 PSASP平台的主要功能和特点 (7)1.2 PSASP的平台组成 (8)2 牛顿拉夫逊潮流计算简介 (9)2.1 牛顿—拉夫逊法概要 (9)2.2 直角坐标下的牛顿—拉夫逊潮流计算 (11)2.3 牛顿—拉夫逊潮流计算的方法 (6)3 九节点系统单线图及元件数据 (8)3.1 九节点系统单线图 (8)3.2 系统各项元件的数据 (9)4 潮流计算的结果 (11)4.1 潮流计算后的单线图 (17)4.2 潮流计算结果输出表格 (18)5 结论 (22)6 参考文献 (17)1 PSASP软件简介“电力系统分析综合程序”(Power System Analysis Software Package,PSASP)是一套历史悠久、功能强大、使用方便的电力系统分析程序,是高度集成和开发具有我国自主知识产权的大型软件包。
基于MATLAB的电力系统潮流计算
摘要潮流计算是电力系统最基本、最常用的计算。
根据系统给定的运行条件、网络接线及元件参数,通过潮流计算可以确定各母线的电压(幅值及相角),各元件中流过的功率、整个系统的功率损耗等。
潮流计算是实现电力系统安全经济发供电的必要手段和重要工作环节。
因此潮流计算在电力系统的规划设计、生产运行、调度管理及科学研究中都有着广泛的应用。
本次设计的主要目的就是面向一般的电力网络,形成节点导纳矩阵,确定合适的算法,编写通用的计算程序,得到计算结果。
设计中主要介绍了牛顿拉夫逊和PQ分解两种算法,PQ分解法虽然在结构上比牛顿法更加简化,但是针对一般网络现代计算机在存储空间及计算速度上已经十分强大,鉴于对牛顿法的熟悉与其算法的直观性,本次设计在编程时采用了牛顿拉夫逊法的直角坐标形式。
解方程的过程利用Matlab的强大计算功能,编写M语言,合理设置变量,实现通用计算功能。
关键词: 电力系统,潮流计算,牛顿—拉夫逊法,Matlab。
AbstractPower system load flow calculation is the most basic and commonly used calculations. Given according to the system operating conditions, the network connection and device parameters can be determined by power flow calculation of the bus voltage (magnitude and phase angle), the power flowing through the components, overall system power consumption and so on. Flow calculation is to achieve economic development of power system supply the necessary means and important part of the work. Therefore flow calculation in power system planning and design, production and operation, scheduling management, and scientific research have a wide range of applications.The main purpose of this design is for the general electricity network, the formation of the node admittance matrix, determine the appropriate method, the preparation of general-purpose computer program to get results. Introduces the design and the PQ decomposition Newton Raphson two algorithms, PQ decomposition although the structure is more streamlined than the Newton method, but for the general network of modern computer storage space and computing speed has been very strong, in view of the Newton Familiar with its intuitive algorithm, this design in programming using Newton Raphson polar form. The process of solving equations using matlab powerful computing capabilities, the preparation of M language, a reasonable set variables, to achieve general-purpose computing functions.Keywords: power system, power flow calculation, Newton - Raphson method, Matlab.目录摘要 (I)Abstract (II)目录 .................................................................................................................................................... I II 1 引言 .. (1)1.1 潮流计算目的 (1)1.2 潮流计算意义 (1)1.3 潮流计算发展史 (1)1.4基于MATLAB 的电力系统潮流计算发展前景 (2)2简单电力系统潮流计算 (4)2.1简单辐射网络的潮流计算 (4)2.1.1简单支路的潮流分布和电压降落 (4)2.1.2 辐射型网络的手工潮流计算方法 (6)2.2 简单环网的潮流计算 (7)2.2.1两端电压相等 (7)2.2.2两端电压不相等 (8)3 复杂电力系统潮流计算的计算机算法 (10)3.1电力网络方程及等值电路 (10)3.2节点导纳矩阵形成及修改 (11)3.3节点的分类 (14)3.3.1 PQ节点 (14)3.3.2 PV节点 (14)3.3.3 平衡节点 (14)3.4潮流计算的约束条件 (15)3.5牛顿-拉夫逊法(直角坐标) (15)3.5.1牛顿-拉夫逊法的推导过程 (15)3.5.2潮流计算时的修正方程(直角坐标) (17)3.5.3雅可比矩阵的特点: (19)3.5.4牛顿-拉夫逊法计算步骤 (19)3.6 P-Q分解法潮流计算 (20)3.6.1 P-Q分解法潮流计算概述 (20)3.6.2 P-Q分解法的潮流计算步骤 (20)3.6.3 P-Q分解法的特点 (21)4 Matlab概述 (22)4.1Matlab简介 (22)4.2 Matlab中的变量 (22)4.3 Matlab编程 (23)4.3.1矩阵的输入 (23)4.3.2矩阵的运算 (24)4.3.3 MatLab的控制流 (24)5 牛顿法潮流计算程序设计及实例 (26)5.1手算 (26)5.2计算机算法的数据输入 (29)5.3潮流计算程序 (30)5.3 计算结果分析 (36)结论 (37)参考文献 (38)附录A 程序流程图 (39)附录B Matlab仿真 (40)致谢 (43)1 引言1.1 潮流计算目的电力系统潮流计算是研究电力系统稳态运行情况的一种基本电气计算。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电力系统分析大作业一、设计题目本次设计题目选自课本第五章例5-8,美国西部联合电网WSCC 系统的简化三机九节点系统,例题中已经给出了潮流结果,计算结果可以与之对照。
取ε=0.00001 。
二、计算步骤第一步,为了方便编程,修改节点的序号,将平衡节点放在最后。
如下图:第二步,这样得出的系统参数如下表所示:第三步,形成节点导纳矩阵。
第四步,设定初值:01)0(6)0(5)0(4)0(3)0(2)0(1∠======∙∙∙∙∙∙U U U U U U ;0)0(8)0(7==Q Q ,0)0(8)0(7==θθ。
第五步,计算失配功率)0(1P ∆=0,)0(2P ∆=-1.25,)0(3P ∆=-0.9,)0(4P ∆=0,)0(5P ∆=-1,)0(6P ∆=0,)0(7P ∆=1.63, )0(8P ∆=0.85; )0(1Q ∆=0.8614,)0(2Q ∆=-0.2590,)0(3Q ∆=-0.0420,)0(4Q ∆=0.6275,)0(5Q ∆=-0.1710,)0(6Q ∆=0.7101。
显然,5108614.0|},max {|-=>=∆∆εi i Q P 。
第六步,形成雅克比矩阵(阶数为14×14) 第七步,解修正方程,得到:=∆)0(1θ-0.0371,=∆)0(2θ-0.0668,=∆)0(3θ-0.0628,=∆)0(4θ0.0732,=∆)0(5θ0.0191,=∆)0(6θ0.0422,921327 45683=∆)0(7θ0.1726,=∆)0(8θ0.0908;=∆)0(1U 0.0334,=∆)0(2U 0.0084,=∆)0(3U 0.0223,=∆)0(4U 0.0372,=∆)0(5U 0.0266,=∆)0(6U 0.0400。
从而=)1(1θ-0.0371,=)1(2θ-0.0668,=)1(3θ-0.0628,=)1(4θ0.0732,=)1(5θ0.0191,=)1(6θ0.0422,=)1(7θ0.1726,=)1(8θ0.0908;=)1(1U 1.0334,=)1(1U 1.0084,=)1(1U 1.0223,=)1(1U 1.0372,=)1(1U 1.0266,=)1(1U 1.0400。
然后转入下一次迭代。
经三次迭代后5510101845.0|},max {|--=<⨯=∆∆εi i Q P 。
迭代过程中失配功率的变化情况如下表:k 0 1 2 3 Δ=P 1 0 -0.0106 0.0001 0.0000000845 Δ=P 2 -1.25 0.0379 0.0005 0.0000000896 Δ=P 3 -0.9 0.0439 0.0005 0.0000000778 Δ=P 4 0 -0.0421 -0.0012 -0.0000003421 Δ=P 5 -1 0.061 0.0009 0.0000001845 Δ=P 6 0 -0.0269 -0.0007 -0.0000001631 Δ=P 7 1.63 -0.0579 -0.0004 -0.0000000278 Δ=P 8 0.85 -0.0336 -0.0002 -0.0000000103 Δ=Q 1 0.8614 -0.0501 -0.0004 -0.0000000561 Δ=Q 2 -0.259 -0.0714 -0.0012 -0.0000002774 Δ=Q 3 -0.042 -0.0424 -0.0006 -0.0000001236 Δ=Q 4 0.6275 -0.1875 -0.0021 -0.0000003279 Δ=Q 5 -0.171 -0.0241 -0.0004 -0.0000000805 Δ=Q 6 0.7101 -0.0828 -0.0007 -0.0000000799 max1.630.0610.00090.0000001845迭代过程中节点电压变化情况如下表:k U 1 U 2 U 3 U 4 U 5 U 6 0 1 1 1 1 1 1 1 1.0334 1.0084 1.0223 1.0372 1.0266 1.0400 2 1.0259 0.9958 1.0128 1.0259 1.0160 1.0324 31.02580.99561.01271.02581.01591.0324迭代收敛后各节点的电压和功率:k U θ P Q1 1.0258 -2.2168 0.0000 0.00002 0.9956 -3.9888 -1.2500 -0.50003 1.0127 -3.6874 -0.9000 -0.3000 4 1.0258 3.7197 0.0000 0.00005 1.0159 0.7275 -1.0000 -0.35006 1.0324 1.9667 0.0000 0.0000 7 1.0250 9.2800 1.6300 0.06658 1.0250 4.6648 0.8500 -0.10869 1.0400 0.0000 0.7164 0.2705同课本上给出的潮流相比较,结果完全一致,证明计算过程与程序编写正确。
最后得出迭代收敛后各支路的功率和功率损耗:三、源程序及注释 由于计算流程比较简单,所以编写程序过程中没有采用模块化的形式,直接按顺序一步步进行。
【 节点disp('数:】');[n1]=xlsread('input.xls','A3:A3')%节点数 disp('【 支路数:】');[n]=xlsread('input.xls','B3:B3')%支路数 disp('【 精度:】');Accuracy=xlsread('input.xls','B4:B4')%精度[branch]=xlsread('input.xls','E4:K12'); [node]=xlsread('input.xls','M4:S12'); Data_B1=branch;%支路参数 Data_B2=node;%节点参数 T1=zeros(n,2);i j Pij Qij Iij Pji Qji Iji P L Q L 1 2 0.4094 0.2289 0.4572 -0.4068 -0.3869 0.5639 0.0026 -0.1579 1 3 0.3070 0.0103 0.2995 -0.3054 -0.1654 0.3430 0.0017 -0.1551 2 4 -0.8432 -0.1131 0.8545 0.8662 -0.0838 0.8484 0.0230 -0.19693 6 -0.5946 -0.1346 0.6020 0.6082 -0.1807 0.6146 0.0135 -0.31534 5 0.7638 -0.0080 0.7447 -0.7590 -0.1070 0.7546 0.0048 -0.1150 5 6 -0.2410 -0.2430 0.3368 0.2418 0.0312 0.2362 0.0009 -0.2118 9 1 0.7164 0.2705 0.7363 -0.7164 -0.2392 0.7363 0.0000 0.0312 7 4 1.6300 0.0665 1.5916 -1.6300 0.0918 1.5916 0.0000 0.1583 8 6 0.8500 -0.1086 0.8360 -0.8500 0.1496 0.8360 0.0000 0.0410T2=zeros(n1,3);i=sqrt(-1);format shortfor j=1:nT1(j,1)=Data_B1(j,3)+Data_B1(j,4)*1i;T1(j,2)=Data_B1(j,5)*1i;endfor j=1:n1T2(j,1)=Data_B2(j,1)+Data_B2(j,2)*1i;T2(j,2)=Data_B2(j,3)+Data_B2(j,4)*1i; endB1=zeros(n,6);B2=zeros(n1,5);for j=1:nB1(j,1)=Data_B1(j,1);B1(j,2)=Data_B1(j,2);B1(j,3)=T1(j,1);B1(j,4)=T1(j,2);B1(j,5)=Data_B1(j,6);B1(j,6)=Data_B1(j,7);endfor j=1:n1B2(j,1)=T2(j,1);B2(j,2)=T2(j,2);B2(j,3)=Data_B2(j,5);B2(j,4)=Data_B2(j,6);B2(j,5)=Data_B2(j,7);enddisp('【支路参数矩阵:】');B1 %显示支路参数矩阵disp('【节点参数矩阵:】');B2 %显示节点参数矩阵% 以上为从excel中导入初值的程序Y=zeros(n1);for i=1:nif B1(i,6)==0 %不含变压器的支路p=B1(i,1);q=B1(i,2);Y(p,q)=Y(p,q)-1/B1(i,3);Y(q,p)=Y(p,q);Y(p,p)=Y(p,p)+1/B1(i,3)+0.5*B1(i,4); Y(q,q)=Y(q,q)+1/B1(i,3)+0.5*B1(i,4);else%含有变压器的支路p=B1(i,1);q=B1(i,2);Y(p,q)=Y(p,q)-1/(B1(i,3)*B1(i,5));Y(q,p)=Y(p,q);Y(p,p)=Y(p,p)+1/B1(i,3);Y(q,q)=Y(q,q)+1/(B1(i,5)^2*B1(i,3));endenddisp('【导纳矩阵:】');Y %显示导纳矩阵m=0;for i=1:n1if B2(i,5)==2m=m+1;endendm %PQ节点个数l=0;for i=1:n1if B2(i,5)==1l=l+1;endendl %PV节点个数Mismatch_power=zeros(l+m*2,1);for i=1:n1-1Pj=0;for j=1:n1Pj=Pj+(B2(i,3)*B2(j,3)*(real(Y(i,j))*cos(B2(i,4)-B2(j,4))+imag(Y(i,j))*sin(B2(i,4)-B 2(j,4))));endMismatch_power(i,1)=real(B2(i,1))-real(B2(i,2))-Pj;endfor k=n1:(l+m*2)Qj=0;for j=1:n1Qj=Qj+B2((k-n1+1),3)*B2(j,3)*(real(Y((k-n1+1),j))*sin(B2((k-n1+1),4)-B2(j,4))-imag(Y ((k-n1+1),j))*cos(B2((k-n1+1),4)-B2(j,4)));endMismatch_power(k,1)=imag(B2((k-n1+1),1))-imag(B2((k-n1+1),2))-Qj;end% Mismatch_power %计算失配功率times=0;while(max(Mismatch_power)>Accuracy)for i=1:(n1-1)Pj=0;for j=1:n1Pj=Pj+B2(i,3)*B2(j,3)*(real(Y(i,j))*cos(B2(i,4)-B2(j,4))+imag(Y(i,j))*sin(B2(i,4)-B2 (j,4)));endMismatch_power(i,1)=real(B2(i,1))-real(B2(i,2))-Pj;endfor k=n1:(l+m*2)Qj=0;for j=1:n1Qj=Qj+B2((k-n1+1),3)*B2(j,3)*(real(Y((k-n1+1),j))*sin(B2((k-n1+1),4)-B2(j,4))-imag(Y ((k-n1+1),j))*cos(B2((k-n1+1),4)-B2(j,4)));endMismatch_power(k,1)=imag(B2((k-n1+1),1))-imag(B2((k-n1+1),2))-Qj;enddisp('【当前迭代次数:】');timesdisp('【失配功率:】');Mismatch_powerJacobian=zeros(l+m*2);%雅克比矩阵7*7%————————————————————————————————————Hfor i=1:(n1-1)for j=1:(n1-1)if i==jP_H=0;for k=1:n1P_H=P_H+B2(i,3)*B2(k,3)*(real(Y(i,k))*sin(B2(i,4)-B2(k,4))-imag(Y(i,k))*cos(B2(i,4)-B2(k,4)));endJacobian(i,i)=P_H-B2(i,3)*B2(i,3)*(0-imag(Y(i,i)));elseJacobian(i,j)=0-B2(i,3)*B2(j,3)*(real(Y(i,j))*sin(B2(i,4)-B2(j,4))-imag(Y(i,j))*cos( B2(i,4)-B2(j,4)));endendend%————————————————————————————————————Nfor i=1:(n1-1)for j=1:mif i==jP_N=0;for k=1:n1P_N=P_N+B2(k,3)*(real(Y(i,k))*cos(B2(i,4)-B2(k,4))+imag(Y(i,k))*sin(B2(i,4)-B2(k,4)) );endJacobian(i,n1-1+i)=0-B2(i,3)*real(Y(i,i))-P_N;elseJacobian(i,n1-1+j)=0-B2(i,3)*(real(Y(i,j))*cos(B2(i,4)-B2(j,4))+imag(Y(i,j))*sin(B2(i,4)-B2(j,4)));endendend%————————————————————————————————————Kfor i=1:mfor j=1:(n1-1)if i==jP_K=0;for k=1:n1P_K=P_K+B2(i,3)*B2(k,3)*(real(Y(i,k))*cos(B2(i,4)-B2(k,4))+imag(Y(i,k))*sin(B2(i,4)-B2(k,4)));endJacobian(n1-1+i,i)=0+B2(i,3)*B2(i,3)*real(Y(i,i))-P_K;elseJacobian(n1-1+i,j)=B2(i,3)*B2(j,3)*(real(Y(i,j))*cos(B2(i,4)-B2(j,4))+imag(Y(i,j))*s in(B2(i,4)-B2(j,4)));endendend%————————————————————————————————————Lfor i=1:mfor j=1:mif i==jP_L=0;for k=1:n1P_L=P_L+B2(k,3)*(real(Y(i,k))*sin(B2(i,4)-B2(k,4))-imag(Y(i,k))*cos(B2(i,4)-B2(k,4)) );endJacobian(n1-1+i,n1-1+i)=0-P_L+B2(i,3)*imag(Y(i,i));elseJacobian(n1-1+i,n1-1+j)=0-B2(i,3)*(real(Y(i,j))*sin(B2(i,4)-B2(j,4))-imag(Y(i,j))*co s(B2(i,4)-B2(j,4)));endendendS=zeros(l+m*2,1); %初始化电压角度变化量S=inv(Jacobian)*(0-Mismatch_power); %求解修正方程S=(Jacobian)\(0-Mismatch_power); %求解修正方程for i=1:(n1-1) %角度初值加变化量B2(i,4)=B2(i,4)+S(i,1);endfor i=1:m %电压初值加变化量B2(i,3)=B2(i,3)+S(n1-1+i,1);enddisp('【雅克比矩阵:】');Jacobian %显示雅克比矩阵% S=inv(Jacobian)times=times+1;endtimes=times-1;disp('【共计迭代次数:】');times %显示迭代次数U_It=zeros(n1,1); %初始化电压向量for i=1:n1U_It(i,1)=B2(i,3)*cos(B2(i,4))+B2(i,3)*sin(B2(i,4))*1j;endangle_It=zeros(n1,1); %将电压角度的弧度值转为角度值for i=1:n1angle_It(i,1)=B2(i,4)*180/pi;endNode_S_It=U_It.*(conj(Y)*conj(U_It)); %求解节点功率disp('【迭代收敛后各节点的电压幅值:】');Node_U_It=abs(U_It) %显示迭代收敛后各节点的电压幅值disp('【迭代收敛后各节点的电压角度:】');angle_It %显示迭代收敛后各节点的电压角度disp('【迭代收敛后各节点的功率:】');Node_S_It %显示迭代收敛后各节点的功率Branch_It=zeros(n,10);for i=1:n;if B1(i,6)==0; %不带变压器支路m=B1(i,1); %得到支路号n=B1(i,2);Branch_It(i,1)=m; %显示支路号Branch_It(i,2)=n;a=U_It(m,1)*(conj(U_It(m,1))*conj(B1(i,4))*0.5+(conj(U_It(m,1))-conj(U_It(n,1)))/con j(B1(i,3)));Branch_It(i,3)=real(a); %显示PijBranch_It(i,4)=imag(a); %显示Qijb=U_It(m,1)*B1(i,4)*0.5+(U_It(m,1)-U_It(n,1))/B1(i,3);Branch_It(i,5)=sqrt(real(b)^2+imag(b)^2); %显示Iijc=U_It(n,1)*(conj(U_It(n,1))*conj(B1(i,4))*0.5+(conj(U_It(n,1))-conj(U_It(m,1)))/con j(B1(i,3)));Branch_It(i,6)=real(c); %显示PjiBranch_It(i,7)=imag(c); %显示Qjid=U_It(n,1)*B1(i,4)*0.5+(U_It(n,1)-U_It(m,1))/B1(i,3);Branch_It(i,8)=sqrt(real(d)^2+imag(d)^2); %显示Ijie=a+c;Branch_It(i,9)=real(e); %显示线路损耗有功分量Branch_It(i,10)=imag(e); %显示线路损耗无功分量else%带变压器支路(同以上内容)m=B1(i,1);n=B1(i,2);Branch_It(i,1)=m;Branch_It(i,2)=n;a=U_It(m,1)*(conj(U_It(m,1))/conj(B1(i,3))-conj(U_It(n,1))*conj(1/(B1(i,5)*B1(i,3))) );Branch_It(i,3)=real(a);Branch_It(i,4)=imag(a);b=U_It(m,1)*(B1(i,5)-1)/B1(i,3)/B1(i,5)+(U_It(m,1)-U_It(n,1))/(B1(i,5)*B1(i,3));Branch_It(i,5)=sqrt(real(b)^2+imag(b)^2);c=U_It(n,1)*(conj(U_It(n,1))/(conj(B1(i,5)*B1(i,5)*B1(i,3)))-conj(U_It(m,1))*conj(1/ (B1(i,5)*B1(i,3))));Branch_It(i,6)=real(c);Branch_It(i,7)=imag(c);d=U_It(n,1)*(1-B1(i,5))/B1(i,5)/B1(i,5)/B1(i,3)+(U_It(n,1)-U_It(m,1))/B1(i,5)/B1(i,3 );Branch_It(i,8)=sqrt(real(d)^2+imag(d)^2);e=a+c;Branch_It(i,9)=real(e);Branch_It(i,10)=imag(e);endenddisp('【迭代收敛后各支路的功率和功率损耗:】');Branch_It %显示迭代收敛后各支路的功率和功率损耗% %—————————————————————————————向Excel表中输出数据% Node_S_It_Real=real(Node_S_It);% Node_S_It_imag=imag(Node_S_It);% xlswrite('output.xls',Node_U_It,1,'B3');% xlswrite('output.xls',angle_It,1,'C3');% xlswrite('output.xls',Node_S_It_Real,1,'D3');% xlswrite('output.xls',Node_S_It_imag,1,'E3');% xlswrite('output.xls',Branch_It,1,'G3');程序中还有将数据从Excel表格中读入输出的xlsread和xlswrite功能,直接将数据输入到Excel表格中,可以省略将数据写在程序中或者一一输入的步骤,适用于任何节点的电力系统潮流计算。