基于MATLAB牛顿拉夫逊法进行潮流计算
潮流计算(matlab)实例计算

潮流例题:根据给定的参数或工程具体要求(如图),收集和查阅资料;学习相关软件(软件自选:本设计选择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)静态地按最少出线支路数编号这种方法由称为静态优化法。
基于MATLAB牛顿拉夫逊法进行潮流计算

基于MATLAB牛顿拉夫逊法进行潮流计算【技术文档】
1.牛顿拉夫逊法在电力系统中的应用
由于电力系统存在着复杂的网络结构,要求高精度的计算,其复杂性导致一般的解析方法难以满足处理要求。
因此,经典的数值算法,如牛顿拉夫逊法(NLF)在计算中得到了广泛的应用。
牛顿拉夫逊法是一种以牛顿法为基础,利用拉夫逊步长更新的数值迭代方法。
电力系统除了需要求解静态ギス,还要求解动态ギス;这种动态ギス的求解并不是牛顿拉夫逊法的特征之一,因此,要使用牛顿拉夫逊法来求解电力系统的动态ギス,必须采用额外的技术,这种技术被称为牛顿拉夫逊法的“持续状态”,使用该方法可以求解电力系统中各类动态ギス的解。
2.MATLAB牛顿拉夫逊法应用:潮流计算
第一步,定义电力系统相关变量,包括母线及其网络拓扑结构、电源和功率元件等。
第二步,根据定义的变量建立平衡方程。
第三步,确定牛顿迭代次数以及拉夫逊步长准则。
基于MATLAB进行潮流计算

基于MATLAB进行潮流计算本文介绍了基于MATLAB软件的潮流计算方法。
电力系统潮流计算方法分为手算潮流和计算机潮流计算两类。
手算潮流主要适用于规模较小的辐射型电力潮流计算,而计算机潮流计算有两种途径:编程实现网络方程的迭代求解和借助电力系统分析仿真软件搭建系统模型完成潮流计算。
MATLAB具有强大的矩阵运算功能和电力系统仿真平台,可以为实现潮流计算提供更便捷的手段。
本文采用极坐标形式牛顿─拉夫逊法进行潮流计算,为其他形式的潮流计算提供借鉴。
Abstract: The power flow n method can be divided into two categories: hand n of tidal current and computer power flow XXX simplified equivalent circuits。
making it XXX: programming XXX ns。
or using power system XXX system model for power flow n。
MATLAB are has strong matrix ns and its power system XXX-Raphson method of power flow n in polar coordinates with MATLAB are。
and can serve as a reference for other forms of power flow n.1.电力系统中的牛顿法潮流计算是一种常用的电力系统分析方法。
该方法基于节点电压的相等条件和潮流方程的等式条件,通过迭代求解电压和相位的不平衡量,最终得到各节点的电压、相位和功率等参数。
2.牛顿法潮流计算的步骤包括输入系统原始数据、形成节点导纳矩阵、给定各节点电压初值、计算功率偏差向量、判断收敛条件、计算雅克比矩阵、解修正方程、计算节点电压和相位的修正值、迭代计算直至满足收敛条件、计算各节点功率等参数并输出计算结果。
牛顿—拉夫逊法潮流计算MATLAB程序

牛顿一拉夫逊法潮流计算程序By Yuluo%牛顿--拉夫逊法进行潮流计算n=i nput(' 请输入节点数:n=');n1=i nput('请输入支路数:n仁');isb=i nput(' 请输入平衡母线节点号:isb=');pr=i nput('请输入误差精度:pr=');B1=input('请输入由支路参数形成的矩阵:B1=');B2=input('请输入各节点参数形成的矩阵:B2=');X=input('请输入由节点参数形成的矩阵:X=');Y=zeros( n);e=zeros(1, n);f=zeros(1, n);V=seros(1, n);O=zeros(1, n);S1=zeros( n1); for i=1: nif X(i,2)~=0;p=X(i,1);丫(p,p)=1./X(i,2);endendfor i=1: n1if B1(i,6)==0p=B1(i,1);q=B1(i,2);else p=B1(i,2);q=B1(i,1);end丫(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5);Y(p,q)=Y(p,q);Y(p,q)=Y(q,q)+1./(B1(i,3)*B1(i,5F2)+B1(i,4)./2;丫(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2;end % 求导纳矩阵G=real(Y);B=imag(Y);for i=1: ne(i)=real(B2(i,3));f(i)=imag(B2(i,3));V(i)=B2(i,4);endfor i=1: nS(i)=B2(i,1)-B2(i,2);B(i,i)=B(i,i)+B2(i,5);endP=rea(S);Q=imag(S);ICT1=0;IT2=1;NO=2* n;N=NO+1;a=0;while IT2~=0IT2=0;a=a+1;for i=1: n;C(i)=0;D(i)=0;for j1=1: nC(i)=C(i)+G(i,j1)*e(j1)-B(i,j1)*f(j1);D(i)=D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1);endP仁C(i)*e(i)+f(i)*D(i);Q仁f(i)*C(i)-D(i)*e(i); % 求'P,Q'V2=e(i)A2+f(i)A2;if B2(i,6)~=3DP=P(i)-P1;DQ=Q(i)-Q1;for j1=1: nif j1~=isb&j1~=iX1=-G(i,j1)*e(i)-B(i,j1)*f(i);X2=B(i,j1)*e(i)-G(i,j1)*f(i);X3=X2;X4=-X1;p=2*i-1;q=2*j1-1;J(p,q)=X3;J(p,N)=DQ;m=p+1;J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X4;J(m,q)=X2; end end else DP=P(i)-P1;DV=V(i)~2-V2;for j1=1: nif j1~=isb&j1~=iX1=-G(i,j1)*e(i)-B(i,j1)*f(i);X2=B(i,j1)*e(i)-G(i,j1)*f(i);X5=0;X6=0;p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV;m=p+1;J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;J(m,q)=X2;elseif j1==i&j1~=isbX仁-C(i)-G(i,i)*e(i)-B(i,i)*f(i);X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);X5=-2*e(i);X6=-2*f(i);p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV;m=p+1;J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;J(m,q)=X2; end end end endend % 求雅可比矩阵for k=3:N0k1=k+1;N 1=N;for k2=k1:N1J(k,k2)=J(k,k2)./J(k,k);endJ( k,k)=1;k4=k-1;for k3=3:k4for k2=k1:N1J(k3,k2)=J(k3,k2)-J(k3,k)*J (k, k2);endJ(k3,k)=0;endendfor k3=k1:N0for k2=k1:N1J(k3,k2)=J(k3,k2)-J(k3,k)*J (k, k2);endJ(k3,k)=0;endendendfor k=3:2:N0-1L=(k+1)./2;e(L)=e(L)-J (k,N);k1=k+1;f(L)=f(L)-J(k1,N);endfor k=3:N0DET=abs (J(k, N));if DET>=prIT2=IT2+1endendICT2(a)=IT2ICT1=ICT1+1;for k=1: ndy(k)=sqrt(e(k)A2+f(k)A2);endfor i=1: nDy(k)=sqrt(e(k)A2+f(kF2);endfor i=1: nDy(ICT1,i)=dy(i);endend % 用高斯消去法解“ w=-J*V”disp('迭代次数');disp(ICTI);disp('没有达到精度要求的个数');disp(ICT2);for k=1: nV(k)=sqrt(e(k)A2+f(k)A2);O(k)=ata n(f(k)./e(k))*180./pi;endE=e+f*j;disp('各节点的实际电压标么值E为(节点号从小到大的排列):’);disp(E);disp('各节点的电压大小V为(节点号从小到大的排列):’);disp(V);disp('各节点的电压相角0为(节点号从小到大的排列):’);disp(O);for p=1: nC(p)=0;for q=1: nC(p)=C(p)+conj(丫(p,q))*conj(E(q));endS(p)=E(p)*C(p);enddisp('各节点的功率S为(节点号从小到大排列):’);disp(S);disp('各条支路的首端功率Si为(顺序同您输入B1时一样):‘);for i=1: n1if B1 ( i,6)==0p=B1(i,1);q=B1(i,2);else p=B1(i,2);q=B1(i,1);endSi(p,q)=E(p)*(conj(E(p))*conj(B1(i,4)./2)+(conj(E(p)*B1(i,5))-conj(E(q)))*con j(1./(B1(i,3)*B1(i,5))));disp(Si(p.q));enddisp('各条支路的末端功率Sj为(顺序同您的输入B1时一样):‘);for i=1: n1if B1(i,6)==0p=B1(i,1);q=B1(i,2);else p=B1(i,2);q=B1(i,1);endSj(q,p)=E(q)*(conj(E(q))*conj(B1(i,4)./2)+(xonj(E(q)./B1(i,5))-conj(E(p)))*xo nj(1./(B1(i,3)*B1(i,5))));disp(Sj(q,p));enddisp('各条支路的功率损耗DS为(顺序同您输入B1时一样):';for i=1: n1if B1(i,6)==0p=B1(i,1);q=B1(i,2);else p=B1(i,2);q=B1(i,1);endDS(i)=Si(p,q)+Sj(q,p);disp(DS(i));endfor i=1:ICT1Cs(i)=i;enddisp('以下是每次迭代后各节点的电压值(如图所示) ‘);plot(Cs,Dy),xlabel('迭代次数'),ylabel('电压'),title(' 电压迭代次数曲线');。
基于MATLAB的电力系统潮流计算_毕业设计论文

基于MATLAB的电⼒系统潮流计算_毕业设计论⽂基于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)致谢 (1)1 引⾔1.1 潮流计算⽬的电⼒系统潮流计算是研究电⼒系统稳态运⾏情况的⼀种基本电⽓计算。
基于MATLAB的牛顿拉夫逊迭代法计算潮流(附加短路计算)

这个程序可以适用于三机九节点系统(参数见主程序),本来是想编一个通用各种结构的程序的,但是因为鄙人比较懒,老师留作业时候又没说要通用,就没改完。
惭愧啊。
不过大同小异啦。
有兴趣的慢慢改吧。
使用方法:按后文中给出的代码建立.m文件放在一个文件夹里面。
先运行Powerflow_main.m计算算例系统的潮流;然后运行ShortcircuitCalc.m计算算例系统三相短路电流;程序说明详见各.m文件注释部分,写的已经很详细了,慢慢看吧。
Powerflow_main.m文件代码如下:clear%牛顿拉夫逊迭代法计算潮流format short %规定参数数据显示精度%节点参数矩阵%第一列为节点编号%第二列表示有功注入P%第三列表示无功注入Q%第四列表示电压幅值U%第五列表示电压角度θ%第六列表示发电机x′%第七列表示发电机E′%第八列表示节点类型(2表示平衡节点,1表示PV节点,0表示PQ节点)Node_p=[ 1, 0, 0, 1.04 , 0, 0.3, 1.137, 2;2, 1.63, 0, 1.025, 0, 0.3, 1.211, 1;3, 0.85, 0, 1.025, 0, 0.3, 1.047, 1;4, 0, 0, 1.0, 0, 0, 0, 0;5, -1.25, -0.5, 1.0, 0, 0, 0, 0;6, -0.9, -0.3, 1.0, 0, 0, 0, 0;7, 0, 0, 1.0, 0, 0, 0, 0;8, -1, -0.35, 1.0, 0, 0, 0, 0;9, 0, 0, 1.0, 0, 0, 0, 0];count_s=0;countPV=0;for k=1:size(Node_p,1)if Node_p(k,8)==1countPV=countPV+1;else if Node_p(k,8)==2count_s=count_s+1;end;end;end;countPV;count_s;countPQ=size(Node_p,1)-1-countPV;%显示节点参数disp('节点参数如下:')disp(Node_p)%支路参数%第一列为首节点,第二列为末节点,第三列表示R,第四列表示X,第五列表示B/2 %第六列表示支路类型(1为变比为1的变压器元件;2为输电线元件;0为接地支路)Branch_p =[ 1, 4, 0 , 0.0576, 0 , 1;2, 7, 0 , 0.0625, 0 , 1;3, 9, 0 , 0.0586, 0 , 1;4, 5, 0.01 , 0.085 , 0.088 , 2;4, 6, 0.017 , 0.092 , 0.079 , 2;5, 7, 0.032 , 0.161 , 0.153 , 2;6, 9, 0.039 , 0.17 , 0.179 , 2;7, 8, 0.0085, 0.072 , 0.0745, 2;8, 9, 0.0119, 0.1008, 0.1045, 2];%显示支路参数disp('支路参数如下:')disp(Branch_p)%设置节点初值U=Node_p(:,4);e_ang=Node_p(:,5);P=Node_p(:,2);Q=Node_p(:,3);save data.matformat long%计算结果数据显示精度%显示节点导纳矩阵admi();disp('节点导纳矩阵Y');sparseYKmax=10; %设置最大迭代次数kaccuracy=10^-7;%设置迭代精度k=0;%迭代次数初始化为零for k1=1:Kmax[dP,dQ,y]=getY(U,e_ang);if max(abs(y))<accuracybreak;end;J=jacob(U,e_ang,dP,dQ);x=-inv(J)*y;de_ang=[0;x(1:8)];dU=x(9:14);u1=U(2:9)*dU.';u=diag(u1);U(4:9)=U(4:9)+u;e_ang=e_ang+de_ang;k=k+1;end;e_ang=e_ang/pi*180;save result.matdisp('迭代次数:')kdisp('4号节点至9号节点电压幅值如下:') disp(U(4:9))disp('2号节点至9号节点电压相角如下:') disp(e_ang(2:9))admi.m文件代码如下:%节点导纳矩阵的形成format long %规定数据格式NI=size(Branch_p,1);k_t=1;Y=zeros(NI);for m1=1:NI;I=Branch_p(m1,1);J=Branch_p(m1,2);R=Branch_p(m1,3);X=Branch_p(m1,4);b=Branch_p(m1,5);Style=Branch_p(m1,6);if Style==1 %判断为变压器元件Y(I,I)=Y(I,I)+1/(R+1j*X);Y(J,J)=Y(J,J)+1/(R+1j*X)/k_t/k_t;Y(I,J)=Y(I,J)-1/(R+1j*X)/k_t;Y(J,I)=Y(J,I)-1/(R+1j*X)/k_t;else if Style==0 %判断为母线接地支路元件Y(I,J)=Y(I,J)+1/(R+1j*X);else %判断为输电线元件Y(I,I)=Y(I,I)+1j*b+1/(R+1j*X);Y(J,J)=Y(J,J)+1j*b+1/(R+1j*X);Y(I,J)=Y(I,J)-1/(R+1j*X);Y(J,I)=Y(J,I)-1/(R+1j*X);end;end;end;Y;G=real(Y);B=imag(Y);sparseY=sparse(Y);save data.mat;getY.m文件代码如下:(线性方程组常写作AX=Y形式,故此处命名为get_Y)%计算ΔP和ΔQ的函数function [dP,dQ,y]=getY(U,e_ang)load data P Q G B Node_p countPV count_s;dP=zeros(size(Node_p,1),1); sum1=zeros(size(Node_p,1),1);for i=1:size(Node_p,1)for j=1:size(Node_p,1)sum1(i)=sum1(i)+U(j)*(G(i,j)*cos(e_ang(i)-e_ang(j))+B(i,j)*sin(e_ang(i)-e_ang(j)));end;dP(i)=P(i)-U(i)*sum1(i);end;dQ=zeros(size(Node_p,1),1);sum2=zeros(size(Node_p,1),1);for i=1:size(Node_p,1)for j=1:size(Node_p,1)sum2(i)=sum2(i)+U(j)*(G(i,j)*sin(e_ang(i)-e_ang(j))-B(i,j)*cos(e_ang(i)-e_ang(j)));end;dQ(i)=Q(i)-U(i)*sum2(i);end;y=[dP((count_s+1):9);dQ((countPV+count_s+1):9)]; %拼接ΔP和ΔQ构成方程-J*x=y的向量yjacob.m文件的代码如下:%形成雅克比矩阵的函数function J=jacob(U,e_ang,dP,dQ)load data B G Q P Node_p countPV count_s;size_Y=size(Node_p,1);%H矩阵H1=zeros(size_Y);for i=1:size_Yfor j=1:size_Yif j==i;H1(i,j)= U(i)*U(i)*B(i,j)+Q(i)-dQ(i);elseH1(i,j)=-U(i)*U(j)*(G(i,j)*sin(e_ang(i)-e_ang(j))-B(i,j)*cos(e_ang(i)-e_ang(j)));end;endendH=H1(2:size_Y,2:size_Y);%N矩阵N1=zeros(size_Y);for i=1:size_Yfor j=1:size_Yif j==i;N1(i,j)= -U(i)*U(i)*G(i,j)-(P(i)-dP(i));elseN1(i,j)=-U(i)*U(j)*(G(i,j)*cos(e_ang(i)-e_ang(j))+B(i,j)*sin(e_ang(i)-e_ang(j)));end;end;end;N=N1(2:size_Y,(countPV+count_s+1):size_Y);%M矩阵M1=zeros(size_Y);for i=1:size_Yfor j=1:size_Yif j==i;M1(i,j)=U(i)*U(i)*G(i,j)-(P(j)-dP(j));elseM1(i,j)=U(i)*U(j)*(G(i,j)*cos(e_ang(i)-e_ang(j))+B(i,j)*sin(e_ang(i)-e_ang(j)));end;end;end;M=M1((countPV+count_s+1):size_Y,2:size_Y);%L矩阵L1=zeros(size_Y);for i=1:size_Yfor j=1:size_Yif j==i;L1(i,j)= U(i)*U(i)*B(i,j)-(Q(i)-dQ(i));elseL1(i,j)= -U(i)*U(j)*(G(i,j)*sin(e_ang(i)-e_ang(j))-B(i,j)*cos(e_ang(i)-e_ang(j)));end;endendL=L1((countPV+count_s+1):size_Y,(countPV+count_s+1):size_Y);J=[H N;M L];%拼接构成雅克比矩阵ShortcircuitCalc.m文件的代码如下:clear%三相短路计算format long;%对YN进行修正,形成包括发电机内阻抗和负荷阻抗的节点导纳矩阵re_admi();Z=inv(rY);%计算节点阻抗矩阵disp('4节点发生金属短路')f=4;%短路点为4节点%输出节点阻抗矩阵的短路点所在列disp('节点阻抗矩阵的短路点所在列Z(:,f)=');Z(:,f)%短路电流If计算load result U e_ang;e_angf=e_ang(f);Uf=U(f)*(cos(e_angf/180*pi)+1j*sin(e_angf/180*pi));Zff=Z(f,f);zf=0;If=Uf/(Zff+zf);i_angf=angle(If)*180/pi;If=abs(If);%短路电流计算结果显示disp('短路电流幅值:')Ifdisp('短路电流相角(单位为°)')i_angf%短路时各节点电压计算U_k=U;for x1=1:size(Node_p,1)U_k(x1)=U(x1)*(cos(e_ang(x1)*pi/180)+1j*sin(e_ang(x1)*pi/180))-Z(x1,f)*If*(cos(i_angf*pi/180)+ 1j*sin(i_angf*pi/180));end;%Uk为短路时各节点电压幅值Uk=abs(U_k);%uk_ang为短路时各节点电压相角(单位为°)uk_ang=angle(U_k)*180/pi;%输出短路时各节点电压disp('短路时1-9节点电压:')disp('幅值:')Ukdisp('相角:(单位为°)')uk_ang%计算短路时各支路电流%输出矩阵初始化%第一列为首节点i%第二列为末节点j%第三列为Ii幅值%第四列为Ii相角(单位为°)%第五列为Ij幅值%第六列为Ij相角(单位为°)Ik=[1 4 1 0 1 0;2 7 1 0 1 0;3 9 1 0 1 0;4 5 1 0 1 0;4 6 1 0 1 0;5 7 1 0 1 0;6 9 1 0 1 0;7 8 1 0 1 0;8 9 1 0 1 0];load data Branch_p k_t;%其中变压器变比为k_tNI=size(Branch_p,1);for m1=1:NI;I=Branch_p(m1,1);J=Branch_p(m1,2);R=Branch_p(m1,3);X=Branch_p(m1,4);b=Branch_p(m1,5);Style=Branch_p(m1,6);if Style~=1 %判断为非变压器支路Ik(m1,3)=(U_k(I)-U_k(J))/(R+1j*X)+U_k(I)*1j*b;Ik(m1,4)=angle(Ik(m1,3))*180/pi;Ik(m1,3)=abs(Ik(m1,3));Ik(m1,5)=(U_k(J)-U_k(I))/(R+1j*X)+U_k(J)*1j*b;Ik(m1,6)=angle(Ik(m1,5))*180/pi;Ik(m1,5)=abs(Ik(m1,5));else %否则为变压器支路Ik(m1,3)=(U_k(I)-U_k(J))/(R+1j*X)/k_t;Ik(m1,4)=angle(Ik(m1,3))*180/pi;Ik(m1,3)=abs(Ik(m1,3));Ik(m1,5)=(U_k(J)-U_k(I))/(R+1j*X)/k_t;Ik(m1,6)=angle(Ik(m1,5))*180/pi;Ik(m1,5)=abs(Ik(m1,5));endend%输出短路时各节点电流disp('第一列为首节点i')disp('第二列为末节点j')disp('第三列为Ii幅值')disp('第四列为Ii相角(单位为°)')disp('第五列为Ij幅值')disp('第六列为Ij相角(单位为°)')format shortIksave result_k%形成包括发电机内阻抗、负荷阻抗的节点导纳矩阵format long %规定数据显示精度load data P Q Y Node_p ;load result U;rY=Y;for n1=1:size(Node_p,1)Xd=Node_p(n1,6);Ed=Node_p(n1,7);style=Node_p(n1,8);if style~=0 %判断是否为发电机节点rY(n1,n1)=rY(n1,n1)+1/(1j*Xd);%YN中与发电机节点对应的对角线元素增加发电机导纳else %其他节点(包含负荷节点)rY(n1,n1)=rY(n1,n1)+(-P(n1)+1j*Q(n1))/(U(n1)*U(n1));%与负荷节点对应的对角线元素增加负荷导纳%对于非负荷节点Y矩阵元素不做修改但仍满足上式end;end;rY;。
基于牛顿拉夫逊法潮流计算的matlab实验报告(含源程序和结果)

基于牛顿拉夫逊法潮流计算的matlab实验报告一、实验目的和要求1.学习掌握matlab的基本用法2.应用MATLAB语言编写具有一定通用性的牛顿-拉夫逊法潮流计算程序。
要求:(1)潮流计算方法为牛顿-拉夫逊法。
(2)编程语言为MATLAB。
(3)程序具有较强通用性。
二、程序流程图1.程序流程图开始形成节点导纳矩阵输入原始数据,节点重新编号设节点电压初值(0)(0)i ie f,i=1,2…,n,i≠s置迭代次数P=0置节点号i=1计算雅克比矩阵元素按公式计算PQ节点的()k i P∆,()kiQ∆,PV节点的()kiP∆,()2kiU∆求解修正方程式,得()kie∆,()kif∆雅克比矩阵是否已全部形成?求()max||ke∆,()max||kf∆迭代次数P=P+1i=i+1计算各节点电压的新值:(1)()()k k kie e e+=+∆(1)()()k k kif f f+=+∆三、求解问题及其结果1.求解问题:IEEE-美国新英格兰10机39节点测试系统1)系统单线图2)系统参数1)系统容量基准值为100MV A。
2) 负荷数据见表D-1表D-1 负荷数据3)发电机数据见表D-24)线路参数见表D-3LN35: BUS-4接有并联电容器,B 4=1.0000 LN36: BUS-5接有并联电容器,B 4=2.00005)变压器参数见表D-4%IEEE-美国新英格兰10机39节点测试系统% 1 2 3 4 5 6% bus volt angle p q typebus=[ 1 1.0000 0.00 0.00 0.00 12 1.0000 0.00 0.00 0.00 13 1.0000 0.00 -3.22 -0.024 14 1.0000 0.00 -5.00 -1.84 15 1.0000 0.00 0.00 0.00 16 1.0000 0.00 0.00 0.00 17 1.0000 0.00 -2.338 -0.84 18 1.0000 0.00 -5.22 -1.76 19 1.0000 0.00 0.00 0.00 110 1.0000 0.00 0.00 0.00 111 1.0000 0.00 0.00 0.00 112 1.0000 0.00 -0.085 -0.88 113 1.0000 0.00 0.00 0.00 114 1.0000 0.00 0.00 0.00 115 1.0000 0.00 -3.20 -1.53 116 1.0000 0.00 -3.29 -0.323 117 1.0000 0.00 0.00 0.00 118 1.0000 0.00 -1.58 -0.30 119 1.0000 0.00 0.00 0.00 120 1.0000 0.00 -6.80 -1.03 121 1.0000 0.00 -2.74 -1.15 122 1.0000 0.00 0.00 0.00 123 1.0000 0.00 -2.475 -1.15 124 1.0000 0.00 -3.08 -0.922 125 1.0000 0.00 -2.24 -0.472 126 1.0000 0.00 -1.39 -0.17 127 1.0000 0.00 -2.81 -0.755 128 1.0000 0.00 -2.06 -0.276 129 1.0000 0.00 -2.835 -0.269 130 1.0475 0.00 2.50 0.00 231 1.0000 0.00 0.00 0.00 332 1.0000 0.00 6.50 1.759 133 1.0000 0.00 6.32 1.0335 134 1.0123 0.00 5.08 0.00 235 1.0493 0.00 6.50 0.00 236 1.0000 0.00 5.60 0.9688 137 1.0278 0.00 5.40 0.00 238 1.0265 0.00 8.30 0.00 239 1.0300 0.00 -1.04 0.00 2];% 1 2 3 4 5 6 7 % line: from bus to bus R, X, G, B/2 Kline=[ 2 1 0.00350 0.04110 0 0.34935 0;39 1 0.00100 0.02500 0 0.37500 0;3 2 0.00130 0.01510 0 0.12860 0;25 2 0.00700 0.00860 0 0.07300 0;4 3 0.00130 0.02130 0 0.11070 0;18 3 0.00110 0.01330 0 0.10690 0;5 4 0.00080 0.01280 0 0.06710 0;14 4 0.00080 0.01290 0 0.06910 0;6 5 0.00020 0.00260 0 0.02170 0;8 5 0.00080 0.01120 0 0.07380 0;7 6 0.00060 0.00920 0 0.05650 0;11 6 0.00070 0.00820 0 0.06945 0;8 7 0.00040 0.00460 0 0.03900 0;9 8 0.00230 0.03630 0 0.19020 0;39 9 0.00100 0.02500 0 0.60000 0;11 10 0.00040 0.00430 0 0.03645 0;13 10 0.00040 0.00430 0 0.03645 0;14 13 0.00090 0.01010 0 0.08615 0;15 14 0.00180 0.02170 0 0.18300 0;16 15 0.00090 0.00940 0 0.08550 0;17 16 0.00070 0.00890 0 0.06710 0;19 16 0.00160 0.01950 0 0.15200 0;21 16 0.00080 0.01350 0 0.12740 0;24 16 0.00030 0.00590 0 0.03400 0;18 17 0.00070 0.00820 0 0.06595 0;27 17 0.00130 0.01730 0 0.16080 0;22 21 0.00080 0.01400 0 0.12825 0;23 22 0.00060 0.00960 0 0.09230 0;24 23 0.00220 0.03500 0 0.18050 0;26 25 0.00320 0.03230 0 0.25650 0;27 26 0.00140 0.01470 0 0.11980 0;28 26 0.00430 0.04740 0 0.39010 0;29 26 0.00570 0.06250 0 0.51450 0;29 28 0.00140 0.01510 0 0.12450 0;4 0 0 0 0 1.0000 0;5 0 0 0 0 2.0000 0;11 12 0.00160 0.04350 0 0 100.60000/100;13 12 0.00160 0.04350 0 0 100.60000/100;30 2 0.00000 0.01810 0 0 102.50000/100 ;31 6 0.00000 0.02500 0 0 107.00000/100 ;32 10 0.00000 0.02000 0 0 107.00000/100 ;34 20 0.00090 0.01800 0 0 100.90000/100 ;33 19 0.00070 0.01420 0 0 107.00000/100 ;35 22 0.00000 0.01430 0 0 102.50000/100 ;36 23 0.00050 0.02720 0 0 100.00000/100 ;37 25 0.00060 0.02320 0 0 102.50000/100 ;38 29 0.00080 0.01560 0 0 102.50000/100 ;20 19 0.00070 0.01380 0 0 106.00000/100] ;计算结果牛顿-拉夫逊法潮流计算结果节点计算结果:n节点节点电压节点相角(角度)节点注入功率1 1.049185 -8.874991 0.000000 + j 0.0000002 1.053167 -6.367180 0.000000 + j 0.0000003 1.041493 -9.207297 -3.220000 + j -0.0240004 1.036574 -10.042585 -5.000000 + j -1.8400005 1.044652 -8.959237 0.000000 + j 0.0000006 1.043883 -8.293104 0.000000 + j 0.0000007 1.032645 -10.342431 -2.338000 + j -0.8400008 1.031177 -10.811816 -5.220000 + j -1.7600009 1.042715 -10.595648 0.000000 + j 0.00000010 1.046426 -6.010476 0.000000 + j 0.00000011 1.044322 -6.792462 0.000000 + j 0.00000012 1.030736 -6.795388 -0.085000 + j -0.88000013 1.042351 -6.675491 0.000000 + j 0.00000014 1.036310 -8.232337 0.000000 + j 0.00000015 1.018517 -8.519794 -3.200000 + j -1.53000016 1.025492 -7.051856 -3.290000 + j -0.32300017 1.032750 -8.077118 0.000000 + j 0.00000018 1.034779 -8.936485 -1.580000 + j -0.30000019 1.044862 -2.382169 0.000000 + j 0.00000020 0.988148 -3.811032 -6.800000 + j -1.03000021 1.024926 -4.596980 -2.740000 + j -1.15000022 1.042650 -0.070512 0.000000 + j 0.00000023 1.032952 -0.245457 -2.475000 + j -1.15000024 1.021125 -6.906503 -3.080000 + j -0.92200025 1.060163 -4.952002 -2.240000 + j -0.47200026 1.052697 -6.205207 -1.390000 + j -0.17000027 1.037683 -8.217337 -2.810000 + j -0.75500028 1.050444 -2.695196 -2.060000 + j -0.27600029 1.050163 0.063077 -2.835000 + j -0.26900030 1.004392 1.594781 6.500000 + j 1.75900031 0.991632 2.892572 6.320000 + j 1.03350032 1.050539 7.797786 5.600000 + j 0.96880033 1.047500 -3.957598 2.500000 + j 1.21117434 1.012300 1.385774 5.080000 + j 1.82635935 1.049300 4.925324 6.500000 + j 2.63756636 1.027800 1.819476 5.400000 + j -0.10822437 1.026500 7.125579 8.300000 + j 0.21422538 1.030000 -10.390696 -1.040000 + j -2.29163939 1.000000 0.000000 5.628660 + j 1.384403线路计算结果:n节点I 节点J 线路功率S(I,J) 线路功率S(J,I) 线路损耗dS(I,J)2 1 1.178698 + j -0.360055 -1.174311 + j -0.360481 0.004386 + j -0.720536 39 1 6.405845 + j -2.096152 -6.361848 + j 2.408287 0.043997 + j 0.3121353 2 -3.633961 + j -0.542613 3.649983 + j 0.446577 0.016021 + j -0.096036 25 2 2.370242 + j -1.109311 -2.328681 + j 0.997356 0.041562 + j -0.1119554 3 -0.750370 + j -0.307172 0.751094 + j 0.080014 0.000724 + j -0.227159 18 3 0.337560 + j -0.663855 -0.337133 + j 0.438599 0.000427 + j -0.225256 5 4 1.635254 + j 0.499000 -1.633054 + j -0.609119 0.002200 + j -0.110119 14 4 2.621711 + j -0.216428 -2.616576 + j 0.150777 0.005135 + j -0.065651 6 5 4.826035 + j -0.675350 -4.821682 + j 0.684607 0.004353 + j 0.0092578 5 -3.178130 + j -1.041836 3.186428 + j 0.998989 0.008297 + j -0.042847 7 6 -4.249274 + j -0.969559 4.259899 + j 1.010657 0.010625 + j 0.04109811 6 3.465003 + j -0.270003 -3.457273 + j 0.209136 0.007730 + j -0.0608668 7 -1.909893 + j -0.196732 1.911274 + j 0.129559 0.001381 + j -0.0671739 8 0.132235 + j 0.116464 -0.131977 + j -0.521432 0.000258 + j -0.404968 39 9 7.617154 + j -1.902126 -7.557438 + j 2.142687 0.059717 + j 0.24056111 10 -3.483660 + j -0.203064 3.488121 + j 0.171352 0.004461 + j -0.03171213 10 -3.008372 + j -0.730489 3.011879 + j 0.688680 0.003508 + j -0.04180914 13 -2.934129 + j -0.411463 2.941429 + j 0.307264 0.007300 + j -0.10419915 14 -0.311115 + j -0.998556 0.312417 + j 0.627891 0.001303 + j -0.37066516 15 2.896296 + j 0.430232 -2.888885 + j -0.531444 0.007411 + j -0.10121217 16 -2.048841 + j 0.950740 2.052282 + j -1.049122 0.003441 + j -0.098383 19 16 4.542969 + j 0.681545 -4.511670 + j -0.625873 0.031300 + j 0.05567221 16 3.324778 + j -0.302389 -3.316338 + j 0.177006 0.008440 + j -0.125383 24 16 0.410793 + j -0.811601 -0.410571 + j 0.744757 0.000222 + j -0.066844 18 17 -1.917560 + j 0.363855 1.920087 + j -0.475208 0.002527 + j -0.111353 27 17 -0.128621 + j 0.132648 0.128754 + j -0.475531 0.000133 + j -0.342884 22 21 6.093176 + j 1.070437 -6.064778 + j -0.847611 0.028398 + j 0.22282623 22 -0.406149 + j -1.116063 0.406824 + j 0.928040 0.000675 + j -0.18802424 23 -3.490793 + j -0.110399 3.516516 + j 0.138837 0.025723 + j 0.02843826 25 -0.771398 + j -0.442881 0.773189 + j -0.111580 0.001791 + j -0.55446027 26 -2.681379 + j -0.887648 2.691475 + j 0.731900 0.010096 + j -0.15574828 26 1.416063 + j -0.565082 -1.408178 + j -0.210747 0.007885 + j -0.77583029 26 1.921038 + j -0.679443 -1.901899 + j -0.248272 0.019138 + j -0.927715 29 28 3.491624 + j -0.395924 -3.476063 + j 0.289082 0.015561 + j -0.106842 4 0 0.000000 + j -1.074485 0.000000 + j 0.000000 0.000000 + j -1.0744855 0 0.000000 + j -2.182596 0.000000 + j 0.000000 0.000000 + j -2.18259611 12 0.018656 + j 0.473066 -0.018327 + j -0.464126 0.000329 + j 0.00894013 12 0.066943 + j 0.423225 -0.066673 + j -0.415874 0.000270 + j 0.00735130 2 7.897633 + j -0.731582 -7.897633 + j 1.860277 0.000000 + j 1.12869531 6 7.506817 + j 1.371343 -7.506817 + j 0.109153 0.000000 + j 1.48049632 10 12.260592 + j 5.296517 -12.260592 + j -2.064007 0.000000 + j 3.23250934 20 5.080000 + j 1.826359 -5.054406 + j -1.314473 0.025594 + j 0.51188633 19 -1.716763 + j 5.348910 1.736896 + j -4.940504 0.020133 + j 0.40840535 22 6.500000 + j 2.637566 -6.500000 + j -1.998477 0.000000 + j 0.63908936 23 1.402814 + j -0.195113 -1.401865 + j 0.246763 0.000949 + j 0.05165037 25 9.586236 + j 0.419689 -9.533808 + j 1.607517 0.052428 + j 2.02720638 29 -12.165903 + j 2.106593 12.280860 + j 0.135062 0.114957 + j 2.24165520 19 -1.745594 + j 0.284473 1.747837 + j -0.240265 0.002242 + j 0.044208结果分析:此程序的运行结果和试验程序给出的结果是一致的。
牛顿拉夫逊潮流计算 [基于malab的牛顿拉夫逊法潮流计算毕业论文]
![牛顿拉夫逊潮流计算 [基于malab的牛顿拉夫逊法潮流计算毕业论文]](https://img.taocdn.com/s3/m/ba1c3d253186bceb18e8bbc8.png)
牛顿拉夫逊潮流计算 [基于malab的牛顿拉夫逊法潮流计算毕业论文]基于malab的牛顿拉夫逊法潮流计算摘要本文,首先简单介绍了基于在MALAB中行潮流计算的原理、意义,然后用具体的实例,简单介绍了如何利用MALAB去进行电力系统中的潮流计算。
众所周知,电力系统潮流计算是研究电力系统稳态运行情况的一种计算,它根据给定的运行条件及系统接线情况确定整个电力系统各部分的运行状态:各线的电压、各元件中流过的功率、系统的功率损耗等等。
在电力系统规划的设计和现有电力系统运行方式的研究中,都需要利用潮流计算来定量地分析比较供电方案或运行方式的合理性、可靠性和经济性。
此外,在进行电力系统静态及暂态稳定计算时,要利用潮流计算的结果作为其计算的基础;一些故障分析以及优化计算也需要有相应的潮流计算作配合;潮流计算往往成为上述计算程序的一个重要组成部分。
以上这些,主要是在系统规划设计及运行方式安排中的应用,属于离线计算范畴。
牛顿-拉夫逊法在电力系统潮流计算的常用算法之一,它收敛性好,迭代次数少。
本文介绍了电力系统潮流计算机辅助分析的基本知识及潮流计算牛顿-拉夫逊法,最后介绍了利用MTALAB程序运行的结果。
电力系统潮流计算,牛顿-拉夫逊法,MATLAB ABSTRACT This article first introduces the flowcalculation based on the principle of MALAB Bank ofChina, meaning, and then use specific examples, abrief introduction, how to use MALAB to the flowcalculation in power systems. As we all know, isthe study of power flow calculation of power systemsteady-state operation of a calculation, whichaccording to the given operating conditions and systemwiring the entire power system to determine theoperational status of each part: the bus voltageflowing through the components power, system powerloss and so on. In power system planning power systemdesign and operation mode of the current study, arerequired to quantitatively calculated using the trendanalysis and comparison of the program or run modepower supply reasonable, reliability and economy.In addition, during the power system static and transient stability calculation, the results of calculation to take advantage of the trend as its basis of calculation; number of fault analysis and optimization also requires a corresponding flow calculation for cooperation; power flow calculation program often become the an important part. These, mainly in the way of system design and operation arrangements in the application areas are off-line calculation. Newton - Raphson power flow calculation in power system is one commonly used method, it is good convergence of the iteration number of small, introduce the trend of computer-aided power system analysis of the basic knowledge and power flow Newton - Raphson method, introduced by the last matlab run results. Keywords:power system flow calculation, Newton – Raphson method, matlab 目录 1 绪论 1 1.1 课题背景 1 1.2 电力系统潮流计算的意义 2 1.3 电力系统潮流计算的发展 2 1.4 潮流计算的发展趋势 4 2 潮流计算的数学模型 5 2.1 电力线路的数学模型及其应用 5 2.2 等值双绕组变压器模型及其应用 6 2.3 电力网络的数学模型 8 2.4 节点导纳矩阵 9 2.4.1 节点导纳矩阵的形成 9 2.4.2 节点导纳矩阵的修改 10 2.5 潮流计算节点的类型 11 2.6 节点功率方程12 2·7 潮流计算的约束条件 13 3 牛顿-拉夫逊法潮流计算基本原理 14 3.1 牛顿-拉夫逊法的基本原理 14 3.2 牛顿-拉夫逊法潮流计算的修正方程 17 3.3 潮流计算的基本特点 20 3.4 节点功率方程 21 4牛顿-拉夫逊法分解潮流程序22 4·1 牛顿-拉夫逊法分解潮流程序原理总框图 22 4.2 形成节点导纳矩阵程序框图及代码 23 4.2。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
>> %本程序的功能是用牛顿拉夫逊法进行潮流计算n=input('请输入节点数:n=');
nl=input('请输入支路数:nl=');
isb=input('请输入平衡母线节点号:isb=');
pr=input('请输入误差精度:pr=');
B1=input('请输入由各支路参数形成的矩阵:B1='); B2=input('请输入各节点参数形成的矩阵:B2=');
Y=zeros(n); e=zeros(1,n);f=zeros(1,n);V=zeros(1,n); O=zeros(1,n);S1=zeros(nl);
for i=1:nl
if B1(i,6)==0
p=B1(i,1);q=B1(i,2);
else p=B1(i,2);q=B1(i,1);
end
Y(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5));
Y(q,p)=Y(p,q);
Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4)./2;
Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2;
end
%求导纳矩阵
disp('导纳矩阵Y=');
disp(Y);
G=real(Y);B=imag(Y);
for i=1:n
e(i)=real(B2(i,3));
f(i)=imag(B2(i,3));
V(i)=B2(i,4);
end
for i=1:n
S(i)=B2(i,1)-B2(i,2);
B(i,i)=B(i,i)+B2(i,5);
end
P=real(S);Q=imag(S);
ICT1=0;IT2=1;N0=2*n;N=N0+1;a=0;
while IT2~=0
IT2=0;a=a+1;
for i=1:n
if i~=isb
C(i)=0;
D(i)=0;
for j1=1:n
C(i)= C(i)+G(i,j1)*e(j1)-B(i,j1)*f(j1);
D(i)= D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1);
end
P1=C(i)*e(i)+f(i)*D(i);
Q1=f(i)*C(i)-D(i)*e(i);
V2=e(i)^2+f(i)^2;
%117页malihong打
if B2(i,6)~=3
DP=P(i)-P1;
DQ=Q(i)-Q1;
for j1=1:n
if j1~=isb&j1~=i
X1=-G(i,j1)*e(i)-B(i,j1)*f(i);
X2=B(i,j1)*e(i)-G(i,j1)*f(i);
X3=X2;
X4=-X1;
p=2*i-1;q=2*j1-1;J(p,q)=X3;J(p,N)=DQ;
m=p+1;
J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X4;J(m,q)=X2;
elseif j1==i&j1~=isb
X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);
X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);
X3=D(i)+B(i,i)*e(i)-G(i,i)*f(i);
X4=-C(i)+G(i,i)*e(i)+B(i,i)*f(i);
p=2*i-1;q=2*j1-1;J(p,q)=X3;J(p,N)=DQ;m=p+1;
J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X4;J(m,q)=X2;
end
end
else
DP=P(i)-P1;
DV=V(i)^2-V2;
for j1=1:n
if j1~=isb&j1~=i
X1=-G(i,j1)*e(i)-B(i,j1)*f(i);
X2=B(i,j1)*e(i)-G(i,j1)*f(i);
X5=0;
X6=0;
p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV; m=p+1;
J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;J(m,q)=X2;
elseif j1==i&j1~=isb
X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);
X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);%118页孟打印
X5=-2*e(i);
X6=-2*f(i);
p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV;
m=p+1;
J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;
J(m,q)=X2;
end
end
end
end
end
%求雅可比矩阵
for k=3:N0
k1=k+1;N1=N;
for k2=k1:N1
J(k,k2)=J(k,k2)./J(k,k);
end
J(k,k)=1;
if k~=3;
k4=k-1;
for k3=3:k4
for k2=k1:N1
J(k3,k2)= J(k3,k2)-J(k3,k)*J(k,k2);
end
J(k3,k)=0;
end
if k==N0,break;end
for k3=k1:N0
for k2=k1:N1
J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);
end
J(k3,k)=0;
end
else
for k3=k1:N0
for k2=k1:N1
J(k3,k2)= J(k3,k2)-J(k3,k)*J(k,k2);
end
J(k3,k)=0;
end
end
end %119页zhengtong打%
for k=3:2:N0-1
L=(k+1)./2;
e(L)=e(L)-J(k,N);
k1=k+1;
f(L)=f(L)-J(k1,N);
end
for k=3:N0
DET=abs(J(k,N));
if DET>=pr
IT2=IT2+1;
end
end
ICT2(a)=IT2;
ICT1=ICT1+1;
end
%用高斯消去法解“w=-J*V”
disp('迭代次数');
disp(ICT1);
disp('没有达到精度要求的个数');
disp(ICT2);
for k=1:n
V(k)=sqrt(e(k)^2+f(k)^2);
shita(k)=atan(f(k)./e(k))*180/pi;
E(k)=e(k)+f(k)*j;
end
disp('各节点的实际电压标么值E为(节点号从小到大排列):');
disp(E);
disp('各节点的电压大小V为(节点号从小到大排列):');
disp(V);
disp('各节点的电压相角时shita为(节点号从小到大排列):');
disp(shita);
for p=1:n
C(p)=0;
for q=1:n
C(p)=C(p)+conj(Y(p,q))*conj(E(q));
end
S(p)=E(p)*C(p);
end %120页打
disp('各节点的功率S为(节点号从小到大排列):');
disp(S);
disp('各条支路的首端功率Si为(顺序同您输入B1时一样):');
for i=1:nl
if B1(i,6)==0
p=B1(i,1);q=B1(i,2);
else p=B1(i,2);q=B1(i,1);
end
Si(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))));
disp(Si(p,q));
end
disp ('各条支路的末端功率Sj为(顺序同您输入B1时一样):');
for i=1:nl
if B1(i,6)==0
p=B1(i,1);q=B1(i,2);
else p=B1(i,2);q=B1(i,1);
end
Sj(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))));
disp(Sj(q,p));
end
disp('各条支路的功率损耗DS为(顺序同您输入B1时一样):' );
for i=1:nl
if B1(i,6)==0
p=B1(i,1);q=B1(i,2);
else p=B1(i,2);q=B1(i,1);
end
DS(i)=Si(p,q)+Sj(q,p);
disp(DS(i));
end。