极坐标潮流算法

合集下载

基于极坐标的牛顿拉夫逊潮流计算

基于极坐标的牛顿拉夫逊潮流计算

基于极坐标的牛顿拉夫逊潮流计算
极坐标牛顿拉夫逊潮流(PNF)计算也称为极坐标矢量法,是一种利用
极坐标变换计算复杂电力系统潮流的数值计算方法。

极坐标牛顿拉夫逊潮
流计算把复杂的三相系统潮流变换为一种简单的极坐标系统,把潮流计算
变换为水平和垂直运动,而每一个潮流方程只需要解决一个联立方程,从
而大大简化了潮流计算的复杂性。

极坐标牛顿拉夫逊潮流计算首先把潮流计算分为两部分,第一部分是
极坐标系变换,把复杂的三相系统潮流变换为一种简单的极坐标系统,这
部分计算主要包括把直流潮流变换为极坐标系统、设置极坐标参数等步骤;第二部分是牛顿拉夫逊潮流计算,即基于极坐标系统解决潮流方程。

牛顿
拉夫逊潮流计算的核心部分是极坐标潮流模型,包括水平潮流模型和垂直
潮流模型。

极坐标牛顿拉夫逊潮流计算的优势主要体现在潮流计算过程简单、求
解效率高。

基于极坐标的牛顿拉夫逊法潮流计算设计

基于极坐标的牛顿拉夫逊法潮流计算设计

毕业设计基于极坐标的牛顿-拉夫逊法潮流计算摘要潮流计算是电力系统最基本的计算功能,其基本思想是根据电力网络上某些节点的已知量求解未知量,潮流计算在电力系统中有着独特的作用。

它不仅能确保电力网络能够正常的运行工作、提供较高质量的电能,还能在以后的电力系统扩建中各种计算提供必要的依据。

计算潮流分布的方法很多,本设计主要用的是基于极坐标的牛顿-拉夫逊法。

根据电力系统网络的基本知识,构建出能代表电力系统系统网络的数学模型,然后用牛顿—拉夫逊法反复计算出各个接点的待求量,直到各个节点的待求量满足电力系统的要求。

我们可以画出计算框图,用MATLAB编写出程序,来代替传统的手算算法。

复杂电力系统是一个包括大量母线、支路的庞大系统。

对这样的系统进行潮流分析时,采用人工计算的方法已经不再适用。

计算机计算已逐渐成为分析复杂系统潮流分布的主要方法。

本设计中还用了一个五节点的电力系统网络来验证本设计在实际运行中的优越性。

关键词:牛顿-拉夫逊法,复杂电力系统,潮流计算The method of Newton- Raphson based on polarABSTRACTPower system load flow calculation is the most basic computing functions, the basic idea is based on some of the electricity network nodes to solve the unknown quantity of known volume,In power system, power flow, which can ensure that electrical net can work well and give the high quality power, but also later provide the necessary datas in the enlargement of the power system. has special function.There are lots of methods about power flow. We mainly use the method of Newton-Raphson based on polar in my design. According to the basic knowledge of the electrical network, we established the mathematics model which can presents the power system ,then computed again and again unknown members of the each bus with the method of Newton-RaphSon until the unknown numbers meet the demand of the power system. We can write down the block diagram and write the order with the Matlab in place of the traditional methods. Complex power system is a large system which involves lots of bus bars and branches. We also chose a five-bus power system for testing the advantages in the relity.KEY WORDS: Newton-Raphson,power system,power flow目录前言 (1)第一章电力系统潮流计算的基本知识 (2)1.1潮流计算的定义及目的 (2)1.2潮流计算方法的发展及前景 (2)第二章潮流计算的节点 (5)2.1 节点的分类 (5)2.2潮流问题变量的约束条件 (7)第三章电力网络的数学模型 (8)3.1 节点导纳矩阵的形成 (9)3.2 节点导纳矩阵的修改 (9)第四章潮流计算的原理 (12)4.1 牛顿-拉夫逊法 (12)第五章计算实例 (17)5.1算例 (17)5.2 节点导纳的形成 (17)5.3 计算结果 (18)结论 (20)谢辞 (22)参考文献 (23)附录 (24)计算程序 (25)外文资料翻译 (41)前言潮流计算是电力系统中应用最广泛和最重要的一种电气计算。

极坐标法潮流计算教材

极坐标法潮流计算教材

课程设计(论文)任务书1.掌握电力系统极坐标下的牛顿- 拉夫逊计算的基本原理;2.掌握并能熟练运用一门计算机语言(MATLAB 语言或FORTRAN 或C语言或C++语言);3.采用计算机语言对极坐标下的牛顿- 拉夫逊计算进行计算机编程计算。

通过课程设计, 使学生巩固电力系统潮流计算的基本原理与方法,掌握潮流计算的数值求解方法(节点导纳矩阵,修正方程),开发系统潮流计算的计算程序。

让学生掌握用计算机仿真分析电力系统的方法。

同时,通过软件开发,也有助于计算机操作能力和软件开发能力的提高。

二、已知技术参数和条件在图所示的简单电力系统中,系统中节点1、2 为PQ 节点,节点3 为PV节点,节点4 为平衡节点,已给定s1 0.4 j0.3,s2 0.3 j0.2 ,P3 0.4,V3 1.02,V4 1.05,4 0 ,网络各元件参数的标幺值如表2 所示,给定电压的初始值如表2 所示,收敛系数0.00001 。

试求:采用极坐标下的牛顿-拉夫逊计算图1 网络的潮流分布。

三、任务和要求任务:熟练掌握计算机语言,并采用计算机编程进行下列计算:根据电力系统网络推导电力网络数学模型,写出节点导纳矩阵;掌握潮流计算的数值求解方法(节点导纳矩阵,修正方程),开发系统潮流计算的计算程序。

要求:1.手工计算,手写,采用A4 纸,得出计算结果。

2.编写程序:它包括程序源代码;程序说明;部分程序的流程图;程序运行结果,电子版。

注:1.此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效;2.此表1式3份,学生、指导教师、教研室各1 份四、参考资料和现有基础条件(包括实验室、主要仪器设备等)[1] 何仰赞等. 电力系统分析[ M]. 武汉:华中理工大学出版社,2002.3[2] 西安交通大学等. 电力系统计算[M]. 北京:水利电力出版社,1993.12五、进度安排2010 年12 月20 日:下达课程设计的计划书,任务书,设计题目及分组情况。

极坐标潮流计算范文

极坐标潮流计算范文

极坐标潮流计算范文极坐标潮流计算是一种电力系统潮流计算的方法,它将电力系统中的节点和支路都用极坐标表示,利用复数计算的方法进行潮流计算。

这种方法主要适用于高压长距离传输线路和负荷较多的系统。

本文将详细介绍极坐标潮流计算的方法和步骤,并结合实例进行分析讲解。

一、极坐标潮流计算的基本原理极坐标潮流计算是基于复数计算的方法,它将电力系统中的节点和支路都用复数形式表示。

复数形式的节点电压和支路阻抗可以方便地进行计算,利用复数的计算规则可以得到支路电流和节点功率的结果。

极坐标潮流计算的基本原理可以概括为以下几点:1.节点功率平衡:节点注入功率等于节点消耗功率和输送功率的总和。

2.支路功率计算:根据节点电压和支路阻抗,可以计算得到支路电流和功率。

3.节点电压计算:根据节点注入功率、节点消耗功率和支路功率,可以利用功率平衡方程得到节点电压。

4.支路电流计算:根据节点电压和支路阻抗,可以利用欧姆定律计算得到支路电流。

二、极坐标潮流计算的步骤1.获取输入数据:包括节点注入功率、节点消耗功率和支路阻抗。

2.初始化节点电压:假设初始节点电压,并将节点注入功率、节点消耗功率和支路功率保存在容器中。

3.迭代计算节点电压和支路电流:根据节点注入功率、节点消耗功率和支路电流的计算公式,进行迭代计算,直到收敛。

4.输出结果:输出计算得到的节点电压、支路电流和支路功率等结果。

三、实例分析下面我们以一个例子来说明极坐标潮流计算的具体步骤。

假设电力系统有3个节点(节点1、节点2和节点3)和两条支路(支路12和支路23),节点1的注入功率为100+j50千伏安,节点2的注入功率为200+j100千伏安,节点3的注入功率为150+j75千伏安,节点1的消耗功率为150+j100千伏安,节点2的消耗功率为100+j50千伏安,支路12的阻抗为(0.1+j0.2)标幺,支路23的阻抗为(0.05+j0.1)标幺。

1.初始化节点电压:假设节点1的电压为1∠0度,其他节点的电压为0∠0度。

极坐标潮流计算

极坐标潮流计算

题目名称极坐标潮流计算课程设计课程名称电力系统稳态分析学生姓名学号系、专业指导教师2011年1月4 日目录第一章系统概述 (1)1.1 设计目的 (1)1.2 设计要求 (1)1.3 设计内容 (1)1.3 课题分析 (1)第二章潮流计算设计题目 (2)第三章潮流计算算法及手工计算 (3)3.1 潮流计算算法 (3)3.2 关于电力系统潮流计算手工计算 (4)第四章Matlab概述 (12)4.1 Matlab简介 (12)4.2 基本数学运算 (12)第五章潮流计算流程图及源程序 (13)5.1 潮流计算流程图 (13)5.2 潮流计算源程序 (14)5.3 运行计算结果 (20)总结 (24)参考文献 (24)第一章系统概述1.1 设计目的1、掌握电力系统潮流计算的基本原理;2、掌握并能熟练运用一门计算机语言(MATLAB语言或FORTRAN或C语言或C++语言);3、采用计算机语言对潮流计算进行计算机编程计算。

1.2 设计要求1、程序源代码;2、给定题目的输入,输出文件;3、程序说明;4、给定系统的程序计算过程;5、给定系统的手算过程(至少迭代2次)。

1.3 设计内容1、根据电力系统网络推导电力网络数学模型,写出节点导纳矩阵;2、赋予各节点电压变量(直角坐标系形式)初值后,求解不平衡量;3、形成雅可比矩阵;4、求解修正量后,重新修改初值,从2开始重新循环计算;5、求解的电压变量达到所要求的精度时,再计算各支路功率分布、功率损耗和平衡节点功率;6、上机编程调试;连调;7、计算分析给定系统潮流分析并与手工计算结果作比较分析。

8、准备计算机演示答辩,书写该课程设计说明书(必须计算机打印)。

1.3 课题分析本次课程设计是与电力专业紧密相连的一门设计,根据课程设计的要求以及老师的分组,我们小组是分析题目一的第二问。

这是一个简单的电力系统,该电力系统是一个4节点,5支路的电力网络。

其中包含2个PQ节点,1个PV节点,和1个平衡节点。

潮流计算方法

潮流计算方法

由于本人参加我们电气学院的电气小课堂,主讲的是计算机算法计算潮流这章,所以潜心玩了一个星期,下面整理给大家分享下。

本人一个星期以来的汗水,弄清楚了计算机算法计算潮流的基础,如果有什么不懂的可以发信息到:zenghao616qq.接下来开始弄潮流的优化问题,吼吼!电力系统的潮流计算的计算机算法:以MATLAB为环境这里理论不做过多介绍,推荐一本专门讲解电力系统分析的计算机算法的书籍---------《电力系统分析的计算机算法》—邱晓燕、*天琪编著。

这里以这本书上的例题【2-1】说明计算机算法计算的过程,分别是牛顿拉弗逊算法的直角坐标和极坐标算法、P-Q分解算法。

主要是简单的网络的潮流计算,其实简单网络计算和大型网络计算并无本质区别,代码里面只需要修改循环迭代的N即可,这里旨在弄清计算机算法计算潮流的本质。

代码均有详细的注释.其中简单的高斯赛德尔迭代法是以我们的电稳教材为例子讲,其实都差不多,只要把导纳矩阵Y给你,节点的编号和分类给你,就可以进行计算了,不必要找到原始的电气接线图。

理论不多说,直接上代码:简单的高斯赛德尔迭代法:这里我们只是迭代算出各个节点的电压值,支路功率并没有计算。

S_ij=P_ij+Q_ij=V_i(V_i* - V_j*) * y_ij*可以计算出各个线路的功率在显示最终电压幅角的时候注意在MATLAB里面默认的是弧度的形式,需要转化成角度显示。

clear;clc;%电稳书Page 102 例题3-5%计算网络的潮流分布--- 高斯-赛德尔算法%其中节点1是平衡节点%节点2、3是PV节点,其余是PQ节点% 如果节点有对地导纳支路%需将对地导纳支路算到自导纳里面%------------------------------------------------%%输入原始数据,每条支路的导纳数值,包括自导和互导纳;y=zeros(5,5);y(1,2)=1/(0.0194+0.0592*1i);y(1,5)=1/(0.054+0.223*1i);y(2,3)=1/(0.04699+0.198*1i);y(2,4)=1/(0.0581+0.1763*1i);%由于电路网络的互易性,导纳矩阵为对称的矩阵for i=1:1:5for j=1:1:5y(j,i)=y(i,j);endend%节点导纳矩阵的形成%求互导纳for i=1:1:5for j=1:1:5if i~=jY(i,j)=-y(i,j);endendend%求自导纳for i=1:1:5%这句话是说将y矩阵的第i行的所有元素相加,得到自导纳的值Y(i,i)=sum(y(i,:));end%上面求得的自导纳不包含该节点的对地导纳数值,需要加上Y(2,2)=Y(2,2)+0.067*1i;Y(3,3)=Y(3,3)+0.022*1i;Y(4,4)=Y(4,4)+0.0187*1i;Y(5,5)=Y(5,5)+0.0246*1i;%导纳矩阵的实部和虚部G = real(Y);B = imag(Y);Qc2=0;Qc3=0;%原始节点功率%这里电源功率为正,负荷功率为负S(1)=0;S(2)=-0.217-0.121*1i+Qc2*1i;S(3)=-0.749-0.19*1i+Qc3*1i;S(4)=-0.658+0.039*1i;S(5)=-0.076-0.016*1i;%节点功率的P QP = real(S);Q = imag(S);%下面是两个PV节点的无功初始值Q(2) = 0;Q(3) = 0;U=ones(5,1); %1列5行的‘1’矩阵%节点电压初始值U(1)=1.06;U(2)=1.045;U(3)=1.01;U_reg=U;Sum_YU0=0;%中间变量Sum_YU1=0;%中间变量for cont=1:1:6 %这里的cont是迭代次数for i=2:1:5if i~=jSum_YU0 = Sum_YU0 + Y(i,j)*U_reg(j);endendfor j=i+1:1:5Sum_YU1 = Sum_YU1 + Y(i,j)*U(j);endU(i)=( (P(i)-Q(i)*1i ) / conj(U(i)) - Sum_YU0 - Sum_YU1 ) / Y(i,i);U_reg(i)=U(i);%PV节点计算%下面是把求出的U2、U3只保留其相位,幅值不变if i==2angle_U2 = angle(U(2));U(2)=1.045*cos(angle_U2)+1.045*sin(angle_U2)*1i;Q(2)=imag( U(2)*( conj(Sum_YU0) + conj(Sum_YU1) + conj(Y(2,2)*U(2)) ) ); endif i==3angle_U3 = angle(U(3));U(3)=1.01*cos(angle_U3)+1.01*sin(angle_U3)*1i;Q(3)=imag( U(3)*( conj(Sum_YU0) + conj(Sum_YU1) + conj(Y(3,3)*U(3)) ) ); end% 下面做越界检查%if Q(4)>Q_Ma*% Q(4) = Q_Ma*;%end%if Q(4)<Q_Min% Q(4) = Q_Min;%end%下面可以做PV节点收敛判断Sum_YU0 = 0;Sum_YU1 = 0;endend%节点注入无功,流入为正,流出为负Qc2=Q(2)+0.121-1.045^2 * 0.067;Qc3=Q(3)+0.19-1.01^2 * 0.022;%电压幅值和相角angle_U=angle(U)*180/pi;U=abs(U);S_Line=zeros(5,5);%计算平衡节点功率S_BalanceNode=0;for j=1:1:5S_BalanceNode = S_BalanceNode + U(1) * conj(Y(1,j)*U(j));end%下面由上面算出的电压值求线路的功率%这里计算出来的线路功率的有功、无功%for i=1:1:5% for j=i:1:5% if i~=j% S_Line(i,j)=U(i)*( conj(U(i))-conj(U(j)) ) * conj(y(i,j));% end% if i==2% %S_Line(2,j)=S_Line(2,j)+U(2)*conj(0.067*1i);% end% if i==3% %S_Line(3,j)=S_Line(3,j)+U(3)*conj(0.022*1i);% end% end%end计算网络的潮流分布---- Newton算法(直角坐标) clear;clc;%电稳书Page 102 例题3-5%计算网络的潮流分布---- Newton算法(直角坐标)%其中节点1是平衡节点%节点2、3是PV节点,其余是PQ节点% 如果节点有对地导纳支路%需将对地导纳支路算到自导纳里面%------------------------------------------------%%输入原始数据,每条支路的导纳数值,包括自导和互导纳;y=zeros(5,5);y(1,2)=1/(0.0194+0.0592*1i);y(1,5)=1/(0.054+0.223*1i);y(2,3)=1/(0.04699+0.198*1i);y(2,4)=1/(0.0581+0.1763*1i);%由于电路网络的互易性,导纳矩阵为对称的矩阵for i=1:1:5for j=1:1:5y(j,i)=y(i,j);endend%节点导纳矩阵的形成Y=zeros(5,5);%求互导纳for i=1:1:5for j=1:1:5if i~=jY(i,j)=-y(i,j);endendend%求自导纳for i=1:1:5%这句话是说将y矩阵的第i行的所有元素相加,得到自导纳的值Y(i,i)=sum(y(i,:));end%上面求得的自导纳不包含该节点的对地导纳数值,需要加上Y(2,2)=Y(2,2)+0.067*1i;Y(3,3)=Y(3,3)+0.022*1i;Y(4,4)=Y(4,4)+0.0187*1i;Y(5,5)=Y(5,5)+0.0246*1i;%导纳矩阵的实部和虚部G = real(Y);B = imag(Y);%节点2、3需补偿的无功Qc2=0;Qc3=0;%原始节点功率%这里电源功率为正,负荷功率为负S(1)=0;S(2)=-0.217-0.121*1i+Qc2*1i;S(3)=-0.749-0.19*1i+Qc3*1i;S(4)=-0.658+0.039*1i;S(5)=-0.076-0.016*1i;%节点功率的P QP = real(S);Q = imag(S);%下面是两个PV节点的无功初始值Q(2) = 0;Q(3) = 0;%给点电压初始值e=[1.06,1.045,1.01,1,1];f=[0,0,0,0,0];U=e+f*1i;delta_U=zeros(1,5);delta_P=zeros(1,5);delta_Q=zeros(1,5);delta_PQV=ones(8,1);Sum_GB1=0;Sum_GB2=0;cont=0;while ma*(delta_PQV > 1e-6),cont=cont+1;%for cont=1:1:3%下面开始计算delta_P/delta_Q/delta_Ufor i=2:1:5for j=1:1:5Sum_GB1=Sum_GB1 + ( G(i,j)*e(j) - B(i,j)*f(j) );Sum_GB2=Sum_GB2 + ( G(i,j)*f(j) + B(i,j)*e(j) );enddelta_P(i)=P(i)-e(i)*Sum_GB1-f(i)*Sum_GB2;if i~=2 && i~=3 %不为节点2,3则计算无功delta_Q(i)=Q(i)-f(i)*Sum_GB1+e(i)*Sum_GB2;endif i==2 || i==3 %这里计算delta_U的值,始终为零delta_U(i)=U(i)^2-( e(i)^2 + f(i)^2 );endSum_GB1=0;Sum_GB2=0;end%___________________________________%%下面计算雅克比矩阵J=zeros(8,8);for ii=2:1:5i=ii-1;for j=1:1:5Sum_GB1=Sum_GB1 + ( G(ii,j)*e(j) - B(ii,j)*f(j) );Sum_GB2=Sum_GB2 + ( G(ii,j)*f(j) + B(ii,j)*e(j) );endfor jj=2:1:5j=jj-1;if ii~=2 && ii~=3 %PQ节点if ii==jjJ(2*i-1,2*i-1)=-Sum_GB1-G(ii,ii)*e(ii)-B(ii,ii)*f(ii);J(2*i-1,2*i)=-Sum_GB2+B(ii,ii)*e(ii)-G(ii,ii)*f(ii);J(2*i,2*i-1)=Sum_GB2+B(ii,ii)*e(ii)-G(ii,ii)*f(ii);J(2*i,2*i)=-Sum_GB1+G(ii,ii)*e(ii)+B(ii,ii)*f(ii);elseJ(2*i-1,2*j-1)=-(G(ii,jj)*e(ii)+B(ii,jj)*f(ii));J(2*i-1,2*j)=B(ii,jj)*e(ii)-G(ii,jj)*f(ii);J(2*i,2*j-1)=B(ii,jj)*e(ii)-G(ii,jj)*f(ii);J(2*i,2*j)=(G(ii,jj)*e(ii)+B(ii,jj)*f(ii));endelse%PV节点if ii==jjJ(2*i-1,2*i-1)=-Sum_GB1-G(ii,ii)*e(ii)-B(ii,ii)*f(ii);J(2*i-1,2*i)=-Sum_GB2+B(ii,ii)*e(ii)-G(ii,ii)*f(ii);J(2*i,2*i-1)=-2*e(ii);J(2*i,2*i)=-2*f(ii);elseJ(2*i-1,2*j-1)=-(G(ii,jj)*e(ii)+B(ii,jj)*f(ii));J(2*i-1,2*j)=B(ii,jj)*e(ii)-G(ii,jj)*f(ii);J(2*i,2*j-1)=0;J(2*i,2*j)=0;endendendSum_GB1=0;Sum_GB2=0;end%在求解修正方程之前建议把delta_P和delta_Q,delta_U全部放在一个矩阵delta_PQV=[delta_P(2);delta_U(2);delta_P(3);delta_U(3);delta_P(4);delta_Q(4);delta_P(5);delta_Q(5)] ;%下面求解修正方程;注意矩阵运算时候的左除和右除的区别delta_ef=-J\delta_PQV;%下面修正各个节点的电压for i=2:1:5e(i)=e(i)+delta_ef(2*(i-1)-1);f(i)=f(i)+delta_ef(2*(i-1));end%到这里第一轮迭代完成end%电压幅值和相角U=e+f*1i;angle_U=angle(U)*180/pi;%节点注入无功,流入为正,流出为负Sum_YU=0;for i=2:1:3for j=1:1:5Sum_YU = Sum_YU + Y(i,j)*U(j);endQ(i)=imag( U(i)*conj( Sum_YU ) );Sum_YU=0;endQc2=Q(2)+0.121-1.045^2 * 0.067;Qc3=Q(3)+0.19-1.01^2 * 0.022;U=abs(U);disp(['Iteration times : ' num2str(cont)]);%显示最终的迭代次数牛顿算法求解潮流(极坐标):clear;clc;%牛顿算法求解潮流(极坐标)%计算网络的潮流分布%其中节点5是平衡节点%节点1、2、3是PQ节点,节点4是PV节点% 如果节点有对地导纳支路%需将对地导纳支路算到自导纳里面%------------------------------------------------%%输入原始数据,每条支路的导纳数值,包括自导和互导纳;Y=[0.8381-3.7899*1i,-0.4044+1.6203*1i,0,0,-0.4337+2.2586*1i;...-0.4044+1.6203*1i,0.7769-3.3970*1i,-0.3726+1.8557*1i,0,0;...0,-0.3726+1.8557*1i,1.1428-7.0210*1i,-0.5224+4.1792*1i,-0.2739+1.2670*1i;...0,0,-0.5224+4.1792*1i,0.5499-4.3591*1i,0;...-0.4337+2.2586*1i,0,-0.2739+1.2670*1i,0,0.7077-3.4437*1i];%导纳矩阵的实部和虚部G = real(Y);B = imag(Y);%给点电压初始值U = [1,1,1,1,1.05];angle_U=[0,0,0,0,0];%for i=1:1:5% U(i)=U_abs(i)*cos(angle_U(i))+U_abs(i)*sin(angle_U(i))*1i;%end%原始节点功率%这里电源功率为正,负荷功率为负%下面给点PQ PV节点功率值S=[-0.22-0.14*1i,-0.18-0.09*1i,-0.27-0.13*1i,0.35,0];%节点功率的P QP = real(S);Q = imag(S);%下面是PV节点的无功初始值Q(4) = 0;delta_P=zeros(1,5);delta_Q=zeros(1,5);%delta_angleU=zeros(1,4);%delta_absU=zeros(1,4);delta_PQ=ones(8,1);Sum_GB1=0;Sum_GB2=0;cont=0;%最外层循环,cont代表迭代的次数,这里可以用约束条件来代替%for cont=1:1:4while ma*(delta_PQ)>1e-6,%下面计算delta_P/delta_Q/delta_Ucont=cont+1;for i=1:1:4for j=1:1:5Sum_GB1=Sum_GB1 + U(j)*( G(i,j)*cos(angle_U(i)-angle_U(j)) + B(i,j)*sin(angle_U(i)-angle_U(j)) );Sum_GB2=Sum_GB2 + U(j)*( G(i,j)*sin(angle_U(i)-angle_U(j)) - B(i,j)*cos(angle_U(i)-angle_U(j)) );enddelta_P(i)=P(i)-U(i)*Sum_GB1;if i~=4 %不为节点四则计算无功delta_Q(i)=Q(i)-U(i)*Sum_GB2;endSum_GB1=0;Sum_GB2=0;end%_______________________________________________________%%下面计算雅克比矩阵J=zeros(7,7);for ii=1:1:4for jj=1:1:4if ii ~= 4 %PQ节点if ii==jjJ(2*ii-1,2*ii-1)=U(ii)^2*B(ii,ii)+Q(ii);J(2*ii-1,2*ii)=-U(ii)^2*G(ii,ii)-P(ii);J(2*ii,2*ii-1)=U(ii)^2*G(ii,ii)-P(ii);J(2*ii,2*ii)=U(ii)^2*B(ii,ii)-Q(ii);elseJ(2*ii-1,2*jj-1)=-U(ii)*U(jj)*( G(ii,jj)*sin(angle_U(ii)-angle_U(jj)) - B(ii,jj)*cos(angle_U(ii)-angle_U(jj)) );J(2*ii-1,2*jj)=-U(ii)*U(jj)*( G(ii,jj)*cos(angle_U(ii)-angle_U(jj)) + B(ii,jj)*sin(angle_U(ii)-angle_U(jj)) );J(2*ii,2*jj-1)=U(ii)*U(jj)*( G(ii,jj)*cos(angle_U(ii)-angle_U(jj)) + B(ii,jj)*sin(angle_U(ii)-angle_U(jj)) );J(2*ii,2*jj)=-U(ii)*U(jj)*( G(ii,jj)*sin(angle_U(ii)-angle_U(jj)) - B(ii,jj)*cos(angle_U(ii)-angle_U(jj)) );endelse%PV节点if ii==jjJ(2*ii-1,2*ii-1)=U(ii)^2*B(ii,ii)+Q(ii);J(2*ii-1,2*ii)=-U(ii)^2*G(ii,ii)-P(ii);elseJ(2*ii-1,2*jj-1)=-U(ii)*U(jj)*( G(ii,jj)*sin(angle_U(ii)-angle_U(jj)) - B(ii,jj)*cos(angle_U(ii)-angle_U(jj)) );J(2*ii-1,2*jj)=-U(ii)*U(jj)*( G(ii,jj)*cos(angle_U(ii)-angle_U(jj)) + B(ii,jj)*sin(angle_U(ii)-angle_U(jj)) );endendendend%在求解修正方程之前建议把delta_ef和delta_ef全部放在一个矩阵delta_PQ=[delta_P(1);delta_Q(1);delta_P(2);delta_Q(2);delta_P(3);delta_Q(3);delta_P(4)];%下面求解修正方程;注意矩阵运算时候的左除和右除的区别J=J(1:7,1:7);delta_ef=-J\delta_PQ;%下面修正各个节点的电压for i=1:1:4if i~=4U(i)=U(i)+delta_ef(2*i)*U(i);endangle_U(i)=angle_U(i)+delta_ef(2*i-1);end%到这里第一轮迭代完成end%下面显示出满足条件后的迭代的次数disp(['Iteration times : ' num2str(cont)]);%下面计算平衡节点5的功率PQfor j=1:1:5Sum_GB1=Sum_GB1 + U(j)*( G(5,j)*cos(angle_U(5)-angle_U(j)) + B(5,j)*sin(angle_U(5)-angle_U(j)) );Sum_GB2=Sum_GB2 + U(j)*( G(5,j)*sin(angle_U(5)-angle_U(j)) - B(5,j)*cos(angle_U(5)-angle_U(j)) );endP(5)=U(5)*Sum_GB1;Q(5)=U(5)*Sum_GB2;%下面将相角用角度表示for i=1:1:5angle_U(i)=angle_U(i)*180/pi;End计算计算法P-Q算法计算潮流:这个算法是由牛顿算法的极坐标形式简化而来。

潮流计算的基本算法及使用方法

潮流计算的基本算法及使用方法

潮流计算的基本算法及使用方法Company number:【0089WT-8898YT-W8CCB-BUUT-202108】潮流计算的基本算法及使用方法一、 潮流计算的基本算法1.牛顿-拉夫逊法1.1 概述牛顿-拉夫逊法是目前求解非线性方程最好的一种方法。

这种方法的特点就是把对非线性方程的求解过程变成反复对相应的线性方程求解的过程,通常称为逐次线性化过程,就是牛顿-拉夫逊法的核心。

牛顿-拉夫逊法的基本原理是在解的某一邻域内的某一初始点出发,沿着该点的一阶偏导数——雅可比矩阵,朝减小方程的残差的方向前进一步,在新的点上再计算残差和雅可矩阵继续前进,重复这一过程直到残差达到收敛标准,即得到了非线性方程组的解。

因为越靠近解,偏导数的方向越准,收敛速度也越快,所以牛顿法具有二阶收敛特性。

而所谓“某一邻域”是指雅可比方向均指向解的范围,否则可能走向非线性函数的其它极值点,一般来说潮流由平电压即各母线电压(相角为0,幅值为1)启动即在此邻域内。

1.2 一般概念对于非线性代数方程组即 ()0,,,21=n i x x x f ()n i ,2,1= (1-1)在待求量x 的某一个初始计算值()0x 附件,将上式展开泰勒级数并略去二阶及以上的高阶项,得到如下的线性化的方程组()()()()()0000=∆'+x x f x f (1-2)上式称之为牛顿法的修正方程式。

由此可以求得第一次迭代的修正量()()()[]()()0100x f x f x -'-=∆ (1-3)将()0x ∆和()0x 相加,得到变量的第一次改进值()1x 。

接着再从()1x 出发,重复上述计算过程。

因此从一定的初值()0x 出发,应用牛顿法求解的迭代格式为()()()()()k k k x f x x f -=∆' (1-4)()()()k k k x x x ∆+=+1 (1-5)上两式中:()x f '是函数()x f 对于变量x 的一阶偏导数矩阵,即雅可比矩阵J ;k 为迭代次数。

基于极坐标的牛顿拉夫逊潮流计算

基于极坐标的牛顿拉夫逊潮流计算

前言电力系统潮流计算是研究电力系统稳态运行情况的一种计算,它根据给定的运行件及系统接线情况确定整个电力系统各部分的运行状态。

在电力系统规划设计和现有电力系统运行方式的研究中,都需要利用潮流计算来定量分析、比较供电方案或运行方式的合理性、可靠性和经济性。

本次课程设计任务是闭式网络的潮流计算,用到的方法为牛顿拉夫逊极坐标法潮流计算。

牛顿法是数学中解决非线性方程式的典型方法,有较好的收敛性。

解决电力系统潮流计算问题是以导纳距阵为基础的,因此,只要在迭代过程中尽可能保持方程式系数距阵的稀疏性,就可以大大提高牛顿法潮流程序的放率。

自从20 世纪60 年代中期利用了最佳顺序消去法以后,牛顿法在收敛性、内存要求、速度方面都超过了阻抗法,成为直到目前仍在广泛采用的优秀方法。

目录1任务书 (2)2.模型简介及等值电路 (3)3.设计原理 (4)4.修正方程的建立 (7)5.程序流程图及MATLAB程序编写 (9)6.结果分析 (15)7.设计总结 (25)8.参考文献 (26)《电力系统分析》课程设计任务书2 模型简介及等值电路2.1 课程设计模型:模型3电力网络接线如下图所示,各支路阻抗标幺值参数如下:Z12=0.02+j0.06,Z13=0.08+j0.24, Z23=0.06+j0.18, Z24=0.06+j0.12, Z25=0.04+j0.12,Z34=0.01+j0.03, Z45=0.08+j0.24, k=1.1。

该系统中,节点1为平衡节点,保持为定值;节点2、3、4都是PQ节点,节点5为PV节点,给定的注入功率分别为:,,,,。

各节点电压(初值)标幺值参数如下:节点 1 2 3 4 5Ui(0)=ei(0)+jfi(0) 1.06+j0.0 1.0+j0.0 1.0+j0.0 1.0+j0.0 1.1+j0.0 计算该系统的潮流分布。

计算精度要求各节点电压修正量不大于10-5。

图2-12.2模型分析节点类型介绍按变量的不同,一般将节点分为三种类型。

牛顿-拉夫逊算法(极坐标)潮流计算算例

牛顿-拉夫逊算法(极坐标)潮流计算算例

极坐标系下的潮流计算
潮流计算
在电力系统中,潮流计算是一种常用的计算方法,用于确定在给定网络结构和参数下,各节点的电压 、电流和功率分布。在极坐标系下进行潮流计算,可以更好地描述和分析电力系统的电磁场分布和变 化。
极坐标系下的潮流计算特点
在极坐标系下进行潮流计算,可以更直观地描述电力线路的走向和角度变化,更好地反映电力系统的 复杂性和实际情况。此外,极坐标系下的潮流计算还可以方便地处理电力系统的非对称性和不对称故 障等问题。
03
CATALOGUE
极坐标系下的牛顿-拉夫逊算法
极坐标系简介
极坐标系
一种二维坐标系统,由一个原点(称为极点)和一条从极点出发的射线(称为 极轴)组成。在极坐标系中,点P的位置由一个角度θ和一个距离r确定。
极坐标系的应用
极坐标系广泛应用于物理学、工程学、经济学等领域,特别是在电力系统和通 信网络中,用于描述电场、磁场、电流和电压等物理量的分布和变化。
极坐标形式
将电力系统的节点和支路参数以极坐 标形式表示,将实数问题转化为复数 问题,简化计算过程并提高计算效率 。
02
CATALOGUE
牛顿-拉夫逊算法原理
算法概述
牛顿-拉夫逊算法是一种迭代算法,用于求解非线性方程组。在电力系统中,它 被广泛应用于潮流计算,以求解电力网络中的电压、电流和功率等参数。
准确的结果。
通过极坐标系的处理,算法 能够更好地处理电力系统的 复杂结构和不对称性,提高 了计算的准确性和适应性。
算例分析表明,该算法在处理 大规模电力系统时仍具有较好 的性能,能够满足实际应用的
需求。
展望
进一步研究牛顿-拉夫逊算法在极坐标 系下的收敛性分析,探讨收敛速度与电 力系统规模、结构和参数之间的关系, 为算法的优后的电压、电流和功 率等参数。

牛顿拉夫逊迭代法极坐标潮流计算java程序

牛顿拉夫逊迭代法极坐标潮流计算java程序

牛顿拉夫逊迭代法极坐标潮流计算java程序牛顿拉夫逊迭代法极坐标潮流计算Java程序近年来,随着能源领域的快速发展,潮流计算在电力系统分析中变得尤为重要。

在电力系统中,潮流计算是一种用于计算电网各个节点上的电压相角和功率的方法,可用于解决电网稳定性、潮流控制和经济调度等问题。

而牛顿拉夫逊迭代法在潮流计算中有着广泛的应用,尤其在极坐标下进行潮流计算时发挥着重要作用。

在本篇文章中,我将深入探讨牛顿拉夫逊迭代法在极坐标潮流计算Java程序中的应用,并共享我对其个人观点和理解。

让我们从潮流计算的基本原理开始。

电力系统中的潮流计算,是指通过对电气网络进行各节点电压相角和功率的计算,来实现电网稳定运行和安全运行。

而牛顿拉夫逊迭代法,则是一种用于解决非线性方程组的方法,其迭代过程可以有效收敛到非线性方程组的解。

在极坐标下进行潮流计算时,我们需要考虑复数形式的电压和导纳,这就需要用到牛顿拉夫逊迭代法来求解非线性方程组,以得到节点电压的相角和幅值。

接下来,让我们讨论牛顿拉夫逊迭代法在极坐标潮流计算Java程序中的具体实现。

在Java程序中,我们可以通过编写相应的算法来实现牛顿拉夫逊迭代法。

我们需要定义节点的导纳矩阵和电压矩阵,并根据潮流方程建立非线性方程组。

通过编写迭代算法,不断更新节点的电压相角和幅值,直至满足收敛条件。

我们可以将计算得到的节点电压结果输出到文件或进行可视化展示,以便后续的电网分析和调度。

在实际应用中,牛顿拉夫逊迭代法在极坐标潮流计算中具有较高的准确性和收敛性,尤其适用于复杂电网的计算。

通过Java程序实现,我们可以更加灵活地对潮流计算进行控制和优化,从而提高电网的运行效率和安全性。

总结回顾,牛顿拉夫逊迭代法在极坐标潮流计算Java程序中发挥着重要作用,其准确性和收敛性使其成为潮流计算领域的关键算法。

通过编写Java程序实现,我们可以更加灵活地进行潮流计算和电网分析,为电力系统的稳定运行和经济调度提供有力支持。

P-Q分解法潮流计算

P-Q分解法潮流计算

P-Q分解法的特点和性能分析
(1) 用一个n-1阶和一个m阶的线性方程组代替了 牛顿法的n-1+m阶线性方程组,显著地减少了内 存需求量及计算量。
(2)系数矩阵B’和B’’为常数矩阵。因此,不必像牛 顿法那样每次迭代都要形成雅可比矩阵并进行三 角分解,只需要在进入迭代过程以前一次形成雅 可比矩阵并进行三角分解形成因子表,然后反复 利用因子表对不同的常数项△P/V或△Q/V进行消 去回代运算,就可以迅速求得修正量,从而显著 提高了迭代速度。
(1)一般情况下,线路两端电压的相角差不大(不 超过10°~20°),因此可以认为
cos ij 1,
Gij sin ij Bij
(2)与系统各节点无功功率相对应的导纳 通常远小于该节点自导纳的虚部 ,即
B Li Qi 2 Bii Vi
Qi Vi2Bii
考虑到上述关系,略去相关项可将系数矩阵
在B'中尽量去掉那些对有功功率及电压相角影响 较小的因素,如略去变压器非标准电压比和输电 线路充电电容的影响;在B"中尽量去掉那些对无 功功率及电压幅值影响较小的因素,如略去输电 线路电阻的影响
即B’的非对角和对角元素分别按下式计算:
B”的非对角和对角元素分别按下式计算:
其中rij和xij分别为支路的电阻和感抗,bi0为节点i 的接地支路的电纳。(BX法)
P-Q分解法改变了牛顿法 迭代公式的结构,就改变 了迭代过程的收敛特性。 事实上,依一个不变的系 数矩阵进行非线性方程组 的迭代求解,在数学上属 于“等斜率法”,其选代过程是按几何级数收敛的,若画 在对数坐标系上,这种收敛特性基本上接近一条直线。而 牛顿法是按平方收敛的,在对数坐标纸上基本上是一条抛 物线,如图2-3所示。

极坐标法流量计算的通用公式及运算

极坐标法流量计算的通用公式及运算

极坐标法流量计算的通用公式及运算摘要:极坐标法流量测验是水文测验的一种应急方案,也是特殊水情下,快速简便的一种测量方式。

在实际运用中,由于仪器架设点在测验河段的位置和后视零度角方向的差异,给计算带来了很大的不便,本文介绍通过自定义坐标系,把水平坐标系的两轴互换,用仪器的水平角增加的顺时针方向方向为(极)角度旋转方向,直接利用测得的水平角度把极坐标化成平面直角坐标,再进行坐标平移,化繁为简,思路巧妙,简洁实用。

关键词:极坐标法自定义坐标后视角对零1 引言在流量测验过程中,测验方式是多种多样的,有传统的流速仪法、比降法等,还有现代化的走航式或水平式ADCP等方式。

尽管各种传统或现代方式的流量测法在不断运用,或相互补充,但在突发水情下,设备要经受各种方式的考验,可能会在高洪特殊情况下,出现测验设备故障一时无法修复的情况。

因此各流量测验站,为了保证流量资料完整收集,在编制应急测验方案时,往往将极坐标法列为收集流量资料的一种有效的应急测验措施。

2 极坐标法测验计算2.1 自定义建立测站基本坐标系和辅助坐标系按照图2.1建立起测验站基本坐标系和辅助坐标系,以测流断面起点距零点o建立三维坐标系o (x,y,z),平面坐标系o(x,y)的x轴正方向为起点距增加的方向,也是水平角0°方向,y轴的正方向为顺时针(与仪器水平角增加方向一致)水平角90°方向(图2.1之附图2),z方向的正方向为水平向上的铅垂方向,o点的坐标为(0,0,0)。

过测验河段任意点(仪器观测点)o’建立平行于o (x,y,z)的辅助三维坐标系o’(x’,y’,z’),坐标方向一致,水平角方向也一致,在本辅助三维坐标系中o’的假定坐标为(0,0,0)。

则相关各点坐标对照见下表2.1在平面z’o’i(i为浮标上点或下点编号)中自定义o’为原点,o’z’的极轴,立角βi的极角(旋转方向为顺时针方向,与立角增加方向一致),见下图2.1之附图1。

牛顿拉夫逊迭代法极坐标潮流计算java程序

牛顿拉夫逊迭代法极坐标潮流计算java程序

牛顿拉夫逊迭代法极坐标潮流计算java程序一、前言在电力系统中,潮流计算是一项重要的运行分析工作,它用于确定电力系统中各个节点的电压和相角。

而在潮流计算中,牛顿拉夫逊迭代法是一种常用的计算方法,特别是在极坐标下的潮流计算中。

本文将从牛顿拉夫逊迭代法的原理入手,分析其在极坐标潮流计算中的应用,并展示一个基于Java程序的实例。

二、牛顿拉夫逊迭代法的原理牛顿拉夫逊迭代法是一种用于求解非线性方程组的数值方法,其基本思想是通过不断迭代,逐步逼近非线性方程组的解。

在潮流计算中,牛顿拉夫逊迭代法的主要目标是求解节点电压和相角。

其迭代公式可以表示为:\[ J(\Delta X) = F(X_k) + \frac{dF(X_k)}{dX}\Delta X = 0 \]其中,J是雅可比矩阵,ΔX表示解的修正量,F(Xk)表示当前迭代点的方程组的值,dF(Xk)/dX表示F(Xk)的导数。

在使用牛顿拉夫逊迭代法进行潮流计算时,需要构建节点导纳矩阵、节点功率不平衡方程和雅可比矩阵,并通过迭代计算得到节点电压和相角的解。

这个过程是十分复杂和耗时的,因此需要使用计算机程序来实现。

三、极坐标潮流计算的Java程序实现在极坐标下的潮流计算,通常需要对节点电压和相角进行极坐标转换,并针对牛顿拉夫逊迭代法进行适当的调整。

下面我们将展示一个简单的Java程序,用于实现极坐标潮流计算的牛顿拉夫逊迭代法。

```java// Java程序实现牛顿拉夫逊迭代法的极坐标潮流计算public class PolarNewtonRaphson {// 节点导纳矩阵private Complex[][] admittanceMatrix;// 节点功率不平衡方程private Complex[] powerMismatchEquation;// 节点电压private Complex[] voltage;// 迭代阈值private double threshold;// 构造函数public PolarNewtonRaphson(Complex[][] admittanceMatrix, Complex[] powerMismatchEquation, Complex[] voltage, double threshold) {this.admittanceMatrix = admittanceMatrix;this.powerMismatchEquation = powerMismatchEquation; this.voltage = voltage;this.threshold = threshold;}// 牛顿拉夫逊迭代法public void calculate() {while (true) {// 计算雅可比矩阵Complex[][] jacobianMatrix = calculateJacobianMatrix(); // 计算方程组的值Complex[] fX = calculateFX();// 解线性方程组Complex[] deltaV = solveLinearEquations(jacobianMatrix, fX);// 更新节点电压for (int i = 0; i < voltage.length; i++) {voltage[i] = voltage[i].add(deltaV[i]);}// 判断是否满足收敛条件if (isConverged(deltaV)) {break;}}}// 计算雅可比矩阵private Complex[][] calculateJacobianMatrix() {// 省略具体实现}// 计算方程组的值private Complex[] calculateFX() {// 省略具体实现}// 解线性方程组private Complex[] solveLinearEquations(Complex[][] jacobianMatrix, Complex[] fX) {// 省略具体实现}// 判断是否满足收敛条件private boolean isConverged(Complex[] deltaV) { // 省略具体实现}}// 主程序public class M本人n {public static void m本人n(String[] args) {// 构建节点导纳矩阵、节点功率不平衡方程和节点电压// 省略具体实现// 创建极坐标潮流计算对象PolarNewtonRaphson polarNewtonRaphson = new PolarNewtonRaphson(admittanceMatrix, powerMismatchEquation, voltage, 0.0001);// 计算节点电压和相角polarNewtonRaphson.calculate();}}```在这个简单的Java程序中,我们使用了复数类Complex来表示节点电压、导纳矩阵和功率不平衡方程,通过迭代的方式计算得到节点电压和相角的解。

潮流计算的基本算法及使用方法

潮流计算的基本算法及使用方法

潮流计算的基本算法及使用方法一、 潮流计算的基本算法1. 牛顿-拉夫逊法1.1 概述牛顿-拉夫逊法是目前求解非线性方程最好的一种方法。

这种方法的特点就是把对非线性方程的求解过程变成反复对相应的线性方程求解的过程,通常称为逐次线性化过程,就是牛顿-拉夫逊法的核心。

牛顿-拉夫逊法的基本原理是在解的某一邻域内的某一初始点出发,沿着该点的一阶偏导数——雅可比矩阵,朝减小方程的残差的方向前进一步,在新的点上再计算残差和雅可矩阵继续前进,重复这一过程直到残差达到收敛标准,即得到了非线性方程组的解。

因为越靠近解,偏导数的方向越准,收敛速度也越快,所以牛顿法具有二阶收敛特性。

而所谓“某一邻域”是指雅可比方向均指向解的范围,否则可能走向非线性函数的其它极值点,一般来说潮流由平电压即各母线电压(相角为0,幅值为1)启动即在此邻域内。

1.2 一般概念对于非线性代数方程组即 ()0,,,21=n i x x x f ()n i ,2,1= (1-1)在待求量x 的某一个初始计算值()0x附件,将上式展开泰勒级数并略去二阶及以上的高阶项,得到如下的线性化的方程组()()()()()0000=∆'+x x f x f (1-2)上式称之为牛顿法的修正方程式。

由此可以求得第一次迭代的修正量()()()[]()()0100x f x f x -'-=∆ (1-3)将()0x∆和()0x相加,得到变量的第一次改进值()1x。

接着再从()1x出发,重复上述计算过程。

因此从一定的初值()0x出发,应用牛顿法求解的迭代格式为()()()()()k k k x f x x f -=∆' (1-4)()()()k k k x x x ∆+=+1 (1-5)上两式中:()x f '是函数()x f 对于变量x 的一阶偏导数矩阵,即雅可比矩阵J ;k 为迭代次数。

由式(1-4)和式子(1-5)可见,牛顿法的核心便是反复形成求解修正方程式。

极坐标的牛顿拉夫逊法潮流计算

极坐标的牛顿拉夫逊法潮流计算

%主程序"PowerFlow_NR.m"function [bus_res,S_res] = PowerFlow_NR_2 % 牛顿-拉夫逊法解潮流方程的主程序[bus,line] = OpDF_; % 打开数据文件的子程序,返回bus(节点数据)和line(线路数据)回主程序[nb,mb]=size(bus);[nl,ml]=size(line); % 计算bus和line矩阵的行数和列数[bus,line,nPQ,nPV,nodenum] = Num_(bus,line); % 对节点重新排序的子程序Y = y_(bus,line); % 计算节点导纳矩阵的子程序myf = fopen('Result.m','w');fprintf(myf,'\n\n');fclose(myf); % 在当前目录下生成“Result.m”文件,写入节点导纳矩阵format longEPS = 1.0e-10; % 设定误差精度for t = 1:100 % 开始迭代计算,设定最大迭代次数为100,以便不收敛情况下及时跳出[dP,dQ] = dPQ_(Y,bus,nPQ,nPV); % 计算功率偏差dP和dQ的子程序J = Jac_(bus,Y,nPQ); % 计算雅克比矩阵的子程序UD = zeros(nPQ,nPQ);for i = 1:nPQUD(i,i) = bus(i,2); % 生成电压对角矩阵enddAngU = J \ [dP;dQ];dAng = dAngU(1:nb-1,1); % 计算相角修正量dU = UD*(dAngU(nb:nb+nPQ-1,1)); % 计算电压修正量bus(1:nPQ,2) = bus(1:nPQ,2) - dU; % 修正电压bus(1:nb-1,3) = bus(1:nb-1,3) - dAng; % 修正相角if (max(abs(dU))<EPS)&(max(abs(dAng))<EPS)breakend % 判断是否满足精度误差,如满足则跳出,否则返回继续迭代endbus = PQ_(bus,Y,nPQ,nPV); % 计算每个节点的有功和无功注入的子程序[bus,line] = ReNum_(bus,line,nodenum); % 对节点恢复编号的子程序YtYm = YtYm_(line); % 计算线路的等效Yt和Ym的子程序,以计算线路潮流bus_res = bus_res_(bus); % 计算节点数据结果的子程序S_res = S_res_(bus,line,YtYm); % 计算线路潮流的子程序myf = fopen('Result.m','a');fprintf(myf,'---------------牛顿-拉夫逊法潮流计算结果----------\n\n 节点计算结果:\n节点节点电压节点相角(角度)节点注入功率\n');for i = 1:nbfprintf(myf,'%2.0f ',bus_res(i,1));fprintf(myf,'.6f ',bus_res(i,2));fprintf(myf,'.6f ',bus_res(i,3));fprintf(myf,'.6f + j .6f\n',real(bus_res(i,4)),imag(bus_res(i,4)));endfprintf(myf,'\n线路计算结果:\n节点I 节点J 线路功率S(I,J)线路功率S(J,I) 线路损耗dS(I,J)\n');for i = 1:nlfprintf(myf,'%2.0f ',S_res(i,1));fprintf(myf,'%2.0f ',S_res(i,2));fprintf(myf,'.6f + j .6f ',real(S_res(i,3)),imag(S_res(i,3)));fprintf(myf,'.6f + j .6f ',real(S_res(i,4)),imag(S_res(i,4)));fprintf(myf,'.6f + j .6f\n',real(S_res(i,5)),imag(S_res(i,5)));endfclose(myf); % 迭代结束后继续在“Result.m”写入节点计算结果和线路计算结果程序结束bus = [1 1.00 0.00 -0.30 -0.18 1;2 1.00 0.00 -0.55 -0.13 1;3 1.10 0.00 0.50 0.00 2;4 1.05 0.00 0.00 0.00 3]line = [1 2 0.10 0.40 0.0 0.01528 0;4 2 0.08 0.40 0.0 0.01413 0;1 4 0.12 0.50 0.0 0.0192 0;3 1 0.00 0.3 0.0 0.0 -1.1]----------------------------------------牛顿-拉夫逊法潮流计算结果-------------------------------------------- 节点计算结果:节点节点电压节点相角(角度)节点注入功率1 0.984674906330845 -0.500170385513657 -0.300000000000000 - 0.180000000000000i2 0.964797665550885 -6.450305258622626 -0.550000000000000 - 0.130000000000000i3 1.100000000000000 6.732349388989963 0.500000000000000 + 0.093411003244513i4 1.050000000000000 0 0.367882692523292 + 0.264698252215732i 线路计算结果:节点I 节点J 线路功率S(I,J) 线路功率S(J,I) 线路损耗dS(I,J)1 2 0.246244-j0.014651 -0.239990+j0.010627 0.006254- j0.0040241 3 -0.500001-j0.029264 0.500000+j0.093409 -0.000001+j0.0641451 4 -0.046244-j0.136088 0.048216+j0.104522 0.001972-j0.0315662 4 -0.310010-j0.140627 0.319666+j0.160176 0.009656+j0.019549%子程序1 "OpDF_.m" 作用为打开数据文件function [bus,line] = OpDF_[dfile,pathname]=uigetfile('*.m','Select Data File'); % 数据文件类型为m文件,窗口标题为“Select Data File”if pathname == 0error(' you must select a valid data file') % 如果没有选择有效文件,则出现错误提示elselfile =length(dfile); % 读取文件字符串长度eval(dfile(1:lfile-2)); % 去除后缀,打开文件!注意!新浪博客中"eval"函数会自动加上"_r"后缀,此处的函数名是"eval"而不是"eval_r",拷贝后请去除"_r"后缀end%子程序2 "Num.m" 作用为对节点重排序,并修改相应的线路数据function [bus,line,nPQ,nPV,nodenum] = Num_(bus,line)[nb,mb]=size(bus);[nl,ml]=size(line);nSW = 0; % nSW为平衡节点个数nPV = 0; % nPV为PV节点个数nPQ = 0; % nPQ为PQ节点个数for i = 1:nb, % nb为总节点数type= bus(i,6);if type == 3,nSW = nSW + 1;SW(nSW,:)=bus(i,:); % 计算并储存平衡节点elseif type == 2,nPV = nPV +1;PV(nPV,:)=bus(i,:); % 计算并储存PV节点elsenPQ = nPQ + 1;PQ(nPQ,:)=bus(i,:); % 计算并储存PQ节点endendbus=[PQ;PV;SW]; % 对bus矩阵按PQ、PV、平衡节点的顺序重新排序nodenum=[[1:nb]' bus(:,1)];% 生成新旧节点对照表for i=1:nlfor j=1:2for k=1:nbif line(i,j)==nodenum(k,2)line(i,j)=nodenum(k,1);breakendendendend % 按排序以后的节点顺序对line矩阵重新编号%子程序3 "y_.m" 作用为计算节点导纳矩阵function Y = y_(bus,line)[nb,mb]=size(bus);[nl,ml]=size(line);Y=zeros(nb,nb); % 对导纳矩阵赋初值0for k=1:nlI=line(k,1);J=line(k,2);Zt=line(k,3)+j*line(k,4); % 读入线路参数if Zt~=0Yt=1/Zt; % 接地支路不计算YtendYm=line(k,5)+j*line(k,6);K=line(k,7);if (K==0)&(J~=0) % 普通线路: K=0Y(I,I)=Y(I,I)+Yt+Ym;Y(J,J)=Y(J,J)+Yt+Ym;Y(I,J)=Y(I,J)-Yt;Y(J,I)=Y(I,J);endif (K==0)&(J==0) % 对地支路: K=0,J=0,R=X=0Y(I,I)=Y(I,I)+Ym;endif K>0 % 变压器线路: Zt和Ym为折算到i侧的值,K在j侧Y(I,I)=Y(I,I)+Yt+Ym;Y(J,J)=Y(J,J)+Yt/K/K;Y(I,J)=Y(I,J)-Yt/K;Y(J,I)=Y(I,J);endif K<0 % 变压器线路: Zt和Ym为折算到K侧的值,K在i侧Y(I,I)=Y(I,I)+Yt+Ym;Y(J,J)=Y(J,J)+K*K*Yt;Y(I,J)=Y(I,J)+K*Yt;Y(J,I)=Y(I,J);endend%子程序4 "dPQ_.m" 作用为计算功率偏差function [dP,dQ] =dPQ_(Y,bus,nPQ,nPV) % nPQ、nPV为相应节点个数n = nPQ + nPV +1; % 总节点个数dP = bus(1:n-1,4);dQ = bus(1:nPQ,5); % 对dP和dQ赋初值PV节点不需计算dQ 平衡节点不参与计算for i = 1:n-1for j = 1:ndP(i,1) =dP(i,1)-bus(i,2)*bus(j,2)*(real(Y(i,j))*cos(bus(i,3)-bus(j,3))+imag(Y(i,j))*sin(bus(i,3)-bus(j,3)));if i<nPQ+1dQ(i,1) = dQ(i,1)-bus(i,2)*bus(j,2)*(real(Y(i,j))*sin(bus(i,3)-bus(j,3))-imag(Y(i,j))*cos(bus(i,3)-bus(j,3)));endendend % 利用循环计算求取dP和dQ%子程序5 "Jac_.m" 作用为计算雅克比矩阵function J = Jac_(bus,Y,nPQ)[nb,mb]=size(bus);H = zeros(nb-1,nb-1);N = zeros(nb-1,nPQ);K = zeros(nPQ,nb-1);L = zeros(nPQ,nPQ); % 将雅克比矩阵分块,即:J = [H N; K L],并初始化Qi = zeros(nb-1,1);Pi = zeros(nb-1,1);for i = 1:nb-1for j = 1:nbPi(i,1)=Pi(i,1)+bus(i,2)*bus(j,2)*(real(Y(i,j))*cos(bus(i,3)-bus(j,3))+imag(Y(i,j))*sin(bus(i,3)-bus(j,3) ));Qi(i,1)=Qi(i,1)+bus(i,2)*bus(j,2)*(real(Y(i,j))*sin(bus(i,3)-bus(j,3))-imag(Y(i,j))*cos(bus(i,3)-bus(j,3) ));endend % 初始化并计算Qi和Pifor i = 1:nb-1for j = 1:nb-1if i~=jH(i,j)=-bus(i,2)*bus(j,2)*(real(Y(i,j))*sin(bus(i,3)-bus(j,3))-imag(Y(i,j))*cos(bus(i,3)-bus(j,3)));elseH(i,j)=Qi(i,1)+imag(Y(i,j))*((bus(i,2))^2);end % 分别计算H矩阵的对角及非对角元素if j < nPQ+1if i~=jN(i,j)=-bus(i,2)*bus(j,2)*(real(Y(i,j))*cos(bus(i,3)-bus(j,3))+imag(Y(i,j))*sin(bus(i,3)-bus(j,3)));elseN(i,j)=-Pi(i,1)-real(Y(i,j))*((bus(i,2))^2);endend % 分别计算N矩阵的对角及非对角元素if i < nPQ+1if i~=jK(i,j)=bus(i,2)*bus(j,2)*(real(Y(i,j))*cos(bus(i,3)-bus(j,3))+imag(Y(i,j))*sin(bus(i,3)-bus(j,3)));elseK(i,j)=-Pi(i,1)+real(Y(i,j))*((bus(i,2))^2);end % 分别计算K矩阵的对角及非对角元素if j < nPQ+1if i~=jL(i,j)=-bus(i,2)*bus(j,2)*(real(Y(i,j))*sin(bus(i,3)-bus(j,3))-imag(Y(i,j))*cos(bus(i,3)-bus(j,3)));elseL(i,j)=-Qi(i,1)+imag(Y(i,j))*((bus(i,2))^2);endend % 分别计算L矩阵的对角及非对角元素endendendJ = [H N; K L]; % 生成雅克比矩阵%子程序6 "PQ_.m" 作用为计算每个节点的功率注入function bus = PQ_(bus,Y,nPQ,nPV)n = nPQ+nPV+1; % n为总节点数for i = nPQ+1:n-1for j = 1:nbus(i,5)=bus(i,5)+bus(i,2)*bus(j,2)*(real(Y(i,j))*sin(bus(i,3)-bus(j,3))-imag(Y(i,j))*cos(bus(i,3)-bus(j, 3)));endend % 利用公式计算PV节点的无功注入for j =1:nbus(n,4)=bus(n,4)+bus(n,2)*bus(j,2)*(real(Y(n,j))*cos(bus(n,3)-bus(j,3))+imag(Y(n,j))*sin(bus(n,3)-b us(j,3)));bus(n,5)=bus(n,5)+bus(n,2)*bus(j,2)*(real(Y(n,j))*sin(bus(n,3)-bus(j,3))-imag(Y(n,j))*cos(bus(n,3)-b us(j,3)));end % 计算平衡节点的无功及有功注入%子程序7 "ReNum_.m" 作用为对节点和线路数据恢复编号function [bus,line] = ReNum_(bus,line,nodenum)[nb,mb]=size(bus);[nl,ml]=size(line);bus_temp = zeros(nb,mb); % bus_temp矩阵用于临时存放bus矩阵的数据k = 1;for i = 1 :nbfor j = 1 : nbif bus(j,1) == kbus_temp(k,:) = bus(j,:);k = k + 1;endendend % 利用bus矩阵的首列编号重新对bus矩阵排序并存入bus_temp矩阵中bus = bus_temp; % 重新赋值回bus,完成bus矩阵的重新编号for i=1:nlfor j=1:2for k=1:nbif line(i,j)==nodenum(k,1)line(i,j)=nodenum(k,2);breakendendendend % 恢复line的编号%子程序8 "YtYm_.m" 作用为计算线路的等效Yt和Ym,以计算线路潮流function YtYm = YtYm_(line)[nl,ml]=size(line);YtYm = zeros(nl,5); % 对YtYm矩阵赋初值0YtYm(:,1:2) = line(:,1:2); % 矩阵前两列为线路两段节点编号,后三列分别为线路等效Yt,i侧的等效Ym,j侧的等效Ymj = sqrt(-1);for k=1:nlI=line(k,1);J=line(k,2);Zt=line(k,3)+j*line(k,4);if Zt~=0Yt=1/Zt;endYm=line(k,5)+j*line(k,6);K=line(k,7);if (K==0)&(J~=0) % 普通线路: K=0YtYm(k,3) = Yt;YtYm(k,4) = Ym;YtYm(k,5) = Ym;endif (K==0)&(J==0) % 对地支路: K=0,J=0,R=X=0YtYm(k,4) = Ym;endif K>0 % 变压器线路: Zt和Ym为折算到i侧的值,K在j侧YtYm(k,3) = Yt/K;YtYm(k,4) = Ym+Yt*(K-1)/K;YtYm(k,5) = Yt*(1-K)/K/K;endif K<0 % 变压器线路: Zt和Ym为折算到K侧的值,K在i侧YtYm(k,3) = -Yt*K;YtYm(k,4) = Ym+Yt*(1+K);YtYm(k,5) = Yt*(K^2+K);endend%子程序9 "bus_res_.m" 计算并返回节点数据结果function bus_res = bus_res_(bus);[nb,mb]=size(bus);bus_res = zeros(nb,4); % bus_res矩阵储存着节点计算结果bus_res(:,1:2) = bus(:,1:2);bus_res(:,3) = bus(:,3) *180 / pi; % 相角采用角度制bus_res(:,4) = bus(:,4) + (sqrt(-1))*bus(:,5); % 注入功率%子程序10 "S_res_.m" 计算并返回线路潮流function S_res = S_res_(bus,line,YtYm)[nl,ml]=size(line);S_res = zeros(nl,5); % S_res矩阵储存着线路潮流计算结果S_res(:,1:2) = line(:,1:2); % 前两列为节点编号for k=1:nlI = S_res(k,1);J = S_res(k,2);if (J~=0)&(I~=0)S_res(k,3)=bus(I,2)^2*(conj(YtYm(k,3))+conj(YtYm(k,4)))-bus(I,2)*bus(J,2)*(cos(bus(I,3))+j*sin(bu s(I,3)))*(conj(cos(bus(J,3))+j*sin(bus(J,3))))*conj(YtYm(k,3));S_res(k,4)=bus(J,2)^2*(conj(YtYm(k,3))+conj(YtYm(k,5)))-bus(I,2)*bus(J,2)*(conj(cos(bus(I,3))+j*s in(bus(I,3))))*(cos(bus(J,3))+j*sin(bus(J,3)))*conj(YtYm(k,3));S_res(k,5)=S_res(k,3) + S_res(k,4); % 利用公式计算非接地支路的潮流elseif J==0S_res(k,3)=bus(I,2)^2*conj(YtYm(k,4));S_res(k,5)=S_res(k,3)+S_res(k,4);elseS_res(k,4)=bus(J,2)^2*conj(YtYm(k,5));S_res(k,5)=S_res(k,3)+S_res(k,4); % 利用公式计算接地支路的潮流endend。

极坐标潮流算法范文

极坐标潮流算法范文

极坐标潮流算法范文极坐标潮流算法(Polar Coordinate Power Flow Algorithm)是一种用于计算电力系统潮流的常用算法。

相对于传统的直角坐标潮流算法,极坐标潮流算法具有简单、高效的特点,尤其适用于大规模电力系统的潮流计算。

极坐标潮流算法基于极坐标系下的复数运算,通过将输电线路电压与相角表示为模长相位的形式,将潮流计算问题转化为复数方程的求解问题。

算法的核心思想是将电力系统节点的注入功率和电压相角的关系表示为平面复数方程,并通过迭代求解这些方程达到计算节点电压的目的。

算法的基本步骤如下:1.初始化:根据电力系统的拓扑结构和节点参数,确定各个节点的注入功率、节点电压的初始估计值。

2.迭代计算:利用复数方程,求解各个节点电压的模长和相位,同时更新各节点的注入功率。

3.收敛判断:判断当前节点电压与相应的迭代步骤中的估计值之间的差距是否满足收敛标准,若满足则停止迭代,算法结束;若不满足,则回到步骤2,继续迭代。

极坐标潮流算法的优点在于简化了运算过程,减少了计算节点电压的求解难度。

与直角坐标潮流算法相比,它具有更高的计算效率和更好的数学性质,适用于大规模电力系统的潮流计算。

此外,由于复数运算的特性,该算法可以很好地处理电压相位超过±180°的情况。

但是,极坐标潮流算法也存在一些不足之处。

首先,算法对于系统存在发生“齿轮效应”(gear effect)的情况,即由于非线性负荷和导纳元件之间的相互作用,导致节点电压的估计值在幅值和相位上出现振荡,影响算法的收敛性。

其次,算法对无功负荷的计算相对较为复杂,需要引入一些修正因子来维持潮流计算的准确性。

总的来说,极坐标潮流算法是一种有效的计算电力系统潮流的方法,具有简单、高效的特点。

通过将潮流计算问题转化为复数方程的求解问题,可以实现大规模电力系统的潮流计算,为电力系统的运行和规划提供重要的支持。

在实际应用中,还可以结合其他改进的潮流算法,进一步提高计算精度和算法的稳定性。

基于极坐标的牛顿拉夫逊潮流计算

基于极坐标的牛顿拉夫逊潮流计算

基于极坐标的牛顿拉夫逊潮流计算引言:牛顿-拉夫逊潮流计算是电力系统潮流计算的一种常用方法,用于评估电力系统的电压、功率等参数。

在传统的牛顿-拉夫逊潮流计算中,节点的注入功率和节点电压之间用直角坐标系表示,但在一些情况下,使用直角坐标系并不方便。

因此,基于极坐标的牛顿-拉夫逊潮流计算应运而生。

本文将介绍基于极坐标的牛顿-拉夫逊潮流计算的原理和步骤。

一、基本原理基于极坐标的牛顿-拉夫逊潮流计算使用极坐标系来表示节点的注入功率和节点电压。

在极坐标中,节点的注入功率复数可以表示为S=P+jQ,其中P为有功功率,Q为无功功率。

节点的电压复数可以表示为V=V∠θ,其中V为电压幅值,θ为电压相角。

使用复数的运算规则可以推导出通过变压器、感性和容性元件的电流和功率的计算公式。

二、步骤1.初始化:a.设置节点电压估计值V0和电压相角估计值θ0。

b.将节点注入功率S注入1设置为节点P和Q的初始估计值。

2.计算注入电流:a. 计算节点注入电流I^inj = S^inj / V0^*,其中^*表示复共轭。

b. 计算节点电流注入I^ = I^inj + Σ I^flow,其中Σ表示对所有与节点连接的边的求和,I^flow为边的注入电流,需要通过变压器、感性和容性元件的运算公式计算。

3.更新节点电压:a.计算新的节点电压的幅值和相角:V = ,I^flow, * Zflow,这里Zflow为边的阻抗。

θ = Arg(I^flow) + φflow,φflow为边的阻抗相角。

b.计算新的节点电压估计值V0和电压相角估计值θ0。

V0 = ,I^inj, * Z1 + V * Z2,其中Z1和Z2为接地导线的阻抗。

θ0 = Arg(I^inj) + Arg(V)。

4.更新节点注入功率:a. 计算节点注入功率复数S^inj = P + jQ。

b. 将节点注入功率复数S^inj转化为直角坐标系中的实部和虚部,得到新的节点有功功率和无功功率。

极坐标潮流算法

极坐标潮流算法

极坐标潮流算法潮流例题:根据给定的参数或工程具体要求(如图),收集和查阅资料;学习相关软件(软件自选:本设计选择Matlab进行设计)。

2.在给定的电力网络上画出等值电路图。

3.运用计算机进行潮流计算。

4.编写设计说明书。

一、设计原理1.牛顿-拉夫逊原理牛顿迭代法是取x0 之后,在这个基础上,找到比x0 更接近的方程的跟,一步一步迭代,从而找到更接近方程根的近似跟。

牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0 的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。

电力系统潮流计算,一般来说,各个母线所供负荷的功率是已知的,各个节点电压是未知的(平衡节点外)可以根据网络结构形成节点导纳矩阵,然后由节点导纳矩阵列写功率方程,由于功率方程里功率是已知的,电压的幅值和相角是未知的,这样潮流计算的问题就转化为求解非线性方程组的问题了。

为了便于用迭代法解方程组,需要将上述功率方程改写成功率平衡方程,并对功率平衡方程求偏导,得出对应的雅可比矩阵,给未知节点赋电压初值,一般为额平衡量(未知的)构成了误差方程,解误差方程,得到节点电压不平衡量,节点电压加上节点电压不平衡量构成新的节点电压初值,将新的初值带入原来的功率平衡方程,并重新形成雅可比矩阵,然后计算新的电压不平衡量,这样不断迭代,不断修正,一般迭代三到五次就能收敛。

牛顿—拉夫逊迭代法的一般步骤:(1)形成各节点导纳矩阵Y。

(2)设个节点电压的初始值U和相角初始值e 还有迭代次数初值为0。

(3)计算各个节点的功率不平衡量。

(4)根据收敛条件判断是否满足,若不满足则向下进行。

(5)计算雅可比矩阵中的各元素。

(6)修正方程式个节点电压(7)利用新值自第(3)步开始进入下一次迭代,直至达到精度退出循环。

(8)计算平衡节点输出功率和各线路功率2.网络节点的优化1)静态地按最少出线支路数编号这种方法由称为静态优化法。

在编号以前。

首先统计电力网络个节点的出线支路数,然后,按出线支路数有少到多的节点顺序编号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

极坐标潮流算法潮流例题:根据给定的参数或工程具体要求(如图),收集和查阅资料;学习相关软件(软件自选:本设计选择Matlab进行设计)。

申节点1为平商节点.甘.点2、3、4* 5为PQ节.钛2.在给定的电力网络上画出等值电路图。

3.运用计算机进行潮流计算。

4.编写设计说明书。

一、设计原理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 是“ Matrix Laboratory ”的缩写,主要包括:一般数值分析,矩阵运算、数字信号处理、建模、系统控制、优化和图形显示等应用程序。

由于使用Matlab 编程运算与人进行科学计算的思路和表达方式完全一致,所以不像学习高级语言那样难于掌握,而且编程效率和计算效率极高,还可在计算机上直接输出结果和精美的图形拷贝,所以它的确为一高效的科研助手。

二、设计内容1. 设计流程图启动2. 程序clear;clc%重新编号,把原题中的节点123,4,5 重新依次编号为5,1,2,3,4 ,其中1-4号为PQ节点,5号为平衡节点y=0;%输入原始数据,求节点导纳矩阵y (1,2)=1/(0.06+0.18i); y (1,3)=1/(0.06+0.18i); y (1,4)=1/(0.04+0.12i);y(1,5)=1/(0.02+0.06i); y(2,3)=1/(0.01+0.03i);y(2,5)=1/(0.08+0.24i);y(3,4)=1/(0.08+0.24i);y(4,5)=0; for i=1:5 for j=i:5y(j,i)=y(i,j);endendY=0;%求互导纳for i=1:5for j=1:5 if i~=j Y(i,j)=-y(i,j); end end end%求自导纳for i=1:5 Y(i,i)=sum(y(i,:));endY %Y 为导纳矩阵G=real(Y);B=imag(Y);%原始节点功率S(1)=0.2+0.2i;S(2)=-0.45-0.15i;S(3)=-0.4-0.05i;S(4)=-0.6-0.1i;S(5)=0;P=real(S);Q=imag(S);%赋初值U=ones(1,5);U(5)=1.06;e=zeros(1,5);ox=ones(8,1);fx=ones(8,1); count=0 %计算迭代次数while max(fx)>1e-5 for i=1:4 forj=1:4H(i,j)=0;N(i,j)=0;M(i,j)=0;L(i,j)=0;end 注意赋值的次序,(j ,i )=(i ,j )%输出为负%ox 为与雅克比矩阵相乘的矩阵FxoP(i)=0;oQ(i)=0;为精度先清零?endfor i=1:4for j=1:5oP(i)=oP(i)-U(i)*U(j)*(G(i,j)*cos(e(i)-e(j))+B(i,j)*sin(e(i)-e(j))); oQ(i)=oQ(i)-U(i)*U(j)*(G(i,j)*sin(e(i)-e(j))-B(i,j)*cos(e(i)-e(j))); endoP(i)=oP(i)+P(i); oQ(i)=oQ(i)+Q(i); % 注意构造加和的形式end fx=[oP,oQ]';%求雅克比矩阵%当i~=j 时候求H,N,M,L 如下:for i=1:4for j=1:4if i~=j H(i,j)=-U(i)*U(j)*(G(i,j)*sin(e(i)-e(j))-B(i,j)*cos(e(i)-e(j)));N(i,j)=-U(i)*U(j)*(G(i,j)*cos(e(i)-e(j))+B(i,j)*sin(e(i)-e(j)));L(i,j)=H(i,j);M(i,j)=-N(i,j);endendendH,N,M,L%当i=j 时H,N,M,L 如下:for i=1:4for j=1:5if i~=jH(i,i)=H(i,i)+U(i)*U(j)*(G(i,j)*sin(e(i)-e(j))-B(i, j)*cos (e(i)-e(j)));N(i,i)=N(i,i)-U(i)*U(j)*(G(i, j)*cos(e(i)-e(j))+B(i,j)*sin(e(i)-e(j)));M(i,i)=M(i,i)-U(i)*U(j)*(G(i,j)*cos(e(i)-e(j))+B(i,j)*sin(e(i)-e(j))); L(i,i)=L(i,i)-U(i)*U(j)*(G(i,j)*sin(e(i)-e(j))-B(i,j)*cos(e(i)-e(j))); End % 注意构造加和的形式endN(i,i)=N(i,i)-2*(U(i)f2*G(i,i);L(i,i)=L(i,i)+2*(U(i)f2*B(i,i);endJ=[H,N;M,L] %J 为雅克比矩阵ox=-((inv(J))*fx);for i=1:4oe(i)=ox(i); oU(i)=ox(i+4)*U(i);endfor i=1:4e(i)=e(i)+oe(i); U(i)=U(i)+oU(i);end count=count+1;endox,U,e,count%求节点注入的净功率i=5;for j=1:5P(i)=U(i)*U(j)*(G(i,j)*cos(e(i)-e(j))+B(i,j)*sin(e(i)-e(j)))+P(i);Q(i)=U(i)*U(j)*(G(i,j)*sin(e(i)-e(j))-B(i,j)*cos(e(i)-e(j)))+Q(i);endS(5)=P(5)+Q(5)*sqrt(-1);S%求节点注入电流 I=Y*U'淋支路功率for i=1:5 for j=1:5if i~=j S(i,j)=U(i)*(conj(U(i))-conj(U(j)))*conj(-Y(i,j)); end end end S淋线路损耗for i=1:5 for j=1:5 if i~=jOS(i,j)=S(i,j)+S(j,i); end end end OS3.运行结果Y 值:i ■ New to MATL^.B? .Vatcli this /如.see Cemcs. or read 廖齒啦 St 日rted-迭代过程:10. 8333 -32, 50001 -1.6667 + S.OOOOi -L6667 + S.OOOOi -2,5000 + 7. 5000i-5.0000 +15.00001-1.66675. OOOOi -1.6667 + 5, 00001 12.9167 -38.75001 -10.0000 +30.00001-10.0000 +30.0000i0 -1.2500 + 3. 7500i 12.9157 -38,7500i -1.2500 + 3. 75001 0 -2. 5000 + 7. 5000i-1.2S00 + 3. 7500i 3. 7500 -11. 2500i-6. 0000 +15,00001 -1.2500 + 3.7500i0 00.2500 -IS.75001count0 5. 0000 5. 00007・5. 0000030・ 000005.0000 30. 0000 03・7.5000 0 3. 7500 0066571・ 066?2・50001.6667010.000001.666710. 0000 0 1. 25002.50000 1. 25000M =0-1. 6667-1.6667-2・5000-1.66670 -10.00000-1.6667 -10.0000 0-1. 2500-2.50000 -1. 250000 5.0000 5. 0000 7. 50005. 0000 030.0000 05. 000030.00000 3. 75007. 50000 3. 75000-33. 4000 5.0000 5. 0000 7. 5000 -10.5333 1.6667 1.6667 2. 50005. 0000-38.975030. 00000 1. 6667-12. 841710.000005. 000030.0000-3S.7500 3. 7500 1. 666710. 0000-12.9167 1.25007. 50000 3. 7500-11.2500 2. 50000 1. 2500-3.7500 11. 1333-1.6667 -1.6667-2.5000-31.6000 5. 0000 5.0000 7. 5000-1.666712.9917 -10.0000 0 5. 0000 -38. 525030.0000 0 -1.6667-10.0000 12.9167 -1.2500 5. 0000 30. 0000 -38.7500 3. 7500-2. 50000-1.2500 3. 75007. 50000 3. 7500-11.25006・ 3599B ・ 3622 8・ 0396S.2222 030.95205・ 2038 30・ 82980 3・ 85767・ 72233・ 81831.55T21・ 5235 2・1.970110・11371・ 9985 10・ 48030 1・ 22033・ 10291・ 33840 -X ・ 5572 一1・ 5235-2. 151 1一1・ 97010 —10.1137 0—1 . 9935 —1 O ・-4803o -1・ ZZO3一3・ 1029 0 一1・ 338a5. 35995. 3622 8. 03965.2222 030.9520 05.2038 30.82983・7.72233. 8183-35.0648 5. 3599 5. 3622 8. 0396 5.2222 -40.0794 30.9520 0 5.2038 30.8298-39.89133・ 85767.7223 03. 8183 -11.5406 11.5373 -1.5572 -1.5235 一2・ 1511 -1.9701 13.7720 -10.1137 0 -1.9985 -10.480313. 6991 -1.2203 -3. 1029 0-1.33844. 4412H =S ・ 2904S ・29丄2 7・ 9246彷.158S O36 042(5O 5. X397 30.4267O3. 80187・ 6217O3・ 7644ON =O1・ 54361.5112 2・13681. 9303 OO. 9876O 丄.9658 丄O ・33552050 Z5・O1・ 3171OM =O一1・ 5430 -1- 0112一2・ 1308-1. 9393 O 一9・ 98T6O一 1・ -IO ・ 3355O一1・ 2050一3・ 0463O 一1・3】"O-12.03101.5572 1. 52352. 15111. 9701 -12.8627 10.1137 0 1.9985 10. 4803 -12.8682 1. 22033. 10291. 3384 -3・1996 -35.64005. 35995. 3622 8・ 0 3965・ 2222 -39. 8247 30.9520 0 5. 2038 33. 8298 -39.8105 3. 8576 7.72233. 8183-11.38185.2904 5.2912 7.92461585 030.5426 0139730.4267■0 3.801862173, 76445,2E995.2907 7, 92375-15E0 030-53955-1392 30.42360 3L 8 013札 6210□ 3.7540 0J 工-34.7136 5.2S95 5.2907 7.9237-1 1.8379 I.5436 1.5111 2.13685.15S0 -39* 5812 30.5395 0 1. 9391 -12. 69379. 9867 0 5.1392 30.4236 -39.3642 18013 1.9055 10.3343 -12. 7047 1.2049 7.6210 03.7640 -1LJ850 3. 0448 0 1.316& -3.1617 11.4379 -1. 5436 -1. 5111 -2.136S-35.11355.2899 5.2907 7.9237-1.939113.5937-9.9867 05.1530 -39.2S12 30. 5395■J-1,9655 -10.3343 13, 5047 -1. 204S 5. 1392 30,4236-39.2642 3.8013-3. 0448 fl -1. 31694.36177.62103.7640 -11.1850电圧值:一34.7163 5.2904 5. 2S12 7, 9246 5. )585 -39.5849 30, 542€ 0 5.1397 30.4267-39,3681 3, B0L8 7. 6217 0 3” 7644 -1 L, 3861 11-43S4 -1.5436 -U 5112 -2.)368 -1.9393】3・5S50 一典 987€ 0 一1.9656-10-3356 13.5062 -】* 2050 7-04530 -1. 3171 4.3623 -11.8394 1, 5436 1. 51 12 2. L3681.9393 -12,BS50 9, 93 76 0 1,9€58 10. 3355 -12,7055 I.2050 3. 0453 0 L* 3171 -3. 1619-35. 1173 5.2904 吕.2912 7. 92465. 1585 -39. 23&3 30.5426 0氐 1397 30.42^7 -39.2683 3. 30187. 62170 3. 7644 -11. 1BE5 n =E. 15S0 乐.2S995. 2907孑0・5395〒-^237S™ 13S2 30.42363. 80' 137.6210 03.7640K =1.54361.51 1 1 2, 13681,9391 09. 9867U 9<555 10.33431B 20 493-044S 0 1- 3169 00 -1.5436一丨・5111 一乙 1 3681™93®! □ 一呂.98571, 965S -10-3343 0-1, 20493, 0448 0 -1.3169L =ox1 .. 0e- —003一6 00046 08350・ 1 1B3CL 2 157 -0, 2645 一CL SOSO 一Cl. 3215 -0. 39281, 0365 1- 0038 1- 0016 1 - 0600-0,0461■6 0839 -0- 0396 -d 1044count:=平衡节点注入功率及电流:Q.2QQQ+ 0.20001 -0.4500 - 0.1500i -0.400C - 0.05001 -C.6000 - 0.lOOOi 1.2982 + 0.2445i I 二0■0545 —0-1935i-0. 0953 + 0. 2E581—0.0565 + 0.1690i-0.0944 + 0.2E3210. 1817 - 0. 54521。

相关文档
最新文档