matlab潮流计算.pdf

合集下载

matlab潮流计算

matlab潮流计算

前言电力系统潮流计算是研究电力系统稳态运行情况的一种计算,它根据给定的运行条件及系统接线情况确定整个电力系统各部分的运行状态:各母线的电压,各元件中流过的功率,系统的功率损耗等等。

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

可靠性和经济性。

此外,电力系统潮流计算也是计算系统动态稳定和静态稳定的基础。

所以潮流计算是研究电力系统的一种很重要和很基础的计算。

随着科学技术的发展,电力系统变得越来越复杂,电气工程师掌握一种好的能对电力系统进行仿真的软件是学习和研究的需要。

文章简要介绍了MATLAB发展历史、组成和强大的功能,并用简单例子分别就编程和仿真两方面分析了MATIAB软件在电力系统研究中的具体应用。

采取等效电路法,能对特殊、复杂地电力系统进行高效仿真研究,因此,掌握编程和仿真是学好MATLAB的基础。

与众多专门的电力系统仿真软件相比,MATLAB软件具有易学、功能强大和开放性好,是电力系统仿真研究的有力工具。

1电力系统的基本概念电力系统:发电机把机械能转化为电能,电能经变压器和电力线路输送并分配到用户,在那里经电动机、电炉和电灯等设备又将电能转化为机械能、热能和光能等。

这些生产、变换、输送、分配、消费电能的发电机、变压器、变换器、电力线路及各种用电设备等联系在一起组成的统一整体称为电力系统。

电力网:电力系统中除发电机和用电设备外的部分。

动力系统:电力系统和“动力部分”的总和。

2潮流计算2.1潮流计算概述与发展电力系统潮流计算也分为离线计算和在线计算两种,前者主要用于系统规划设计和安排系统的运行方式,后者则用于正在运行系统的经常监视及实时控制。

利用电子数字计算机进行电力系统潮流计算从50年代中期就已经开始。

在这20年内,潮流计算曾采用了各种不同的方法,这些方法的发展主要围绕着对潮流计算的一些基本要求进行的。

对潮流计算的要求可以归纳为下面几点:1)计算方法的可靠性或收敛性;2)对计算机内存量的要求;3)计算速度;4)计算的方便性和灵活性。

matlab潮流计算仿真方法

matlab潮流计算仿真方法

matlab潮流计算仿真方法
MATLAB 是一种强大的编程语言和环境,可用于执行各种仿真和计算任务,包括电力系统潮流计算。

以下是一个简单的 MATLAB 潮流计算仿真方法的
示例:
1. 定义系统参数:首先,你需要定义电力系统的参数,如发电机、负荷、变压器等。

这些参数通常包括额定电压、额定功率、电抗、电阻等。

2. 建立系统模型:使用这些参数,你可以在 MATLAB 中建立电力系统的模型。

这通常涉及到定义节点和支路,以及为它们分配相应的参数。

3. 编写潮流计算函数:接下来,你需要编写一个用于执行潮流计算的函数。

这个函数应该能够接收系统的模型和参数,并返回计算出的潮流结果,如电压、电流、功率等。

4. 运行仿真:最后,你可以运行仿真并调用你编写的潮流计算函数。

这将返回计算出的潮流结果,你可以使用这些结果进行进一步的分析或可视化。

这只是一个简单的示例,实际上在编写 MATLAB 潮流计算仿真方法时可能
需要考虑更多因素,例如系统的约束条件、初始条件、迭代算法的收敛性等。

如果你需要具体的 MATLAB 代码示例或更详细的指导,我建议你查阅MATLAB 的官方文档或相关的教程和文献。

matlab潮流计算

matlab潮流计算

前言电力系统潮流计算是研究电力系统稳态运行情况的一种计算,它根据给定的运行条件及系统接线情况确定整个电力系统各部分的运行状态:各母线的电压,各元件中流过的功率,系统的功率损耗等等。

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

可靠性和经济性。

此外,电力系统潮流计算也是计算系统动态稳定和静态稳定的基础。

所以潮流计算是研究电力系统的一种很重要和很基础的计算。

随着科学技术的发展,电力系统变得越来越复杂,电气工程师掌握一种好的能对电力系统进行仿真的软件是学习和研究的需要。

文章简要介绍了MATLAB发展历史、组成和强大的功能,并用简单例子分别就编程和仿真两方面分析了MATIAB软件在电力系统研究中的具体应用。

采取等效电路法,能对特殊、复杂地电力系统进行高效仿真研究,因此,掌握编程和仿真是学好MATLAB的基础。

与众多专门的电力系统仿真软件相比,MATLAB软件具有易学、功能强大和开放性好,是电力系统仿真研究的有力工具。

1电力系统的基本概念电力系统:发电机把机械能转化为电能,电能经变压器和电力线路输送并分配到用户,在那里经电动机、电炉和电灯等设备又将电能转化为机械能、热能和光能等。

这些生产、变换、输送、分配、消费电能的发电机、变压器、变换器、电力线路及各种用电设备等联系在一起组成的统一整体称为电力系统。

电力网:电力系统中除发电机和用电设备外的部分。

动力系统:电力系统和“动力部分”的总和。

2潮流计算2.1潮流计算概述与发展电力系统潮流计算也分为离线计算和在线计算两种,前者主要用于系统规划设计和安排系统的运行方式,后者则用于正在运行系统的经常监视及实时控制。

利用电子数字计算机进行电力系统潮流计算从50年代中期就已经开始。

在这20年内,潮流计算曾采用了各种不同的方法,这些方法的发展主要围绕着对潮流计算的一些基本要求进行的。

对潮流计算的要求可以归纳为下面几点:1)计算方法的可靠性或收敛性;2)对计算机内存量的要求;3)计算速度;4)计算的方便性和灵活性。

MATLAB 极坐标求解潮流计算

MATLAB 极坐标求解潮流计算

电力系统分析大作业——潮流计算班级:XXX姓名:XXX学号:XXX程序清单:%直角坐标法求解潮流计算clear;close;clc;Branch=[1 2 0.1+0.4j 0.01528j 1 03 1 0.3j inf 1.1 11 4 0.12+0.50j 0.01920j 1 02 4 0.08+0.40j 0.01413j 1 0]%Branch矩阵:1、支路首端号;2、支路末端号;3、支路阻抗;4、支路对地导纳;5、支路的变化;6、支路首端处于K侧为1,1侧为0Y=zeros(4); %节点导纳矩阵for i=1:4if Branch(i,6)==0 %不含变压器的支路j=Branch(i,1);k=Branch(i,2);Y(j,k)=Y(j,k)-1/Branch(i,3);Y(k,j)=Y(j,k);Y(j,j)=Y(j,j)+1/Branch(i,3)+Branch(i,4);Y(k,k)=Y(k,k)+1/Branch(i,3)+Branch(i,4);elsej=Branch(i,1);k=Branch(i,2);Y(j,k)=Y(j,k)-Branch(i,5)/Branch(i,3);Y(k,j)=Y(j,k);Y(j,j)=Y(j,j)+1/Branch(i,3);Y(k,k)=Y(k,k)+Branch(i,5)^2/Branch(i,3);endenddisp('节点导纳矩阵');YG=real(Y);B=imag(Y);V=[1;1;1.1;1.05];%给定V的初始计算值e=real(V);f=imag(V);disp('节点电压的实部:')edisp('节点电压的虚部:')fdisp('节点注入有功功率:')Ps=[-0.3;-0.55;0.5;0]disp('节点注入无功功率:')Qs=[-0.18;-0.13;0;0]%由各节点电压向量(状态变量)可得各节点注入功率:P=e.*(G*e-B*f)+f.*(G*f+B*e);Q=f.*(G*e-B*f)-e.*(G*f+B*e);del_W=[-0.30-P(1);-0.18-Q(1);-0.55-P(2);-0.13-Q(2);0.5-P(3);1.1^2-e(3)^2-f(3)^2];n=0;%辅助循环计数变量while (any(del_W>1e-5))&(n<5)n=n+1;disp('迭代次数:');disp(n)%--------------------------------------------------------%修正方程式:% [-0.30-P(1) ] [del_e(1)]% [-0.18-Q(1) ] [del_f(1)]% [-0.55-P(2) ] [del_e(2)]% [-0.13-Q(2) ] + J * [del_f(2)] = 0 % [0.5-P(3) ] [del_e(3)]% [1.1^2-e(3)^2-f(3)^2] [del_f(3)]%雅克比矩阵为:J=[P1_e1 P1_f1 P1_e2 P1_f2 P1_e3 P1_e3;% Q1_e1 Q1_f1 Q1_e2 Q1_f2 Q1_e3 Q1_f3% P2_e1 P2_f1 P2_e2 P2_f2 P2_e3 P2_f3% Q2_e1 Q2_f1 Q2_e2 Q2_f2 Q2_e3 Q2_f3% P3_e1 P3_f1 P3_e2 P3_f2 P3_e3 P3_f3% V3_e1 V3_f1 V3_e2 V3_f2 V3_e3 V3_f3]%--------------------------------------------------------%-------------------求雅可比矩阵的参数-----------------------%GeBf=G*e-B*f;%辅助计算函数GfBe=G*f+B*e;%辅助计算函数for i=1:2for j=1:3if i==jP_e(i,j)=-GeBf(i)-G(i,j)*e(i)-B(i,j)*f(i);P_f(i,j)=-GfBe(i)-G(i,j)*f(i)+B(i,j)*e(i);Q_e(i,j)=GfBe(i)+B(i,j)*e(i)-G(i,j)*f(i);Q_f(i,j)=-GeBf(i)+G(i,j)*e(i)+B(i,j)*f(i);elseP_e(i,j)=-G(i,j)*e(i)-B(i,j)*f(i);Q_f(i,j)=-P_e(i,j);P_f(i,j)=B(i,j)*e(i)-G(i,j)*f(i);Q_e(i,j)=P_f(i,j);endendendfor j=1:2P_e(3,j)=-G(3,j)*e(3)-B(3,j)*f(3);P_f(3,j)=B(3,j)*e(3)-G(3,j)*f(3);V_e(3,j)=0;V_f(3,j)=0;endP_e(3,3)=-GeBf(3)-G(3,3)*e(3)-B(3,3)*f(3);P_f(3,3)=-GfBe(3)-G(3,3)*f(3)+B(3,3)*e(3);V_e(3,3)=-2*e(3);V_f(3,3)=-2*f(3);%----------------------------------------------------%%--------------------求出雅克比矩阵-------------------% J=zeros(6,6);for i=1:3for j=1:3J(2*i-1,2*j-1)=P_e(i,j);J(2*i-1,2*j)=P_f(i,j);endendfor i=1:2for j=1:3J(2*i,2*j-1)=Q_e(i,j);J(2*i,2*j)=Q_f(i,j);endendfor j=1:3J(6,2*j-1)=V_e(3,j);J(6,2*j)=V_f(3,j);enddisp('雅可比矩阵为:')J%-----------------------------------------------------%%------------解修正方程并得出修正后的电压向量-----------% del_V=-J\del_W;clear i;for k=1:3V(k)=V(k)+del_V(2*k-1)+i*del_V(2*k);enddisp('节点电压为:')disp(V)%-----------------------------------------------------%%------------------计算节点不平衡量--------------------%e=real(V);f=imag(V);P=e.*(G*e-B*f)+f.*(G*f+B*e);Q=f.*(G*e-B*f)-e.*(G*f+B*e);del_W=[-0.30-P(1);-0.18-Q(1);-0.55-P(2);-0.13-Q(2);0.5-P(3);1.1^2-e(3)^2-f(3)^2];disp('节点不平衡量为:')disp(del_W)end%------------------------最终结论-------------------------%disp('最终各节点电压幅值为:')disp(abs(V))disp('最终各节点电压相角(度)为:')disp(180*angle(V)/pi)disp('最终各节点注入功率:')S=P+i*Qdisp('最终各节点注入有功功率为:')Pdisp('最终各节点注入无功功率为:')Q运行结果:Branch =1.00002.0000 0.1000 + 0.4000i 0 + 0.0153i 1.0000 03.0000 1.0000 0 + 0.3000i Inf 1.1000 1.00001.0000 4.0000 0.1200 + 0.5000i 0 + 0.0192i1.0000 02.0000 4.0000 0.0800 + 0.4000i 0 + 0.0141i 1.0000 0节点导纳矩阵Y =1.0421 - 8.2429i -0.5882 +2.3529i 0 +3.6667i -0.4539 + 1.8911i-0.5882 + 2.3529i 1.0690 - 4.7274i 0 -0.4808 + 2.4038i0 + 3.6667i 0 0 - 3.3333i 0-0.4539 + 1.8911i -0.4808 + 2.4038i 0 0.9346 - 4.2616i节点电压的实部:e =1.00001.00001.10001.0500节点电压的虚部:f =节点注入有功功率:Ps =-0.3000-0.55000.5000节点注入无功功率:Qs =-0.1800-0.1300迭代次数:1雅可比矩阵为:J =-1.0194 -8.3719 0.5882 2.3529 0 3.6667 -8.1138 1.0648 2.3529 -0.5882 3.6667 00.5882 2.3529 -1.0450 -4.8770 0 02.3529 -0.5882 -4.5778 1.0930 0 00 4.0333 0 0 0 -3.66670 0 0 0 -2.2000 0节点电压为:0.9935 - 0.0088i0.9763 - 0.1078i1.1000 + 0.1267i1.0500节点不平衡量为:-0.0013-0.0028-0.0135-0.05470.0030-0.0160迭代次数:2雅可比矩阵为:J =-0.8091 -8.3613 0.6052 2.3325 0.0324 3.6429 -7.9992 1.4071 2.3325 -0.6052 3.6429 -0.03240.8280 2.2338 -1.0190 -4.6364 0 02.2338 -0.8280 -4.3641 2.0878 0 0-0.4644 4.0333 0 0 -0.0324 -3.64290 0 0 0 -2.2000 -0.2533节点电压为:0.9847 - 0.0086i0.9590 - 0.1084i1.0924 + 0.1289i1.0500节点不平衡量为:-0.0000-0.0000-0.0003-0.00110.0001-0.0001迭代次数:3雅可比矩阵为:J =-0.7940 -8.2936 0.5995 2.3120 0.0315 3.6107 -7.9228 1.4000 2.3120 -0.5995 3.6107 -0.03150.8191 2.1927 -0.9865 -4.6144 0 02.1927 -0.8191 -4.2210 2.0885 0 0-0.4728 4.0056 0 0 -0.0315 -3.61070 0 0 0 -2.1849 -0.2579。

matlab潮流计算

matlab潮流计算

前言电力系统潮流计算是研究电力系统稳态运行情况的一种计算,它根据给定的运行条件及系统接线情况确定整个电力系统各部分的运行状态:各母线的电压,各元件中流过的功率,系统的功率损耗等等。

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

可靠性和经济性。

此外,电力系统潮流计算也是计算系统动态稳定和静态稳定的基础。

所以潮流计算是研究电力系统的一种很重要和很基础的计算。

随着科学技术的发展,电力系统变得越来越复杂,电气工程师掌握一种好的能对电力系统进行仿真的软件是学习和研究的需要。

文章简要介绍了MATLAB发展历史、组成和强大的功能,并用简单例子分别就编程和仿真两方面分析了MATIAB软件在电力系统研究中的具体应用。

采取等效电路法,能对特殊、复杂地电力系统进行高效仿真研究,因此,掌握编程和仿真是学好MATLAB的基础。

与众多专门的电力系统仿真软件相比,MATLAB软件具有易学、功能强大和开放性好,是电力系统仿真研究的有力工具。

1电力系统的基本概念电力系统:发电机把机械能转化为电能,电能经变压器和电力线路输送并分配到用户,在那里经电动机、电炉和电灯等设备又将电能转化为机械能、热能和光能等。

这些生产、变换、输送、分配、消费电能的发电机、变压器、变换器、电力线路及各种用电设备等联系在一起组成的统一整体称为电力系统。

电力网:电力系统中除发电机和用电设备外的部分。

动力系统:电力系统和“动力部分”的总和。

2潮流计算2.1潮流计算概述与发展电力系统潮流计算也分为离线计算和在线计算两种,前者主要用于系统规划设计和安排系统的运行方式,后者则用于正在运行系统的经常监视及实时控制。

利用电子数字计算机进行电力系统潮流计算从50年代中期就已经开始。

在这20年内,潮流计算曾采用了各种不同的方法,这些方法的发展主要围绕着对潮流计算的一些基本要求进行的。

对潮流计算的要求可以归纳为下面几点:1)计算方法的可靠性或收敛性;2)对计算机内存量的要求;3)计算速度;4)计算的方便性和灵活性。

潮流计算matlab-牛顿拉夫逊法法

潮流计算matlab-牛顿拉夫逊法法

用matlab潮流计算(牛顿拉夫逊法)%主程序:[d]=uigetfile('ieee14.m','Select Data File');if pathname==0error('you must select a valid data file')elsel(dfile);% strip off .meval(d)); %打开数据文件endglobal n;global m;[nb,mb]=size(bus); %节点重新编号[nl,ml]=size(line);nSW=0; % 平衡节点数目nPV=0; % PV节点数目nPQ=0; % 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节点数目PV(nPV,:)=bus(i,:);elsenPQ=nPQ+1; % 统计PQ节点数目PQ(nPQ,:)=bus(i,:);endend;bus=[PQ;PV;SW];newbus=[1:nb]';f=bus(:,1);nodenum=[newbus bus(:,1)];bus(:,1)=newbus;for i=1:nlfor j=1:2for k=1:nbif line(i,j)==nodenum(k,2)line(i,j)=nodenum(k,1);breakendendendendY=y(bus,line); %形成节点导纳矩阵K=0; %迭代次数初值Kmax=10; %最大迭代次数eps1=1.0e-10;eps2=1.0e-10;m=nPQ;n=nb;Um=eye(m,m);myf=fopen('output1.dat','w');for K=1:Kmaxfor i=1:mfor j=1:mif i==jUm(i,j)=bus(i,2);endendendb=dPQ(Y,bus);C=jac(bus,Y);dX=C\b';dx=dX';[nx,mx]=size(dx);for i=1:n-1 %计算相角bus(i,3)=bus(i,3)-dX(i,1);endB=dx(nx,n:mx)*Um; %计算电压差bus(1:m,2)=bus(1:m,2)-B'; %计算电压值dx(nx,n:mx)=B;fprintf(myf,'--第%d次迭代时雅可比矩阵--',K)fprintf(myf, '\n');for i=1:(n+m-1)for j=1:(n+m-1)fprintf(myf,'%8.6f', C(i,j));fprintf(myf, ' ');endfprintf(myf, '\n');endfprintf(myf,'--第%d次迭代时dPQ的误差--',K)fprintf(myf, '\n');for i=1:(n+m-1)fprintf(myf,'%8.6e', b(1,i));fprintf(myf, '\n');endfprintf(myf, '\n');fprintf(myf,'--第%d次迭代时dx(误差)--',K)fprintf(myf, '\n');for i=1:(n+m-1)fprintf(myf,'%8.6e', dX(i,1));fprintf(myf, '\n');endfprintf(myf, '\n');fprintf(myf,'第%d次迭代后节点电压(仅PQ节点)',K)fprintf(myf, '\n');for i=1:mfprintf(myf,'%8.6f', bus(i,2));fprintf(myf, '\n');endfprintf(myf, '\n');fprintf(myf,'第%d次迭代后相角(角度)',K)fprintf(myf, '\n');for i=1:nfprintf(myf,'%8.6f', bus(i,3)*180/pi);fprintf(myf, '\n');endfprintf(myf, '\n');if (max(abs(dx))<eps1)&(max(abs(b))<eps2) %判断是否达到计算精度break;endend%计算功率P1=0;T=0; %计算平衡节点的有功for j=1:nT=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)-bus(j,3)));P1=P1+T;endbus(n,4)=P1;for k=m+1:n %计算PV节点、平衡节点的无功Q1=0;T=0;for j=1:nT=bus(k,2)*bus(j,2)*(real(Y(k,j))*sin(bus(k,3)-bus(j,3))-imag(Y(k,j))*cos(bus(k,3)-bus(j,3)));Q1=Q1+T;endbus(k,5)=Q1;endbus(:,1)=f; %换回各节点、支路的初始编号r=zeros(1,mb);for t=1:nfor l=t+1:nif bus(t,1)>bus(l,1)r=bus(t,:);bus(t,:)=bus(l,:);bus(l,:)=r;endendendfor i=1:nlfor j=1:2for k=1:nbif line(i,j)==nodenum(k,1)line(i,j)=nodenum(k,2);breakendendendendfclose(myf);Pf=loss(bus,line); %计算支路潮流及损耗%将节点导纳矩阵、节点潮流计算结果写入文件output2myf=fopen('output2.dat','w');fprintf(myf, '--节点导纳矩阵--\n');for k=1:nfor j=1:nfprintf(myf,'%8.6f', real(Y(k,j)));fprintf(myf, '+i*');fprintf(myf,'%8.6f', imag(Y(k,j)));fprintf(myf, ' ');endfprintf(myf, '\n');endfprintf(myf, '------------------牛顿-拉夫逊法潮流计算结果-------------\n');fprintf(myf, '------------节点计算结果------------\n');fprintf(myf, '-- 节点节点电压节点相角注入有功功率(P)注入无功功率(Q) 类型--\n');for l=1:nbfor j=1:mbif j==1|j==6fprintf(myf, ' %8.1f ', bus(l,j));elseif j==3fprintf(myf, ' %8.6f ', bus(l,j)*180/pi);elsefprintf(myf, ' %8.6f ', bus(l,j));endendfprintf(myf, ' \n');endfprintf(myf, '--支路计算结果--\n');fprintf(myf, '-- 节点(I) 节点(J) 线路功率S(I,J) 线路功率S(J,I) 线路损耗dS(I,J)--\n');for k=1:nlfor j=1:5if j<=2fprintf(myf,'%8.1f ', Pf(k,j));fprintf(myf, ' ');elsefprintf(myf,'%8.6f', real(Pf(k,j)));fprintf(myf, '+i*');fprintf(myf,'%8.6f', imag(Pf(k,j)));fprintf(myf, ' ');endendfprintf(myf, '\n');endfclose(myf);%根据支路参数建立节点导纳矩阵程序:function Y=y(bus,line)%目的:根据支路参数建立节点导纳矩阵%输入:节点参数矩阵--bus;支路参数矩阵--line%输出:节点导纳矩阵--Y[nb,mb]=size(bus);[nl,ml]=size(line);Y=zeros(nb,nb);for k=1:nlI=line(k,1);J=line(k,2);Zt=line(k,3)+j*line(k,4);if Zt==0disp('对地支路');Yt=inf;elseYt=1/Zt;endYm=line(k,5)+j*line(k,6);K=line(k,7);if(K==0)&(J~=0) %普通线路Y(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=J=0,R=X=0 Y(I,I)=Y(I,I)+Ym;endif K>0 %K>0时变压器支路Y(I,I)=Y(I,I)+Yt+Ym;Y(J,J)=Y(J,J)+Yt/K^2;Y(I,J)=Y(I,J)-Yt/K;Y(J,I)=Y(I,J);endif K<0 %K<0时变压器支路Y(I,I)=Y(I,I)+Yt+Ym;Y(J,J)=Y(J,J)+Yt*K^2;Y(I,J)=Y(I,J)+Yt*K;Y(J,I)=Y(I,J);endend%形成雅克矩阵程序:function J=jac(bus,Y)%形成雅可比矩阵global n;global m;for i=1:(n-1) %计算PQ、PV节点的有功P1=0;T=0;for j=1:nT=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)));P1=P1+T;endbus(i,4)=P1;endfor i=1:n-1 %计算PV、PQ节点的无功Q1=0;T=0;for j=1:nT=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)));Q1=Q1+T;endbus(i,5)=Q1;endfor i=1:n-1 %计算Hfor j=1:n-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)));N(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)));K(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)));L(i,j)=H(i,j);endendendfor i=1:n-1 %计算Hfor j=1:n-1if j==iH(i,i)=bus(i,5)+imag(Y(i,i))*bus(i,2)^2;N(i,i)=-bus(i,4)-real(Y(i,i))*bus(i,2)^2;K(i,i)=N(i,i)+2*real(Y(i,i))*bus(i,2)^2;L(i,i)=-H(i,i)+2*imag(Y(i,i))*bus(i,2)^2;endendendN=N(1:n-1,1:m);K=K(1:m,1:n-1);L=L(1:m,1:m);J=[H,N;K,L];%计算dPQ的程序:function dPQ=dPQ(Y,bus)%delP--有功偏差量%delQ--无功偏差量%Y--节点导纳矩阵%bus--节点参数(P,Q,U及相角)矩阵global n;global m;delP=zeros(1,n-1);delQ=zeros(1,m);for i=1:(n-1) %形成delP矩阵(PQ、PV节点)P1=0;T=0;for j=1:nT=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)));P1=P1+T;enddelP(1,i)=bus(i,4)-P1;endfor i=1:m %形成delQ矩阵(PQ节点)Q1=0;T=0;for j=1:nT=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)));Q1=Q1+T;enddelQ(1,i)=bus(i,5)-Q1;enddPQ=[delP,delQ];%计算线路损耗、线路潮流程序:function Pf=loss(bus,line)%计算线路损耗、线路潮流[nl,ml]=size(line);Pf=zeros(nl,5);for k=1:nlI=line(k,1);J=line(k,2);Zt=line(k,3)+i*line(k,4);if Zt==0Yt=inf;elseYt=1/Zt;endYm=line(k,5)+i*line(k,6);K=line(k,7);if (K==0)&(J~=0) %普通线路潮流S(I,J)=bus(I,2)^2*(conj(Yt)+conj(Ym))-bus(I,2)*(cos(bus(I,3))+i*sin(bus(I,3)))*bus(J,2)*(cos(bus(J,3))-i*sin(bus(J,3))) *conj(Yt);S(J,I)=bus(J,2)^2*(conj(Yt)+conj(Ym))-bus(J,2)*(cos(bus(J,3))+i*sin(bus(J,3)))*bus(I,2)*(cos(bus(I,3))-i*sin(bus(I,3))) *conj(Yt);delS(I,J)=S(I,J)+S(J,I);endif(K==0)&(J==0) %对地支路潮流J=5;S(I,5)=bus(I,2)^2*conj(Ym);endif K>0 %变压器支路k>0时的潮流S(I,J)=bus(I,2)^2*(conj(Ym+Yt*(1-1/K))+conj(Yt/K))-bus(I,2)*(cos(bus(I,3))+i*sin(bus(I,3)))*bus(J,2)*(cos(bus(J,3))-i *sin(bus(J,3)))*conj(Yt/K);S(J,I)=bus(J,2)^2*(conj(Yt))/K^2-bus(J,2)*(cos(bus(J,3))+i*sin(bus(J,3)))*bus(I,2)*(cos(bus(I,3))-i*sin(bus(I,3)))*conj( Yt/K);delS(I,J)=S(I,J)+S(J,I);endif K<0 %变压器支路k<0时的潮流S(I,J)=bus(I,2)^2*(conj(Ym+Yt))+bus(I,2)*(cos(bus(I,3))+i*sin(bus(I,3)))*bus(J,2)*(cos(bus(J,3))-i*sin(bus(J,3)))*conj( Yt*K);S(J,I)=bus(J,2)^2*(conj(Yt))*K^2+bus(J,2)*(cos(bus(J,3))+i*sin(bus(J,3)))*bus(I,2)*(cos(bus(I,3))-i*sin(bus(I,3)))*conj (Yt*K);delS(I,J)=S(I,J)+S(J,I);endif J==5&Zt==0Sp=[line(k,1) line(k,2) S(I,5) 0 S(I,5)];elseSp=[line(k,1) line(k,2) S(I,J) S(J,I) delS(I,J)];endPf(k,:)=Sp;end%输入的参数数据:% data for test case%各节点参数:节点编号,注入有功,注入无功,(Sn=100MV A)电压幅值,电压相位,类型%类型:1=PQ节点,2=PV节点,3=平衡节点% (bus#)( volt )( ang )( p )( q )(bus type)bus=[1,1.0,0.0,-0.478,0.039,1;2,1.0,0.0,-0.076,-0.016,1;3,1.0,0.0,0.0,0.0,1;4,1.0,0.0,-0.295,-0.166,1;5,1.0,0.0,-0.09,-0.058,1;6,1.0,0.0,-0.035,-0.018,1;7,1.0,0.0,-0.061,-0.016,1;8,1.0,0.0,-0.135,-0.058,1;9,1.0,0.0,-0.149,-0.05,1;10,1.045,0.0,0.183,0.0,2;11,1.010,0.0,-0.942,0.0,2;12,1.70,0.0,-0.112,0.047,2;13,1.90,0.0,0.0,0.174,2;14,1.060,0.0,0.0,0.0,3];%各支路参数:起点编号,终点编号,电阻,电抗,电导,电纳line = [1,2,0.01335,0.04211,0.0,0.0,0;1,3,0.0,0.20912,0.0,0.0,0;1,4,0.0,0.55618,0.0,0.0,0;1,10,0.05811,0.17632,0.0,0.0340,0;1,11,0.06701,0.17103,0.0,0.0128,0;2,10,0.05695,0.17388,0.0,0.0346,0;2,12,0.0,0.25202,0.0,0.0,0;2,14,0.05403,0.22304,0.0,0.0492,0;3,4,0.0,0.11001,0.0,0.0,0;3,13,0.0,0.17615,0.0,0.0,0;4,5,0.03181,0.08450,0.0,0.0,0;4,9,0.12711,0.27038,0.0,0.0,0;5,6,0.08205,0.19207,0.0,0.0,0;6,12,0.09498,0.19890,0.0,0.0,0;7,8,0.22092,0.19988,0.0,0.0,0;7,12,0.12291,0.25581,0.0,0.0,0;8,9,0.17093,0.34802,0.0,0.0,0;8,12,0.06615,0.13027,0.0,0.0,0;10,11,0.04699,0.19797,0.0,0.0438,0;10,14,0.01938,0.05917,0.0,0.0528,0];输出结果数据1:--第1次迭代时雅可比矩阵---38.624033 21.578554 4.781943 1.797979 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 5.346051 5.119505 -0.000000 -0.000000 -10.417258 6.840981 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.00000021.578554 -38.240787 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 5.427654 -0.000000 6.745496 -0.000000 6.840981 -9.429913 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.0000004.781943 -0.000000 -24.658288 9.090083 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 10.786262 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.0000001.797979 -0.000000 9.090083 -24.282506 10.365394 -0.000000 -0.000000 -0.000000 3.029050 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -5.326055 3.902050 -0.000000 -0.000000 -0.000000 1.424005-0.000000 -0.000000 -0.000000 10.365394 -14.768338 4.402944 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 3.902050 -5.782934 1.880885 -0.000000 -0.000000 -0.000000-0.000000 -0.000000 -0.000000 -0.000000 4.402944 -11.362870 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 6.959926 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 1.880885 -2.467393 -0.000000 -0.000000 -0.000000-0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -7.651113 2.251975 -0.000000 -0.000000 -0.000000 5.399139 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -2.946815 2.489025 -0.000000-0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 2.251975 -14.941622 2.314963 -0.000000 -0.000000 10.374684 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 2.489025 -4.555697 1.136994-0.000000 -0.000000 -0.000000 3.029050 -0.000000 -0.000000 -0.000000 2.314963 -5.344014 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 1.424005 -0.000000 -0.000000 -0.000000 1.136994 -2.5610005.346051 5.427654 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -32.727644 5.047017 -0.000000 -0.000000 1.761905 1.777691 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.0000005.119505 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 5.047017 -10.166523 -0.000000 -0.000000 2.005835 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000-0.000000 6.745496 -0.000000 -0.000000 -0.000000 6.959926 5.399139 10.374684 -0.000000 -0.000000 -0.000000 -29.479246 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 3.323549 2.594145 5.268177 -0.000000-0.000000 -0.000000 10.786262 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -10.786262 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.00000010.608721 -6.840981 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -1.761905 -2.005835 0.000000 0.000000 -37.968631 21.578554 4.781943 1.797979 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000-6.840981 9.706123 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -1.777691 0.000000 0.000000 0.000000 21.578554 -31.542421 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.0000000.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 4.781943 -0.000000 -14.439724 9.090083 -0.000000 -0.000000 -0.000000 -0.000000 -0.0000000.000000 0.000000 0.000000 5.326055 -3.902050 0.000000 0.000000 0.000000 -1.424005 0.000000 0.000000 0.000000 0.000000 1.797979 -0.000000 9.090083 -24.282506 10.365394 -0.000000 -0.000000 -0.000000 3.0290500.000000 0.000000 0.000000 -3.902050 5.782934 -1.880885 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -0.000000 -0.000000 -0.000000 10.365394 -14.768338 4.402944 -0.000000 -0.000000 -0.0000000.000000 0.000000 0.000000 0.000000 -1.880885 5.204433 0.000000 0.000000 0.000000 0.000000 0.000000 -3.323549 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 4.402944 -5.631166 -0.000000 -0.000000 -0.0000000.000000 0.000000 0.000000 0.000000 0.000000 0.000000 5.083169 -2.489025 0.000000 0.000000 0.000000 -2.594145 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -3.204764 2.251975 -0.0000000.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -2.489025 8.894195 -1.136994 0.000000 0.000000 -5.268177 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 2.251975 -6.397765 2.3149630.000000 0.000000 0.000000 -1.424005 0.000000 0.000000 0.000000 -1.136994 2.561000 0.000000 0.000000 0.000000 0.000000 -0.000000 -0.000000 -0.000000 3.029050 -0.000000 -0.000000 -0.000000 2.314963 -5.344014--第1次迭代时dPQ的误差---3.822688e-0016.210513e-0020.000000e+000-2.950000e-001-9.000000e-0021.333520e+0001.007177e+0002.034249e+000-1.490000e-0016.056626e-002-9.219354e-001-7.942109e+0000.000000e+0003.667009e-0013.333183e+0005.109282e+000-1.660000e-001-5.800000e-0022.847852e+0002.207175e+0004.213929e+000-5.000000e-002--第1次迭代时dx(误差)---7.699084e-001-8.544764e-001-1.189723e+000-1.410571e+000-1.585607e+000-1.994895e+000-2.196974e+000-2.162427e+000-1.721659e+000-4.249173e-001-6.178169e-001-2.246296e+000-1.189723e+000-5.568104e-001-5.586033e-001-1.299237e+000-1.208867e+000-1.285646e+000-1.499291e+000-2.011550e+000-1.901143e+000-1.488513e+000第1次迭代后节点电压(仅PQ节点)1.5568101.5586032.2992372.2088672.2856462.4992913.0115502.9011432.488513第1次迭代后相角(角度)44.11250048.95789268.16611180.81979290.848607114.299041125.877362123.89794698.64381324.34596735.398301128.70329568.1661110.000000--第2次迭代时雅可比矩阵---88.468596 50.770062 15.630499 4.956802 0.000000 0.000000 0.000000 0.000000 0.000000 8.760031 8.351203 0.000000 0.000000 -17.679024 20.962621 6.976678 3.695668 -0.000000 -0.000000 -0.000000 -0.000000 -0.00000053.574257 -70.163300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 8.844924 -0.000000 1.871649 0.000000 12.117328 -29.191523 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.00000015.630499 -0.000000 -85.475262 45.044595 0.000000 0.000000 0.000000 0.000000 0.000000 -0.000000 -0.000000 0.000000 24.800168 -6.976678 -0.000000 3.136302 10.112981 -0.000000 -0.000000 -0.000000 -0.000000 -0.0000004.956802 -0.000000 45.044595 -111.557696 48.101358 0.000000 0.000000 0.000000 13.454941 -0.000000 -0.000000 0.000000 -0.000000 -3.695668 -0.000000 -10.112981 -24.720611 28.512426-0.000000 -0.000000 -0.000000 12.548251-0.000000 -0.000000 -0.000000 54.962689 -73.761205 18.798516 0.000000 0.000000 0.000000 -0.000000 -0.000000 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 10.286004 -30.269750 19.866386 -0.000000 -0.000000 -0.000000-0.000000 -0.000000 -0.000000 -0.000000 27.350216 -42.131939 0.000000 0.000000 -0.000000 -0.000000 -0.000000 14.781722 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.152201 -35.701334 -0.000000 -0.000000 -0.000000-0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -36.269587 20.414751 -0.000000 -0.000000 -0.000000 15.854836 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -43.168982 21.053877 -0.000000-0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 18.912486 -66.242459 18.617657 -0.000000 -0.000000 28.712316 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 22.413069 -72.744607 0.293713-0.000000 -0.000000 -0.000000 18.246829 -0.000000 0.000000 0.000000 11.613550 -29.860379 -0.000000 -0.000000 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 2.355263 -0.000000 -0.000000 -0.000000 14.554342 -14.8093936.904762 6.537084 0.000000 0.000000 0.000000 0.000000 -0.000000 -0.000000 0.000000 -35.851861 4.723753 -0.000000 0.000000 5.396002 6.042147 -0.000000 -0.000000 -0.000000 -0.000000 0.000000 0.000000 -0.0000007.404987 0.000000 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000 0.000000 5.183063 -12.588050 -0.000000 0.000000 4.294174 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 0.000000 -0.000000 -0.000000-0.000000 1.871649 -0.000000 -0.000000 -0.000000 18.914409 16.625167 31.272979 -0.000000 -0.000000 -0.000000 -68.684204 -0.000000 -0.000000 -10.345614 -0.000000 -0.000000 -0.000000 3.718215 7.001258 12.708639 -0.000000-0.000000 -0.000000 24.800168 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -0.000000 -0.000000 0.000000 -24.800168 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.00000033.280772 -20.962621 -6.976678 -3.695668 0.000000 0.000000 0.000000 0.000000 0.000000 0.233337 -1.879142 0.000000 0.000000 -97.165875 50.770062 15.630499 4.956802 0.000000 0.000000 0.000000 0.000000 0.000000-12.117328 17.294580 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.004159 0.000000 -10.345614 0.000000 53.574257 -99.357152 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.0000006.976678 0.000000 3.136302 -10.112981 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 15.630499 -0.000000 -121.215950 45.044595 0.000000 0.000000 0.000000 0.000000 0.0000003.695668 0.000000 10.112981 27.252028 -28.512426 0.000000 0.000000 0.000000 -12.548251 0.000000 0.000000 0.000000 0.0000004.956802 -0.000000 45.044595 -125.395530 48.101358 0.000000 0.000000 0.000000 13.4549410.000000 0.000000 0.000000 -10.286004 30.152390 -19.866386 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -0.000000 -0.000000 -0.000000 54.962689 -80.543606 18.798516 0.000000 0.000000 0.0000000.000000 0.000000 0.000000 0.000000 0.152201 12.220377 0.000000 0.000000 0.000000 0.000000 0.000000 -12.372578 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 27.350216 -64.020523 0.000000 0.000000 -0.0000000.000000 0.000000 0.000000 0.000000 0.000000 0.000000 29.658409 -21.053877 0.000000 0.000000 0.000000 -8.604532 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000-62.187049 20.414751 -0.0000000.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -22.413069 40.458166 -0.293713 0.000000 0.000000 -17.751384 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 18.912486 -113.363276 18.6176570.000000 0.000000 0.000000 -2.355263 0.000000 0.000000 0.000000 -14.554342 16.909605 0.000000 0.000000 0.000000 0.000000 -0.000000 -0.000000 -0.000000 18.246829 -0.000000 0.000000 0.000000 11.613550 -36.327356--第2次迭代时dPQ的误差--7.322874e+000-6.024472e+0003.136302e+0009.707086e-001-1.486800e-001-1.177548e+001-6.816287e+000-1.627822e+0019.011063e-0011.442203e+0003.766432e-001-6.045480e+0000.000000e+000-4.309639e+000-1.461293e+001-1.787034e+001-7.084917e+000-3.449200e+000-1.096229e+001-1.297473e+001-2.361841e+001-3.283488e+000--第2次迭代时dx(误差)--7.463082e-0017.954075e-0011.282017e+0001.553903e+0001.801690e+0002.314056e+0002.532583e+0002.510944e+0002.031354e+0002.758084e-0014.877708e-0012.596165e+0001.282017e+000-1.022801e-001-1.281804e-0012.457598e-002-1.510861e-001-1.422363e-0015.472778e-0022.816086e-0012.267577e-001-7.420019e-002第2次迭代后节点电压(仅PQ节点)1.7160411.7583862.2427312.5425962.6107482.3625102.1634712.2432872.673161第2次迭代后相角(角度)1.3521903.384402-5.288058-8.212275-12.380604-18.286594-19.228934-19.968564-17.7441768.5433117.451092-20.045989-5.2880580.000000--第3次迭代时雅可比矩阵---107.449063 64.339505 18.280415 7.735891 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 8.723401 8.369851 -0.000000 -0.000000 -33.906343 22.938392 -2.128130 -1.303493 -0.000000 -0.000000 -0.000000 -0.000000 -0.00000065.803521 -93.903508 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 9.224175 0.000000 10.883156 -0.000000 18.320439 -40.148863 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.00000018.280415 0.000000 -94.238507 51.767412 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 0.000000 0.000000 -0.000000 24.190680 2.128130 -0.000000 -0.516231 -2.644362 -0.000000 -0.000000 -0.000000 -0.000000 -0.0000007.735891 0.000000 51.767412 -151.916589 70.507019 -0.000000 -0.000000 -0.000000 21.906266 0.000000 0.000000 -0.000000 0.000000 1.303493 -0.000000 2.644362 -37.947834 20.832273 -0.000000 -0.000000 -0.000000 6.1357450.000000 0.000000 0.000000 66.741532 -94.948096 28.206563 -0.000000 -0.000000 -0.0000000.000000 0.000000 -0.000000 0.000000 -0.000000 -0.000000 -0.000000 30.834903 -39.252891 8.745203 -0.000000 -0.000000 -0.0000000.000000 0.000000 0.000000 0.000000 25.819129 -42.495346 -0.000000 -0.000000 0.000000 0.000000 0.000000 16.676217 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 14.333924 -21.142642 -0.000000 -0.000000 -0.0000000.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -22.844227 11.084502 0.000000 0.000000 0.000000 11.759725 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -20.202132 11.937858 -0.0000000.000000 0.000000 0.000000 0.000000 0.000000 0.000000 10.772631 -47.668940 13.606970 0.000000 0.000000 23.289338 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 12.220026 -36.325917 7.3518450.000000 0.000000 0.000000 18.700765 0.000000 -0.000000 -0.000000 14.136240 -32.837005 0.000000 0.000000 -0.000000 0.000000 -0.000000 -0.000000 -0.000000 12.954276 -0.000000 -0.000000 -0.000000 6.274231 -17.3722379.480361 9.786321 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -41.877577 5.068935 -0.000000 -0.000000 1.851316 2.255032 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.0000009.101262 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 5.023265 -14.124527 -0.000000 -0.000000 2.489221 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.0000000.000000 10.883156 0.000000 0.000000 0.000000 16.194071 11.599663 23.257398 0.000000 0.000000 0.000000 -61.934289 0.000000 -0.000000 4.716418 -0.000000 -0.000000 -0.000000 8.353052 5.778354 11.849469 -0.0000000.000000 0.000000 24.190680 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 0.000000 0.000000 -0.000000 -24.190680 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.00000028.010895 -22.938392 2.128130 1.303493 0.000000 0.000000 0.000000 0.000000 0.000000 -4.148120 -4.356006 0.000000 0.000000 -118.100775 64.339505 18.280415 7.735891 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000-18.320439 19.018229 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -3.971376 0.000000 4.716418 0.000000 65.803521 -121.860594 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000-2.128130 0.000000 -0.516231 2.644362 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 18.280415 0.000000 -102.418265 51.767412 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000-1.303493 0.000000 -2.644362 30.915873 -20.832273 0.000000 0.000000 0.000000 -6.135745 0.000000 0.000000 0.000000 0.000000 7.735891 0.000000 51.767412 -162.046258 70.507019 -0.000000 -0.000000 -0.000000 21.9062660.000000 0.000000 0.000000 -30.834903 39.580107 -8.745203 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 66.741532 -106.373981 28.206563 -0.000000 -0.000000 -0.0000000.000000 0.000000 0.000000 0.000000 -14.333924 21.677303 0.000000 0.000000 0.000000 0.000000 0.000000 -7.343379 0.000000 0.000000 0.000000 0.000000 0.000000 25.819129 -52.356079 -0.000000 -0.000000 0.0000000.000000 0.000000 0.000000 0.000000 0.000000 0.000000 17.383077 -11.937858 0.000000 0.000000 0.000000 -5.445220 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -27.967881 11.084502 0.0000000.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -12.220026 31.358440 -7.351845 0.0000000.000000 -11.786569 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 10.772631 -59.717994 13.6069700.000000 0.000000 0.000000 -12.954276 0.000000 0.000000 0.000000 -6.274231 19.228507 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 18.700765 0.000000 -0.000000 -0.000000 14.136240 -43.537423--第3次迭代时dPQ的误差---3.425724e+000-1.064132e+001-5.162313e-001-3.810980e+0007.360782e-0022.323305e-001-1.470528e+000-2.618738e+0007.791352e-001-2.042190e+000-3.425627e-0011.156931e+0010.000000e+000-5.286856e+000-1.399454e+001-4.089879e+000-5.230835e+000-5.770943e+000-4.948367e+000-2.577827e+000-6.082527e+000-5.400209e+000--第3次迭代时dx(误差)--9.674289e-0021.172732e-001-7.870880e-003-4.668014e-002-8.644519e-002-1.584698e-001-1.940180e-001-1.949970e-001-1.391568e-0011.392652e-0011.715593e-001-2.170152e-001-7.870880e-0032.010999e-0012.142528e-0012.135755e-0012.788091e-0012.825328e-0012.223360e-0011.748684e-0011.963064e-0012.880642e-001第3次迭代后节点电压(仅PQ节点)1.3709451.3816471.7637381.8336971.8731261.8372391.7851491.8029151.903119第3次迭代后相角(角度)-4.190769-3.334859-4.837089-5.537700-7.427659-9.206943-8.112522-8.796060-9.7710800.564000-2.378530-7.611937-4.8370890.000000--第4次迭代时雅可比矩阵---70.787576 40.675150 11.561949 4.518688 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 7.103700 6.928088 -0.000000 -0.000000 -20.202620 13.567039 -0.130429 -0.106247 -0.000000 -0.000000 -0.000000 -0.000000 -0.00000041.062278 -63.775374 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 7.314738 0.000000 9.293937 -0.000000 12.345919 -20.057751 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.00000011.561949 0.000000 -59.982694 29.396602 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 0.000000 0.000000 -0.000000 19.024142 0.130429 -0.000000 -0.229050 -0.359479 -0.000000 -0.000000 -0.000000 -0.000000 -0.0000004.518688 0.000000 29.396602 -80.849041 36.025140 -0.000000 -0.000000 -0.000000 10.908611 0.000000 0.000000 -0.000000 0.000000 0.106247 -0.000000 0.359479 -18.954787 12.221085 -0.000000 -0.000000 -0.000000 4.1755430.000000 0.000000 0.000000 35.141107 -50.486980 15.345872 -0.000000 -0.000000 -0.000000 0.000000 0.000000 -0.000000 0.000000 -0.000000 -0.000000 -0.000000 14.569427 -20.011329 5.999251 -0.000000 -0.000000 -0.000000。

matlab潮流计算

matlab潮流计算

前言电力系统潮流计算是研究电力系统稳态运行情况的一种计算,它根据给定的运行条件及系统接线情况确定整个电力系统各部分的运行状态:各母线的电压,各元件中流过的功率,系统的功率损耗等等。

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

可靠性和经济性。

此外,电力系统潮流计算也是计算系统动态稳定和静态稳定的基础。

所以潮流计算是研究电力系统的一种很重要和很基础的计算。

随着科学技术的发展,电力系统变得越来越复杂,电气工程师掌握一种好的能对电力系统进行仿真的软件是学习和研究的需要。

文章简要介绍了MATLAB发展历史、组成和强大的功能,并用简单例子分别就编程和仿真两方面分析了MATIAB软件在电力系统研究中的具体应用。

采取等效电路法,能对特殊、复杂地电力系统进行高效仿真研究,因此,掌握编程和仿真是学好MATLAB的基础。

与众多专门的电力系统仿真软件相比,MATLAB软件具有易学、功能强大和开放性好,是电力系统仿真研究的有力工具。

1电力系统的基本概念电力系统:发电机把机械能转化为电能,电能经变压器和电力线路输送并分配到用户,在那里经电动机、电炉和电灯等设备又将电能转化为机械能、热能和光能等。

这些生产、变换、输送、分配、消费电能的发电机、变压器、变换器、电力线路及各种用电设备等联系在一起组成的统一整体称为电力系统。

电力网:电力系统中除发电机和用电设备外的部分。

动力系统:电力系统和“动力部分”的总和。

2潮流计算2.1潮流计算概述与发展电力系统潮流计算也分为离线计算和在线计算两种,前者主要用于系统规划设计和安排系统的运行方式,后者则用于正在运行系统的经常监视及实时控制。

利用电子数字计算机进行电力系统潮流计算从50年代中期就已经开始。

在这20年内,潮流计算曾采用了各种不同的方法,这些方法的发展主要围绕着对潮流计算的一些基本要求进行的。

对潮流计算的要求可以归纳为下面几点:1)计算方法的可靠性或收敛性;2)对计算机内存量的要求;3)计算速度;4)计算的方便性和灵活性。

(完整版)潮流计算的MATLAB源程序

(完整版)潮流计算的MATLAB源程序

%简单潮流计算的牛顿拉夫逊程序,相关的原始数据数据数据输入格式如下:%B1是支路参数矩阵,第一列和第二列是节点编号。

节点编号由小到大编写%对于含有变压器的支路,第一列为低压侧节点编号,第二列为高压侧节点%编号,将变压器的串联阻抗置于低压侧处理。

%第三列为支路的串列阻抗参数。

%第四列为支路的对地导纳参数。

%第五列为含变压器支路的变压器的变比%第六列为变压器是否含有变压器的参数,其中“1"为含有变压器,%“0”为不含有变压器。

%B2为节点参数矩阵,其中第一列为节点注入发电功率参数;第二列为节点负荷功率参数;第三列为节点电压参数;第六列为节点类型参数,其中“1”为平衡节点,“2”为PQ节点,“3”为PV节点参数。

%X为节点号和对地参数矩阵.其中第一列为节点编号,第二列为节点对地%参数。

n=input(’请输入节点数:n=');n1=input(’请输入支路数:n1=');isb=input(’请输入平衡节点号:isb=');pr=input('请输入误差精度:pr=');B1=input(’请输入支路参数:B1=’);B2=input(’请输入节点参数:B2=’);X=input('节点号和对地参数:X=');Y=zeros(n);Times=1; %置迭代次数为初始值%创建节点导纳矩阵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)—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));endendYOrgS=zeros(2*n—2,1);DetaS=zeros(2*n—2,1); %将OrgS、DetaS初始化%创建OrgS,用于存储初始功率参数h=0;j=0;for i=1:n %对PQ节点的处理if 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:n %对PV节点的处理,注意这时不可再将h初始化为0 if 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)));endendendOrgS%创建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);endendPVU%创建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);DetaS(2*h,1)=imag(B2(i,2))—OrgS(2*h,1);endendt=0;for i=1:n %对PV节点的处理,注意这时不可再将h初始化为0 if 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)=real(PVU(t,1))^2+imag(PVU(t,1))^2-real(B2(i,3))^2—imag(B2(i,3))^2;endendDetaS%创建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));endendI%创建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;endendendendendJacbi%求解修正方程,获取节点电压的不平衡量DetaU=zeros(2*n—2,1);DetaU=inv(Jacbi)*DetaS;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);endendB2%开始循环**********************************************************************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)));endendendOrgS%创建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)=real(PVU(t,1))^2+imag(PVU(t,1))^2-real(B2(i,3))^2-imag(B2(i,3))^2;endendDetaS%创建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));endendI%创建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;endendendendendJacbiDetaU=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);endendB2Times=Times+1; %迭代次数加1endTimes一个原始数据的例子节点数 5支路数 5平衡节点编号 5精度pr 0。

MATLAB极坐标求解潮流计算

MATLAB极坐标求解潮流计算

MATLAB极坐标求解潮流计算极坐标是一种坐标系,用于描述平面上的点,其坐标由极径和极角组成。

在电力系统中,潮流计算是一种用于估计电力系统各节点电压幅值和相角的方法,以确定电力系统的负荷和发电机出力分布情况。

1.建立潮流计算的数学模型:潮流计算问题可以通过组成节点功率方程和支路潮流方程来描述。

节点功率方程描述了节点电压与注入和抽取的功率之间的关系,而支路潮流方程描述了支路接线和节点之间的相对功率转移。

2.收集输入数据:潮流计算需要收集电力系统的拓扑结构信息(节点和支路的连接关系),以及节点功率信息(负荷和发电机出力)。

这些数据可以从现场测量、电力系统数据库或网络模拟软件中获取。

3.构建节点导纳矩阵:节点导纳矩阵描述了电力系统各节点之间的电气连接关系。

它可以通过支路导纳矩阵和节点导纳矩阵的顺序乘法来计算。

4.进行潮流计算:利用节点功率方程和支路潮流方程,可以建立一个非线性方程组,其未知数是各节点的电压幅值和相角。

可以使用迭代的方法(如牛顿-拉夫逊法)或者线性化的方法(如高斯-赛德尔法)来求解这个方程组。

MATLAB提供了丰富的数值计算函数和算法,可以用来求解非线性方程组。

5.计算结果分析:潮流计算会得到电力系统各节点的电压幅值和相角,以及支路上的功率。

可以使用MATLAB绘制极坐标图来显示电力系统节点的电压幅值和相角分布情况。

此外,还可以对潮流计算结果进行故障分析、潮流分布优化等。

总结来说,使用MATLAB进行极坐标求解潮流计算可以帮助电力系统运营人员了解电力系统的电压幅值和相角分布情况,进而优化电力系统的运行和规划。

(完整word版)基于MATLAB进行潮流计算

(完整word版)基于MATLAB进行潮流计算

基于MATLAB进行潮流计算学生:王仕龙2011148213指导老师:李咸善摘要:电力系统潮流计算方法有两类,即手算潮流和计算机潮流计算。

手算潮流主要借助于形成简化的等值电路来实现,这种方法尤其适用于规模不大的辐射型电力潮流计算。

计算机潮流计算的实现有两种途径:其一是编程实现网络方程的迭代求解;其二是借助与电力系统分析仿真软件,搭建系统模型来完成潮流计算。

MATLAB具有强大的矩阵运算功能,同时其具有电力系统仿真平台也为直观地实现潮流计算提供了更便捷的手段[1]。

本文是基于MATLAB软件,采用极坐标形式牛顿─拉夫逊法进行潮流计算,为其他形式的潮流计算有借鉴的作用。

关键词:电力系统;计算机潮流计算;MATLAB ;牛顿─拉夫逊法Abstract:The power flow calculation method has two kinds,which are the hand calculation of tidal current and computer power flow calculation.Hand calculation tidal current is mainly realized by means of the formation of simplified equivalent circuit.This method is especially suitable for small scale radiation power flow calculation.There are two ways to realize the computer power flow calculation.The first one is through the programming iteration for solving network equation,the second one is with the help of analysis of power system simulation software to build the system model complete the power flow calculation.The software of MATLAB has strong matrix function,.At the same time,It’s power system simulation platform provides a more convenient means to realize power flow calculation intuitively[1].This paper is based on the software of MATLAB to calculate the power flow calculation by adopting the form of Newton-Raphson method of power flow calculation of polar coordinates.And it can be the role of reference of other forms of power flow calculation.Key words: power system computer; power flow calculation;MATLAB;Newton-Raphson1.计算原理电力系统潮流是指系统中所有运行参数的总体,包括各个母线电压的大小和相位,各个发电机和负荷的功率及电流,以及各个变压器和线路等元件所通过的功率,电流和其中的损耗。

基于matlab的潮流计算

基于matlab的潮流计算

课程设计任务书第学期学院:信息商务学院专业:电气工程及其自动化学生姓名:学号课程设计题目:基于MATLAB的潮流计算起迄日期:月日~月日课程设计地点:电气工程系工程实验室指导教师:系主任:课程设计任务书课程设计任务书1 引言潮流计算是电力系统最基本最常用的计算。

根据系统给定的运行条件,网络接线及元件参数,通过潮流计算可以确定各母线的电压(幅值和相角),各支路流过的功率,整个系统的功率损耗。

潮流计算是实现电力系统安全经济发供电的必要手段和重要工作环节。

因此,潮流计算在电力系统的规划计算,生产运行,调度管理及科学计算中都有着广泛的应用。

潮流计算在数学上是多元非线性方程组的求解问题,牛顿—拉夫逊Newton-Raphson法是数学上解非线性方程组的有效方法,有较好的收敛性。

运用电子计算机计算一般要完成以下几个步骤:建立数学模型,确定解算方法,制订计算流程,编制计算程序。

1.1 设计任务与要求利用MATLAB/SIMULINK仿真软件,搭建多电压等级电力网络潮流计算模型。

掌握各种潮流计算方法,掌握MATLAB/SPS工具箱使用方法及其在潮流计算中的应用。

MATLAB作为先进的仿真软件,在电力系统潮流计算方面,尤其是矩阵运算上具有突出的优秀性。

本设计要求利用MATLAB编写程序,输入数据并完成潮流分布计算。

1.2实用价值与理论意义在电力系统的正常运行中,随着用电负荷的变化和系统运行方式的改变,网络中的损耗也将发生变化。

要严格保证所有的用户在任何时刻都有额定的电压是不可能的,因此系统运行中个节点出现电压的偏移是不可避免的。

为了保证电力系统的稳定运行,要进行潮流调节。

随着电力系统及在线应用的发展,计算机网络已经形成,为电力系统的潮流计算提供了物质基础。

电力系统潮流计算是电力系统分析计算中最基本的内容,也是电力系统运行及设计中必不可少的工具。

根据系统给定的运行条件、网络接线及元件参数,通过潮流计算可以确定各母线电压的幅值及相角、各元件中流过的功率、整个系统的功率损耗等。

matlab潮流计算

matlab潮流计算

jds=IEEE(1,1);%节点数phjdh=IEEE(1,2);%平衡节点号phv=IEEE(1,3);%平衡节点电压jd=IEEE(1,4);%精度IN=size(IEEE);aa=0;ln=1;for li=3:IN(1)%读取线路参数if IEEE(li,1)>0Line(ln,:)=IEEE(li,:); ln=ln+1;endif IEEE(li,1)==0breakendendLI=li;%读取变压器参数cn=1;for ci=LI+1:IN(1)if IEEE(LI+1,1)==0trans=0;endif IEEE(ci,1)>0trans(cn,:)=IEEE(ci,:); cn=cn+1;endif IEEE(ci,1)==0breakendendif ci==LI+1CI=ci+1;else CI=ci;end%接地支路数jdn=1;for jdi=CI+1:IN(1)if IEEE(CI+1,1)==0jdzls=0;endif IEEE(jdi,1)>0jdzls(jdn,:)=IEEE(jdi,:);jdn=jdn+1;endif IEEE(jdi,1)==0breakendendif jdi==CI+1JDI=jdi+1;else JDI=jdi;end%读取节点功率数据ppn=1;for ppi=JDI+1:IN(1)if IEEE(ppi,1)>0jdgl(ppn,:)=IEEE(ppi,:);ppn=ppn+1;endif IEEE(ppi,1)==0breakendendPPI=ppi;%读取PV节点数据pvn=1;for pvi=PPI+1:IN(1)if IEEE(pvi,1)>0pvsj(pvn,:)=IEEE(pvi,:);pvn=pvn+1;endif IEEE(pvi,1)==0breakendendnline=size(Line,1);%读取线路个数ntrans=size(trans,1);%变压器个数npq=size(jdgl);Y=zeros(jds);if nline>=1for k=1:nlinet1=Line(k,2); t2=Line(k,3); b2=Line(k,6); Yl=1/(Line(k,4)+j*Line(k,5));Y(t1,t1)=Y(t1,t1)+Yl+j*b2;Y(t1,t2)=Y(t1,t2)-Yl;Y(t2,t1)=Y(t2,t1)-Yl;Y(t2,t2)=Y(t2,t2)+Yl+j*b2;endendif ntrans>=1for k=1:ntranst1=trans(k,2);t2=trans(k,3);t3=trans(k,6); Yt=1/(trans(k,4)+j*trans(k,5));Yt1=Yt/t3;Yt2=Yt*(1-t3)/(t3*t3);Yt3=Yt*(t3-1)/t3;Y(t1,t1)=Y(t1,t1)+Yt1+Yt2;Y(t1,t2)=Y(t1,t2)-Yt1;Y(t2,t1)=Y(t2,t1)-Yt1;Y(t2,t2)=Y(t2,t2)+Yt1+Yt3;endendG=real(Y);B=imag(Y);%设各个节点电压for ii=1:jdsf(ii)=0;u(ii)=1;endfor ii=1:pvsju(pvsj(ii,2))=pvsj(ii,3);endu(phjdh)=real(phv);f(phjdh)=imag(phv);npv=size(pvsj);npq=size(jdgl)-npv(1);for ii=1:size(jdgl)p0(jdgl(ii,2))=jdgl(ii,3)-jdgl(ii,5);q0(jdgl(ii,2))=jdgl(ii,4)-jdgl(ii,6);enddmax=1;%误差上限kn=0;while dmax>IEEE(1,4)for i1=1:jdsp(i1)=0;q(i1)=0;for j1=1:jdsif i1==phjdhbreakendp1(j1)=u(i1)*(G(i1,j1)*u(j1)-B(i1,j1)*f(j1))+f(i1)*(G(i1,j1)*f(j1 )+B(i1,j1)*u(j1));p(i1)=p1(j1)+ p(i1);q1(j1)=f(i1)*(G(i1,j1)*u(j1)-B(i1,j1)*f(j1))-u(i1)*(G(i1,j1)*f(j1 )+B(i1,j1)*u(j1));q(i1)=q1(j1)+ q(i1);endend%计算PQ节点有功,无功功率不平衡量for i1=1:jdsif i1==phjdhii1=i1;breakenddp(i1)=p0(i1)-p(i1);dq(i1)=q0(i1)-q(i1);U1(i1)=u(i1)-f(i1)*i;I(i1)=(p(i1)-q(i1)*i)./U1(i1);a(i1)=real(I(i1));b(i1)= imag(I(i1));endfor i1=ii1+1:jdsdp(i1-1)=p0(i1)-p(i1);dq(i1-1)=q0(i1)-q(i1);U1(i1-1)=u(i1)-f(i1)*i;I(i1-1)=(p(i1)-q(i1)*i)./U1(i1-1);a(i1-1)=real(I(i1-1));b(i1-1)= imag(I(i1-1));end%pq对角元素for i1=1:jds-1if i1<=npq(1)H(i1,i1)=-B(i1,i1)*u(i1)+G(i1,i1)*f(i1)+b(i1);N(i1,i1)=G(i1,i1)*u(i1)+B(i1,i1)*f(i1)+a(i1);J(i1,i1)=-G(i1,i1)*u(i1)-B(i1,i1)*f(i1)+a(i1);L(i1,i1)=-B(i1,i1)*u(i1)+G(i1,i1)*f(i1)-b(i1);YKB(i1*2-1,i1*2-1)= H(i1,i1);YKB(i1*2-1,i1*2)= N(i1,i1);YKB(i1*2,i1*2-1)= J(i1,i1);YKB(i1*2,i1*2)=L(i1,i1);endif i1>npq(1)H(i1,i1)=-B(i1,i1)*u(i1)+G(i1,i1)*f(i1)+b(i1); N(i1,i1)=G(i1,i1)*u(i1)+B(i1,i1)*f(i1)+a(i1); R(i1,i1)=2*f(i1);S(i1,i1)=2*u(i1);YKB(i1*2-1,i1*2-1)= H(i1,i1);YKB(i1*2-1,i1*2)= N(i1,i1);YKB(i1*2,i1*2-1)= R(i1,i1);YKB(i1*2,i1*2)=S(i1,i1);endend%pq非对角元素for i1=1:jds-1for j1=1:jds-1if i1~=j1if i1<=npqH(i1,j1)=-B(i1,j1)*u(i1)+G(i1,j1)*f(i1);N(i1,j1)=G(i1,j1)*u(i1)+B(i1,j1)*f(i1);J(i1,j1)=-B(i1,j1)*f(i1)-G(i1,j1)*u(i1);L(i1,j1)=G(i1,j1)*f(i1)-B(i1,j1)*u(i1);YKB(i1*2-1,j1*2-1)= H(i1,j1);YKB(i1*2-1,j1*2)= N(i1,j1);YKB(i1*2,j1*2-1)= J(i1,j1);YKB(i1*2,j1*2)=L(i1,j1);endif i1>npq(1)H(i1,j1)=-B(i1,j1)*u(i1)+G(i1,j1)*f(i1);N(i1,j1)=G(i1,j1)*u(i1)+B(i1,j1)*f(i1);R(i1,j1)=0;S(i1,j1)=0;YKB(i1*2-1,j1*2-1)= H(i1,j1);YKB(i1*2-1,j1*2)= N(i1,j1);YKB(i1*2,j1*2-1)= R(i1,j1);YKB(i1*2,j1*2)=S(i1,j1);endendendendYKB%求修正向量for i1=1:jds-1if i1<=npqdpq(2*i1-1,1)=dp(i1);dpq(2*i1,1)=dq(i1);elsedpq(2*i1-1)=dp(i1);dpq(2*i1,1)=0;endenddfu=YKB\dpqdmax=max(abs(dfu));nn=1;%nn避免与平衡节点重叠for i1=1:jdsif i1==phjdhii1=i1+1;breakendif i1~=phjdhdf(nn)=dfu(2*i1-1,1);du(nn)=dfu(2*i1,1);endnn=nn+1;endfor i1=ii1:jdsdf(i1-1)=dfu(2*i1-1,1); du(i1)=dfu(2*i1-1,1);endfor i1=1:jdsf(i1)=f(i1)+df(i1);u(i1)=u(i1)+du(i1);endkn=kn+1end%while的%求平衡节点功率for i1=1:jdsU(i1)=u(i1)+f(i1)*i;endS11=0;for i1=1:jdsss=conj(Y(1,i1)).*conj(U(i1));S11=S11+ss;endS1=u(1)*S11;%平衡节点功率nn=1;for i1=1:jdsif i1~=phjdhp0(nn)=p0(i1);q0(nn)=q0(i1);endif i1==phjdhp0(nn)=real(S1);q0(nn)=imag(S1);endnn=nn+1;endP(i1)=p0(i1)+q0(i1)*i;%求网络总损耗SP=0;for i1=1:jdsSP=P(i1)+SP;enddS=S1+SP;%网络总损耗%求输电效率a=0;b=0;for i1=1:jdsif p0(i1)>0a=a+p0(i1);elseb=b+p0(i1);endendn=abs(b)/(real(S1)+a)*100;%输电效率%求线路功率for i1=1:jdsfor j1=1:jdsS(i1,j1)=U(i1)*(conj(U(i1))-conj(U(j1)))*conj(-Y(i1,j1));%线路功率endendS。

matlab电力系统潮流计算

matlab电力系统潮流计算

电力系统潮流计算是电力系统分析和运行中的重要环节。

潮流计算主要用于确定电力系统中各个节点的电压、功率和潮流方向,以便进行功率平衡、电压稳定和线路负荷等方面的分析和评估。

MATLAB作为一种强大的数学建模和仿真工具,被广泛应用于电力系统潮流计算的研究和实际工程中。

本文将介绍MATLAB在电力系统潮流计算中的应用,包括算法原理、建模步骤和实例分析等内容。

一、潮流计算的基本原理潮流计算是指在给定电力网拓扑结构、负荷信息和发电机功率的情况下,通过迭代计算求解节点电压的复数值,以确定各节点的电压幅值和相角,进而计算各支路和各节点上的有功和无功功率。

潮流计算的基本原理是基于电力系统的潮流方程和节点功率平衡等基本理论,通过建立节点电压的复数方程组,利用迭代计算方法求解该方程组,从而得到节点的电压和功率信息。

二、MATLAB在潮流计算中的应用MATLAB作为一种功能强大的数学建模和仿真工具,具有丰富的数学计算函数和图形显示功能,适合于电力系统潮流计算的建模和仿真。

在MATLAB环境下,可以利用其矩阵运算、方程求解和数据可视化等功能,实现电力系统潮流计算的数学模型和算法的实现。

下面将介绍MATLAB在电力系统潮流计算中的具体应用步骤。

1. 建立电力系统潮流计算的数学模型在MATLAB环境下,首先需要建立电力系统潮流计算的数学模型,包括节点电压方程、支路潮流方程、节点功率平衡方程等。

利用MATLAB的矩阵运算和符号计算工具,可以将电力系统的节点和支路参数、负荷信息、发电机功率等数据表示为矩阵形式,建立电力系统潮流计算的数学模型。

2. 编写潮流计算的求解算法在建立电力系统潮流计算的数学模型后,需要编写潮流计算的求解算法。

在MATLAB环境下,可以利用其丰富的数学计算函数和优化工具,实现潮流计算的迭代求解算法,包括高斯-赛德尔迭代法、牛顿-拉夫逊迭代法等。

通过编写求解算法,可以实现电力系统潮流计算的数值求解过程。

3. 进行潮流计算的仿真实验在完成潮流计算的求解算法后,可以利用MATLAB进行潮流计算的仿真实验。

基于MATLAB的潮流计算

基于MATLAB的潮流计算

目录1.摘要 (3)2.题目原始资料 (4)3.题目分析 (6)4.题目求解 (7)1)根据题意要求画出等值电路 (7)2)读程序画出拉夫逊法的流程图 (8)3)变电所负荷为题目所给数据进行求解 (8)4)编写程序并运行 (10)5)具体调压调损耗过程 (10)1.改变变压器变比调压 (10)2.改变发电机机端电压调压 (12)3.负荷按照一定比例变化的潮流计算分析 (15)4.轮流断开支路双回线中的一条的潮流计算 (19)5.仿真并比较 (28)6.设计心得 (30)7.参考文献 (31)摘要本文运用MATLAB软件进行潮流计算,对给定题目进行分析计算,再应用DDRTS软件,构建系统图进行仿真,最终得到合理的系统潮流。

潮流计算是电力系统最基本最常用的计算。

根据系统给定的运行条件,网络接线及元件参数,通过潮流计算可以确定各母线的电压幅值和相角,各元件流过的功率,整个系统的功率损耗。

潮流计算是实现电力系统安全经济发供电的必要手段和重要工作环节。

因此,潮流计算在电力系统的规划计算,生产运行,调度管理及科学计算中都有着广泛的应用。

首先,画出系统的等效电路图,在计算出各元件参数的基础上,应用牛顿—拉夫逊Newton-Raphson法以及MATLAB软件进行计算对给定系统图进行了四种不同负荷下的潮流计算,经过调节均得到符合电压限制及功率限制的潮流分布。

其次,牛顿—拉夫逊Newton-Raphson法具有较好的收敛性,上述计算过程经过四到五次迭代后均能收敛。

根据运算结果,分析各支路损耗和系统总损耗。

最后,应用DDRTS软件,构建系统图,对给定负荷重新进行分析,潮流计算后的结果也能满足相应的参数要求。

关键词:牛顿-拉夫逊法 MATLAB DDRTS 潮流计算一、 题目原始资料:1.系统图:两个发电厂分别通过变压器和输电线路与四个变电所相连。

2、发电厂资料:母线1和2为发电厂发高压母线,发电厂一总装机容量为(300MW ),母线3为机压母线上装机容量为(100MW ),最大负荷和最小负荷分别为50MW 和20MW ,发电厂二总装机容量为(200MW )3、变电所资料:(一)变电所1、2、3、4低压母线的电压等级分别为:35KV 10KV 35KV 10KV (二)变电所的负荷分别为: 50MW 50MW 40MW 70MW变电所1 变电所2母线电厂一 电厂二(三)每个变电所的功率因数均为cos φ=0.85;(四)变电所1和变电所3分别配有两台容量为75MVA 的变压器,短路损耗414KW ,短路电压(%)=16.7;变电所2和变电所4分别配有两台容量为63MVA 的变压器,短路损耗为245KW ,短路电压(%)=10.5;4、输电线路资料:发电厂和变电所之间的输电线路的电压等级及长度标于图中,单位长度的电阻为Ω17.0,单位长度的电抗为Ω0.402,单位长度的电纳为S -610*2.78。

MATPOWER潮流计算使用说明

MATPOWER潮流计算使用说明

MATPOWER潮流计算使用说明MATPOWER潮流计算(具体参见使用手册)以case5.m为例:结构体mpc的不同字段的简要说明如下:1.字段baseMVA是一个标量,用来设置基准容量,如100MVA;2.字段bus是一个矩阵,用来设置电网中各母线参数。

矩阵的每一行都对应于一个单一的母线,列的数据格式为bus_i type Pd Qd Gs Bs area Vm Va baseKV zone Vmax Vmin.1)bus_i 用来设置母线编号(正整数)2)type 用来设置母线类型,1为PQ节点母线,2为PV节点母线,3为平衡(参考)节点母线,4为孤立节点母线3)Pd和Qd用来设置母线注入负荷的有功功率和无功功率4)Gs和Bs用来设置与母线并联电导和电纳5)baseKV用来这是该母线基准电压6)Vm和Va用来设置母线电压的幅值、相位初值7)Vmax和Vmin用来设置工作时母线最高、最低电压幅值8)area和zone用来设置电网断面号和分区号,一般都设置为1,前者可设置范围为1-100,后者为1-9993.字段gen为一个矩阵,用来设置接入电网中的发电机(电源)参数矩阵的每一行都对应于一个单一的发电机,列的数据格式为bus Pg Qg Qmax Qmin Vg mBase status Pmax Pmin1)bus:发电机母线编号2)Pg和Qg:发电机有功功率和无功功率3)Pmax和Pmin:发电机有功功率最大、最小允许值4)Qmax和Qmin:发电机无功功率最大、最小允许值5)Vg:发电机工作电压6)mBase:发电机的功率基准,默认值就是baseMVA7)status:发电机的工作状态,1表示投入运行,0表示退出运行4.字段branch为一个矩阵,用来设置电网中各支路参数矩阵的每一行都对应于一个单一的支路,列的数据格式为fbus tbus r x b rateA rateB rateC ratio angle status angmin angmax1)fbus和tbus:该支路由起始节点(母线)编号和终止节点(母线)编号2)r x b :该支路的电阻电抗充电电纳3)rateA rateB rateC :该支路长期、短期和紧急紧急允许功率4)ratio:该支路的变比,如果支路元件是导线,那么ratio为0,如果支路元件为变压器,则该变比为fbus侧母线的基准电压与tbus侧母线的基准电压之比5)angle:支路的相位角度,如果支路元件为变压器(或移相器),就是变压器(或移相器)的转角;如果支路元件是导线,相位角度为06)status:支路工作状态,1表示投入,0表示退出7)angmin angmax :支路相位角度最小和最大差值控制选项mpoption表1.MATPWOER中选项变量mpoption的功能描述表2.潮流计算结果输出的选项功能描述选项变量使用方式举例:首先取得默认的选项变量,即>>mpopt = mpoption;如果要使用快速解耦算法来对数据文件“case57”进行潮流计算,则需在MATLAB的命令窗口中通过输入一下两行命令即可:>>mpopt = mpoption(mpopt,’PF_ALG’,2);>>runpf(’case57’,mpopt);如果只输出系统概要信息和机组信息,则可进行如下设置:>>mpopt = mpoption(mpopt,’OUT_BUS’,0,’OUT_BRANCH’,0,’OUT_GEN’,1)。

matlab潮流计算

matlab潮流计算

matlab潮流计算%线路数据line=[1-节点编号2-线路首端节点号3-线路末端节点号4-支路电阻5-支路电抗6-支路电纳(注意:此处取的是b/2)]line=[1120.040.250.252130.10.3503230.080.300.25];%变压器数据transform=[1-支路编号2-支路首节点编号3-支路末节点编号4-支路电阻(p.u.)5-支路电抗(p.u.)6-变压器变比(p.u.)]transform=[12400.0151.0523500.031.05];%数据预处理nbus=5;%节点数nline=size(line,1);%线路个数ntrans=size(transform,1);%变压器个数slack=5;%均衡节点号npq=4;%pq节点的个数ss=0;%计算节点导纳矩阵y=zeros(nbus);ifnline>=1%推论与否存有线路fork=1:nline%以下处理线路t1=line(k,2);t2=line(k,3);b2=line(k,6);%分别抽出线路的首端节点编号t1、末端节点编号t2和对地电纳b2yl=1/(line(k,4)+j*line(k,5));%计算线路的支路电导yly(t1,t1)=y(t1,t1)+yl+j*b2;%修正第k条线路首端节点的自导纳y(t1,t2)=y(t1,t2)-yl;%修正第k条线路首端节点与末端节点之间的互磁滞y(t2,t1)=y(t2,t1)-yl;%修正第k条线路末端节点与首端节点之间的互磁滞y(t2,t2)=y(t2,t2)+yl+j*b2;%修正第k条线路末端节点的自磁滞endendifntrans>=1%判断是否存在变压器fork=1:ntrans%以下处理变压器t1=transform(k,2);t2=transform(k,3);t3=transform(k,6);%分别抽出变压器的首端节点编号t1、末端节点编号t2和变比t3yt=1/(transform(k,4)+j*transform(k,5));yt1=yt/t3;yt2=yt*(1-t3)/(t3*t3);yt3=yt*(t3-1)/t3;y(t1,t1)=y(t1,t1)+yt1+yt2;y(t1,t2)=y(t1,t2)-yt1;y(t2,t1)=y(t2,t1)-yt1;y(t2,t2)=y(t2,t2)+yt1+yt3;endendg=real(y);b=imag(y);%区分节点磁滞矩阵的实部和虚部gb%赋初值delt(1)=0;delt(2)=0;delt(3)=0;delt(4)=0;u(1)=1;u(2)=1;u(3)=1;u(4)=1;p(1)=-0.30;q(1)=-0.18;p(2)=-0.55;q(2)=-0.13;p(3)=0;q(3)=0;p(4)=0.5;q(4)=1.10;p(5)=0.8;q(5)=0.50;k=0;precision=1;npq=4;%npq分别就是网络中的pq节点数%[unbalance]=-[jacobi][correction]whileprecision>0.00001%设定误差上限,判断是否继续迭代u(5)=1.06;delt(5)=0;%设定平衡节点电压相角与幅值k;u;delt;form=1:npqforn=1:nbuspt(n)=u(m)*u(n)*(g(m,n)*cos(delt(m)-delt(n))+b(m,n)*sin(delt(m)-delt(n)));%由节点电压求出的pq节点转化成军功功率qt(n)=u(m)*u(n)*(g(m,n)*sin(delt(m)-delt(n))-b(m,n)*cos(delt(m)-delt(n)));%由节点电压求得的pq节点注入无功功率endunbalance(2*m-1)=p(m)-sum(pt);%排序pq节点军功功率不平来衡量unbalance(2*m)=q(m)-sum(qt);%排序pq节点无功功率不平来衡量end%[unbalance]是节点不平衡量矩阵form=1:npqforn=1:nbush0(n)=u(m)*u(n)*(g(m,n)*sin(delt(m)-delt(n))-b(m,n)*cos(delt(m)-delt(n)));n0(n)=-u(m)*u(n)*(g(m,n)*cos(delt(m)-delt(n))+b(m,n)*sin(delt(m)-delt(n)));j0(n)=-u(m)*u(n)*(g(m,n)*cos(delt(m)-delt(n))+b(m,n)*sin(delt(m)-delt(n)));l0(n)=-u(m)*u(n)*(g(m,n)*sin(delt(m)-delt(n))-b(m,n)*cos(delt(m)-delt(n)));endh(m,m)=sum(h0)-u(m)^2*(g(m,m)*sin(delt(m)-delt(m))-b(m,m)*cos(delt(m)-delt(m)));n(m,m)=sum(n0)+u(m)^2*(g(m,m)*cos(delt(m)-delt(m))+b(m,m)*sin(delt(m)-delt(m)))-2*u(m)^2*g(m,m);j(m,m)=sum(j0)+u(m)^2*(g(m,m)*cos(delt(m)-delt(m))+b(m,m)*sin(delt(m)-delt(m)));l(m,m)=sum(l0)+u(m)^2*(g(m,m)*sin(delt(m)-delt(m))-b(m,m)*cos(delt(m)-delt(m)))+2*u(m)^2*b(m,m);jacobi(2*m-1,2*m-1)=h(m,m);jacobi(2*m-1,2*m)=n(m,m);jacobi(2*m,2*m-1)=j(m,m);jacobi(2*m,2*m)=l(m,m);end%计算m=n情况下的jacobi矩阵中的子矩阵元素form=1:npqforn=1:npqifm==nelseh(m,n)=-u(m)*u(n)*(g(m,n)*sin(delt(m)-delt(n))-b(m,n)*cos(delt(m)-delt(n)));j(m,n)=u(m)*u(n)*(g(m,n)*cos(delt(m)-delt(n))+b(m,n)*sin(delt(m)-delt(n)));n(m,n)=-j(m,n);l(m,n)=h(m,n);jacobi(2*m-1,2*n-1)=h(m,n);jacobi(2*m-1,2*n)=n(m,n);jacobi(2*m,2*n-1)=j(m,n);jacobi(2*m,2*n)=l(m,n);endendend%排序m≠n情况下的jacobi矩阵中的子矩阵元素correction=-jacobi\\(unbalance');%计算电压相角和幅值的修正量precision=max(abs(correction));%取误差最大值form=1:npqdelt(m)=delt(m)+correction(2*m-1);%修正pq节点电压相角u(m)=u(m)+correction(2*m);%修正pq节点电压幅值endk=k+1;%运算轮数+1endk,u,delt,jacobi,precisionform=1:nbusu(m)=u(m)*(cos(delt(m))+j*sin(delt(m)));%采用直角坐标系表示电压i(m)=y(nbus,m)*u(m);%计算注入平衡节点的电流endsslack=u(nbus)*sum(conj(i))%排序转化成均衡节点的功率form=1:nbusforn=1:nbuss(m,n)=u(m)*(conj(u(m))-conj(u(n)))*conj(-y(m,n));%排序线路功率ploss(m,n)=u(m)*u(n)*(g(m,n)*cos(delt(m)-delt(n))+b(m,n)*sin(delt(m)-delt(n)));endends%表明线路功率矩阵,s(m,n)则表示假设功率由节点m流向节点n%若数值为+则说明实际功率流向与假设方向相同,若数值为-则说明实际功率流向与假设方向相反。

matlab潮流计算

matlab潮流计算

附录1使用牛顿拉夫逊法进行潮流计算的Matlab程序代码% 牛拉法计算潮流程序%-----------------------------------------------------------------------% B1矩阵:1、支路首端号;2、末端号;3、支路阻抗;4、支路对地电纳% 5、支路的变比;6、支路首端处于K侧为1,1侧为0% B2矩阵:1、该节点发电机功率;2、该节点负荷功率;3、节点电压初始值% 4、PV节点电压V的给定值;5、节点所接的无功补偿设备的容量% 6、节点分类标号:1为平衡节点(应为1号节点);2为PQ节点;3为PV节点;%------------------------------------------------------------------------ clear all;format long;n=input('请输入节点数:nodes=');nl=input('请输入支路数:lines=');isb=input('请输入平衡母线节点号:balance=');pr=input('请输入误差精度:precision=');B1=input('请输入由各支路参数形成的矩阵:B1=');B2=input('请输入各节点参数形成的矩阵:B2=');Y=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);sida=zeros(1,n);S1=zeros(nl);%------------------------------------------------------------------for i=1:nl %支路数if B1(i,6)==0 %左节点处于1侧p=B1(i,1);q=B1(i,2);else %左节点处于K侧p=B1(i,2);q=B1(i,1);endY(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); %对角元K侧Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4); %对角元1侧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); %PV节点电压给定模值endfor i=1:n %给定各节点注入功率S(i)=B2(i,1)-B2(i,2); %i节点注入功率SG-SLB(i,i)=B(i,i)+B2(i,5); %i节点无功补偿量end%---------------------------------------------------------------------P=real(S);Q=imag(S); %分解出各节点注入的有功和无功功率ICT1=0;IT2=1;N0=2*n;N=N0+1;a=0; %迭代次数ICT1、a;不满足收敛要求的节点数IT2 while IT2~=0 % N0=2*n 雅可比矩阵的阶数;N=N0+1扩展列IT2=0;a=a+1;for i=1:nif i~=isb %非平衡节点C(i)=0;D(i)=0;for j1=1:nC(i)=C(i)+G(i,j1)*e(j1)-B(i,j1)*f(j1);%Σ(Gij*ej-Bij*fj)D(i)=D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1);%Σ(Gij*fj+Bij*ej)endP1=C(i)*e(i)+f(i)*D(i);%节点功率P计算eiΣ(Gij*ej-Bij*fj)+fiΣ(Gij*fj+Bij*ej)Q1=C(i)*f(i)-e(i)*D(i);%节点功率Q计算fiΣ(Gij*ej-Bij*fj)-eiΣ(Gij*fj+Bij*ej) %求i节点有功和无功功率P',Q'的计算值V2=e(i)^2+f(i)^2; %电压模平方%以下针对非PV节点来求取功率差及Jacobi矩阵元素----------------------------- if B2(i,6)~=3 %非PV节点DP=P(i)-P1; %节点有功功率差DQ=Q(i)-Q1; %节点无功功率差%以上为除平衡节点外其它节点的功率计算--------------------------------------%求取Jacobi矩阵----------------------------------------------------------for j1=1:nif j1~=isb&j1~=i %非平衡节点&非对角元X1=-G(i,j1)*e(i)-B(i,j1)*f(i); % dP/de=-dQ/dfX2=B(i,j1)*e(i)-G(i,j1)*f(i); % dP/df=dQ/deX3=X2; % X2=dp/df X3=dQ/deX4=-X1; % X1=dP/de X4=dQ/dfp=2*i-1;q=2*j1-1;J(p,q)=X3;J(p,N)=DQ;m=p+1; % X3=dQ/de J(p,N)=DQ节点无功功率差J(m,q)=X1;J(m,N)=DP;q=q+1; % X1=dP/de J(m,N)=DP节点有功功率差J(p,q)=X4;J(m,q)=X2; % X4=dQ/df X2=dp/dfelseif j1==i&j1~=isb %非平衡节点&对角元X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);% dP/deX2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);% dP/dfX3=D(i)+B(i,i)*e(i)-G(i,i)*f(i); % dQ/deX4=-C(i)+G(i,i)*e(i)+B(i,i)*f(i);% dQ/dfp=2*i-1;q=2*j1-1;J(p,q)=X3;J(p,N)=DQ;%扩展列△QJ(m,q)=X1;q=q+1;J(p,q)=X4;J(m,N)=DP;%扩展列△PJ(m,q)=X2;endendelse%下面是针对PV节点来求取Jacobi矩阵的元素----------------------------------------- DP=P(i)-P1; % PV节点有功误差DV=V(i)^2-V2; % PV节点电压误差for j1=1:nif j1~=isb&j1~=i %非平衡节点&非对角元X1=-G(i,j1)*e(i)-B(i,j1)*f(i); % dP/deX2=B(i,j1)*e(i)-G(i,j1)*f(i); % dP/dfX5=0;X6=0;p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV; % PV节点电压误差m=p+1;J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6; % PV节点有功误差J(m,q)=X2;elseif j1==i&j1~=isb %非平衡节点&对角元X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);% dP/deX2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);% dP/dfX6=-2*f(i);p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV; % PV节点电压误差m=p+1;J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6; % PV节点有功误差J(m,q)=X2;endendendendend%以上为求雅可比矩阵的各个元素及扩展列的功率差或电压差---------------------------------------for k=3:N0 % N0=2*n (从第三行开始,第一、二行是平衡节点)k1=k+1;N1=N; % N=N0+1 即N=2*n+1扩展列△P、△Q 或△Ufor k2=k1:N1 % 从k+1列的Jacobi元素到扩展列的△P、△Q 或△UJ(k,k2)=J(k,k2)./J(k,k);% 用K行K列对角元素去除K行K列后的非对角元素进行规格化endJ(k,k)=1; % 对角元规格化K行K列对角元素赋1%回代运算-------------------------------------------------------------------if k~=3 % 不是第三行k > 3k4=k-1;for k3=3:k4 % 用k3行从第三行开始到当前行的前一行k4行消去for k2=k1:N1 % k3行后各行上三角元素J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算(当前行k列元素消为0)end %用当前行K2列元素减去当前行k列元素乘以第k行K2列元素J(k3,k)=0; %当前行第k列元素已消为0endif k==N0 %若已到最后一行break;end%前代运算------------------------------------------------------------for k3=k1:N0 % 从k+1行到2*n最后一行for k2=k1:N1 % 从k+1列到扩展列消去k+1行后各行下三角元素J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算end %用当前行K2列元素减去当前行k列元素乘以第k行K2列元素J(k3,k)=0; %当前行第k列元素已消为0endelse %是第三行k=3%第三行k=3的前代运算---------------------------------------------------- for k3=k1:N0 %从第四行到2n行(最后一行)for k2=k1:N1 %从第四列到2n+1列(即扩展列)J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算(当前行3列元素消为0)end %用当前行K2列元素减去当前行3列元素乘以第三行K2列元素J(k3,k)=0; %当前行第3列元素已消为0endendend%上面是用线性变换方式高斯消去法将Jacobi矩阵化成单位矩阵%-----------------------------------------------------------------------------------for 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); %修改节点电压虚部end%修改节点电压---------------------------for k=3:N0DET=abs(J(k,N));if DET>=pr %电压偏差量是否满足要求IT2=IT2+1; %不满足要求的节点数加1endendICT2(a)=IT2; %不满足要求的节点数ICT1=ICT1+1; %迭代次数end%用高斯消去法解"w=-J*V"disp('迭代次数:');disp(ICT1);disp('没有达到精度要求的个数:');disp(ICT2);for k=1:nV(k)=sqrt(e(k)^2+f(k)^2); %计算各节点电压的模值sida(k)=atan(f(k)./e(k))*180./pi; %计算各节点电压的角度E(k)=e(k)+f(k)*1i; %将各节点电压用复数表示end%计算各输出量------------------------------------------------------ disp('各节点的实际电压标幺值E为:');disp(E); %显示各节点的实际电压标幺值E用复数表示disp('-----------------------------------------------------');disp('各节点的电压大小V为:');disp(V); %显示各节点的电压大小V的模值disp('-----------------------------------------------------');disp('各节点的电压相角deg为:');disp(sida); %显示各节点的电压相角for p=1:nC(p)=0;for 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); %显示各节点的注入功率disp('-----------------------------------------------------');disp('各条支路的首端功率Si为:');for i=1:nlp=B1(i,1);q=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))*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);enddisp(Si(p,q));SSi(p,q)=Si(p,q);ZF=['S(',num2str(p),',',num2str(q),')=',num2str(SSi(p,q))];disp(ZF);disp('-----------------------------------------------------');enddisp('各条支路的末端功率Sj为:');for i=1:nlp=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))*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);enddisp(Sj(q,p));SSj(q,p)=Sj(q,p);ZF=['S(',num2str(q),',',num2str(p),')=',num2str(SSj(q,p))]; disp(ZF);disp('-----------------------------------------------------'); enddisp('各条支路的功率损耗DS为:');for i=1:nlp=B1(i,1);q=B1(i,2);DS(i)=Si(p,q)+Sj(q,p);disp(DS(i));DDS(i)=DS(i);ZF=['DS(',num2str(p),',',num2str(q),')=',num2str(DDS(i))]; disp(ZF);disp('-----------------------------------------------------'); end附录2使用PQ分解法进行潮流计算的Matlab程序代码%PQ分解法潮流计算程序%本文中的实例数据如下:节点数为9;支路数为9;平衡母线节点号为1;误差精度为0.00001;PQ节点数为5;%主程序clear all;format long;n=input('请输入节点数:n=');nl=input('请输入支路数:nl=');isb=input('请输入平衡母线节点号:isb=');pr=input('请输入误差精度:pr=');B1=input('请输入由支路参数形成的矩阵:B1='); %输入B1B2=input('请输入由支路参数形成的矩阵:B2='); %输入B2na=input('请输入PQ节点数na=');Y=zeros(n);YI=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);O=zeros(1 ,n);for i=1:nlif B1(i,6)==0p=B1(i,1);q=B1(i,2);else p=B1(i,2);q=B1(i,1);endY(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5));YI(p,q)=YI(p,q)-1./B1(i,3);Y(q,p)=Y(p,q);YI(q,p)=YI(p,q);Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4);YI(q,q)=YI(q,q)+1./B1(i,3);Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4);YI(p,p)=YI(p,p)+1./B1(i,3);end %求导纳矩阵disp('节点导纳矩阵为:');disp(Y);G=real(Y);B=imag(YI);BI=imag(Y);for i=1:nS(i)=B2(i,1)-B2(i,2);BI(i,i)=BI(i,i)+B2(i,5);endP=real(S);Q=imag(S);for i=1:ne(i)=real(B2(i,3));f(i)=imag(B2(i,3));V(i)=B2(i,4);endfor i=1:nif B2(i,6)==2V(i)=sqrt(e(i)^2+f(i)^2);O(i)=atan(f(i)./e(i));endendfor i=2:nif i==nB(i,i)=1./B(i,i);else IC1=i+1;for j1=IC1:nB(i,j1)=B(i,j1)./B(i,i);endB(i,i)=1./B(i,i);for k=i+1:nfor j1=i+1:nB(k,j1)=B(k,j1)-B(k,i)*B(i,j1);endendendendp=0;q=0;for i=1:nif B2(i,6)==2p=p+1;k=0;for j1=1:nif B2(j1,6)==2k=k+1;A(p,k)=BI(i,j1);endendendendfor i=1:naif i==naA(i,i)=1./A(i,i);else k=i+1;for j1=k:naA(i,j1)=A(i,j1)./A(i,i);endA(i,i)=1./A(i,i);for k=i+1:nafor j1=i+1:naA(k,j1)=A(k,j1)-A(k,i)*A(i,j1);endendendendICT2=1;ICT1=0;kp=1;kq=1;K=1;DET=0;ICT3=1;while ICT2~=0||ICT3~=0ICT2=0;ICT3=0;for i=1:nif i~=isbC(i)=0;for k=1:nC(i)=C(i)+V(k)*(G(i,k)*cos(O(i)-O(k))+BI(i,k)*sin(O(i)-O(k)));endDP1(i)=P(i)-V(i)*C(i);DP(i)=DP1(i)./V(i);DET=abs(DP1(i));if DET>=prICT2=ICT2+1;endendendNp(K)=ICT2;if ICT2~=0for i=2:nDP(i)=B(i,i)*DP(i);if i~=nIC1=i+1;for k=IC1:nDP(k)=DP(k)-B(k,i)*DP(i);endelsefor LZ=3:iL=i+3-LZ;IC4=L-1;for MZ=2:IC4I=IC4+2-MZ;DP(I)=DP(I)-B(I,L)*DP(L);endendendfor i=2:nO(i)=O(i)-DP(i);endkq=1;L=0;for i=1:nif B2(i,6)==2C(i)=0;L=L+1;for k=1:nC(i)=C(i)+V(k)*(G(i,k)*sin(O(i)-O(k))-BI(i,k)*cos(O(i)-O(k)));endDQ1(i)=Q(i)-V(i)*C(i);DQ(L)=DQ1(i)./V(i);DET=abs(DQ1(i));if DET >=prICT3=ICT3+1;endendendelse kp=0;L=0;for i=1:nif B2(i,6)==2C(i)=0;L=L+1;for k=1:nC(i)=C(i)+V(k)*(G(i,k)*sin(O(i)-O(k))-BI(i,k)*cos(O(i)-O(k)));endDQ1(i)=Q(i)-V(i)*C(i);DQ(L)=DQ1(i)./V(i);DET=abs(DQ1(i));endendendendNq(K)=ICT3;if ICT3~=0L=0;for i=1:naDQ(i)=A(i,i)*DQ(i);if i==nafor LZ=2:iL=i+2-LZ;IC4=L-1;for MZ=1:IC4I=IC4+1-MZ;DQ(I)=DQ(I)-A(I,L)*DQ(L);endendelseIC1=i+1;for k=IC1:naDQ(k)=DQ(k)-A(k,i)*DQ(i);endendendL=0;for i=1:nif B2(i,6)==2L=L+1;V(i)=V(i)-DQ(L);endendkp=1;K=K+1;elsekq=0;if kp~=0K=K+1;endendfor i=1:nDy(K-1,i)=V(i);endenddisp('迭代次数');disp(K);disp('每次没有达到精度要求的有功功率个数为'); disp(Np);disp('每次没有达到精度要求的无功功率个数为'); disp(Nq);for k=1:nE(k)=V(k)*cos(O(k))+V(k)*sin(O(k))*j;O(k)=O(k)*180./pi;enddisp('各节点的电压标幺值E为:');disp(E);disp('各节点的电压V大小为:');disp(V);disp('各节点的电压相角O为:');disp(O);for p=1:nC(p)=0;for q=1:nC(p)=C(p)+conj(Y(p,q))*conj(E(q));endS(p)=E(p)*C(p);enddisp('各节点的功率S为:');disp(S);disp('各条支路的首端功率Sj为:');for i=1:nlif 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)))*co nj(1./(B1(i,3)*B1(i,5))));disp(Si(p,q));enddisp('各条支路的末端功率Sj为:');for i=1:nlif 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)+(conj(E(q)./B1(i,5))-conj(E(p)))*co nj(1./(B1(i,3)*B1(i,5))));disp(Sj(q,p));enddisp('各条支路的功率损耗DS为:');for i=1:nlif 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:KCs(i)=i;for j=1:nDy(K,j)=Dy(K-1,j);endend附录3进行三相短路容量计算的Matlab程序代码%短路容量计算程序%---------------------------------------------------------------------% B1矩阵:1、支路首端号;2、末端号;3、支路阻抗;4、支路对地电纳% 5、支路的变比;6、支路首端处于K侧为1,1侧为0% B2矩阵:1、该节点发电机功率;2、该节点负荷功率;3、节点电压初始值% 4、PV节点电压V的给定值;5、节点所接的无功补偿设备的容量% 6、节点分类标号:1为平衡节点(应为1号节点);2为PQ节点;%Yd为修改后的节点导纳矩阵%-----------------------------------------------------------------------clear all;format long;g1=input('300MW发电机数:g1=');g2=input('250MW发电机数:g2=');n=input('请输入节点数:n=');nl=input('请输入支路数:nl=');B1=input('请输入由各支路参数形成的矩阵:B1=');B2=input('请输入各节点参数形成的矩阵:B2=');Y=zeros(n);% Y为修改前节点导纳矩阵for i=1:nl %支路数if B1(i,6)==0 %左节点处于1侧p=B1(i,1);q=B1(i,2);else %左节点处于K侧p=B1(i,2);q=B1(i,1);endY(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); %对角元K侧Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4); %对角元1侧end%----------------------------------------------------------%Y2-Y5为各PQ节点负荷的导纳Y1=0;Y2=conj(B2(2,2));Y3= conj(B2(3,2));Y4= conj(B2(4,2));Y5= conj(B2(5,2));Xd300=0.51j/0.950413^2;XT300=0.033212j/0.950413^2;Xd250=0.714j/0.950413^2;XT250=0.038747j/0.950413^2;Y6=g1/(XT300+Xd300)+g2/(XT250+Xd250);%处理相应的负荷及机组部分的导纳%------------------------------------------------------------C=[Y1,Y2,Y3,Y4,Y5,Y6];Yd=Y;for i=1:nYd(i,i)=Yd(i,i)+C(i); %修改各节点自导纳enddisp(Yd);Z = inv(Yd); %求节点阻抗矩阵for j=1:nI(j) = 1/Z(j,j); %电压故障前电压标幺值为1S(j)=abs(I(j));Sn(j)=S(j)*100;%短路电流有名值end%计算完毕----------------------------------------------------disp('各节点短路时的短路电流幅值标幺值')disp(abs(I))disp('短路容量有名值Sn=');disp(Sn);。

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

%求 i 节点有功和无功功率 Pe(i)^2+f(i)^2;
%电压模平方
%以下针对非 PV 节点来求取功率差及 Jacobi 矩阵元素-----------------------------
if B2(i,6)~=3
%非 PV 节点
DP=P(i)-P1;
%节点有功功率差
DQ=Q(i)-Q1;
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); %对角元 K 侧
Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4);
%------------------------------------------------------------------------
clear all;
format long;
n=input('请输入节点数:nodes=');
nl=input('请输入支路数:lines=');
isb=input('请输入平衡母线节点号:balance=');
%------------------------------------------------------------------
for i=1:nl
%支路数
if B1(i,6)==0
%左节点处于 1 侧
p=B1(i,1);q=B1(i,2);
else
%左节点处于 K 侧
p=B1(i,2);q=B1(i,1);
% X4=dQ/df X2=dp/df %非平衡节点&对角元
X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);% dP/de
pr=input('请输入误差精度:precision=');
B1=input('请输入由各支路参数形成的矩阵:B1=');
B2=input('请输入各节点参数形成的矩阵:B2=');
Y=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);sida=zeros(1,n);S1=zeros(nl);
%非平衡节点&非对角元
X1=-G(i,j1)*e(i)-B(i,j1)*f(i); % dP/de=-dQ/df
X2=B(i,j1)*e(i)-G(i,j1)*f(i); % dP/df=dQ/de
X3=X2;
% X2=dp/df X3=dQ/de
X4=-X1;
% X1=dP/de X4=dQ/df
点无功功率差
p=2*i-1;q=2*j1-1; J(p,q)=X3;J(p,N)=DQ;m=p+1;
% X3=dQ/de J(p,N)=DQ 节
点有功功率差
J(m,q)=X1;J(m,N)=DP;q=q+1; % X1=dP/de J(m,N)=DP 节
J(p,q)=X4;J(m,q)=X2; elseif j1==i&j1~=isb
%节点无功功率差
%以上为除平衡节点外其它节点的功率计算--------------------------------------
%求取 Jacobi 矩阵----------------------------------------------------------
for j1=1:n
if j1~=isb&j1~=i
.
附录 1
使用牛顿拉夫逊法进行潮流计算的 Matlab 程序代码
% 牛拉法计算潮流程序
%-----------------------------------------------------------------------
% B1 矩阵:1、支路首端号;2、末端号;3、支路阻抗;4、支路对地电纳
%对角元 1 侧
end
%求导纳矩阵
disp('导纳矩阵 Y=');
disp(Y)
%-------------------------------------------------------------------
G=real(Y);B=imag(Y);
%分解出导纳阵的实部和虚部
for i=1:n
while IT2~=0
% N0=2*n 雅可比矩阵的阶数;N=N0+1 扩展列
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);%Σ(Gij*ej-Bij*fj)
%给定各节点初始电压的实部和虚部
e(i)=real(B2(i,3));
f(i)=imag(B2(i,3));
.
1
.
V(i)=B2(i,4);
%PV 节点电压给定模值
end
for i=1:n
%给定各节点注入功率
S(i)=B2(i,1)-B2(i,2);
%i 节点注入功率 SG-SL
B(i,i)=B(i,i)+B2(i,5);
%
5、支路的变比;6、支路首端处于 K 侧为 1,1 侧为 0
% B2 矩阵:1、该节点发电机功率;2、该节点负荷功率;3、节点电压初始值
%
4、PV 节点电压 V 的给定值;5、节点所接的无功补偿设备的容量
%
6、节点分类标号:1 为平衡节点(应为 1 号节点);2 为 PQ 节点;
3 为 PV 节点;
D(i)=D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1);%Σ(Gij*fj+Bij*ej)
end
P1=C(i)*e(i)+f(i)*D(i);%节点功率 P 计算 eiΣ(Gij*ej-Bij*fj)+fiΣ(Gij*fj+Bij*ej)
Q1=C(i)*f(i)-e(i)*D(i);%节点功率 Q 计算 fiΣ(Gij*ej-Bij*fj)-eiΣ(Gij*fj+Bij*ej)
%i 节点无功补偿量
end
%---------------------------------------------------------------------
P=real(S);Q=imag(S);
%分解出各节点注入的有功和无功功率
ICT1=0;IT2=1;N0=2*n;N=N0+1;a=0; %迭代次数 ICT1、a;不满足收敛要求的节点数 IT2
相关文档
最新文档