MATLAB电力系统PQ潮流计算程序设计

合集下载

电力系统潮流计算matlab程序

电力系统潮流计算matlab程序

电力系统潮流计算matlab程序电力系统潮流计算是电力系统运行和规划中的重要环节,它用于计算电力系统中各节点的电压、功率和电流等参数。

随着电力系统规模的不断扩大和复杂性的增加,传统的手工计算方法已经无法满足需求,因此,利用计算机编程进行潮流计算成为了一种必要的选择。

Matlab是一种功能强大的科学计算软件,它提供了丰富的数学函数和工具箱,可以方便地进行电力系统潮流计算。

下面我将介绍一下如何使用Matlab编写电力系统潮流计算程序。

首先,我们需要建立电力系统的节点模型。

节点模型是电力系统中各节点的电压、功率和电流等参数的数学表示。

在Matlab中,我们可以使用矩阵来表示节点模型。

假设电力系统有n个节点,我们可以定义一个n×n的复数矩阵Y来表示节点之间的导纳关系,其中Y(i,j)表示节点i和节点j之间的导纳。

同时,我们还需要定义一个n×1的复数向量V来表示各节点的电压,其中V(i)表示节点i的电压。

接下来,我们需要编写潮流计算的主程序。

主程序的主要功能是根据节点模型和潮流计算算法,计算出各节点的电压、功率和电流等参数。

在Matlab中,我们可以使用循环语句和矩阵运算来实现潮流计算。

具体的计算过程可以参考电力系统潮流计算的算法。

在编写主程序之前,我们还需要定义一些输入参数,如电力系统的节点数、发电机节点和负荷节点等。

这些参数可以通过用户输入或者读取文件的方式获取。

同时,我们还需要定义一些输出参数,如各节点的电压、功率和电流等。

这些参数可以通过矩阵运算和循环语句计算得到,并输出到文件或者显示在屏幕上。

最后,我们需要进行程序的测试和调试。

可以通过输入一些测试数据,运行程序并检查输出结果是否正确。

如果发现程序有错误或者结果不准确,可以通过调试工具和打印调试信息的方式进行调试。

总之,利用Matlab编写电力系统潮流计算程序可以提高计算效率和准确性,为电力系统的运行和规划提供有力的支持。

当然,编写一个完整的潮流计算程序需要考虑很多细节和特殊情况,这需要有一定的电力系统和编程知识。

电力系统潮流计算牛顿拉夫迅法与PQ分解法通用MATLAB计算程序

电力系统潮流计算牛顿拉夫迅法与PQ分解法通用MATLAB计算程序

此程序经40余同学使用检验,无误。

这是一个电气狗熬两个礼拜图书馆的成果,根据华中科技大学《电力系统分析》中原理编写,可用牛顿-拉夫逊和PQ分解法计算给定标幺值条件的潮流。

本人水平有限,仅供参考,欢迎一起找Bug。

2018/07/06 说明:由于本人变压器建模与PSASP不同,本人使用模型如下图,参数输入时请按该模型计算。

2018/06/18 主程序更新:增加补偿电容参数主程序% file name:chaoliu_lj.m% auther: 山东科技大学罗江% function:使用牛顿-拉夫逊法、PQ分解法计算潮流% updata:2018/6/18 13:22 增加补偿电容参数%节点类型标号%PQ节点 1%PV节点 2%slack节点 3%能计算给定标幺值网络,有且仅有一个平衡节点的潮流%注意:母线标号顺序要求:PQ节点-PV节点-平衡节点%若某元件不存在,其导纳为0,阻抗为infclear %清除工作空间变量clc %清屏%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%数据输入(标幺值)SB=100; %基准容量,单位MVA%母线基准电压Bus=[115 10.5 115 115];%交流线参数:I侧母线J侧母线阻抗1/2接地导纳Line=[4 1 0.06125+0.09527i 0;4 3 0.08469+0.12703i 0;1 3 0.13989+0.15501i 0];%变压器参数:I侧母线J侧母线阻抗变比%变压器阻抗归算到I侧Trans=[2 3 0.0137+0.2881i 0.9504];%加接地电容器补偿: 母线导纳Cap=[2 0.5i];%发电机参数:母线节点类型P V/U θGen=[4 3 1 0];%负荷参数:母线节点类型P Q%按参考方向,发电机发出功率(正值),负荷消耗功率(负值)Load=[1 1 -0.18 -0.06;2 1 -0.32 -0.12];mode=1; %1-极坐标下牛拉法,2-PQ分解法Tmax=50; %最大迭代次数limit=1.0e-4; %要求精度%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%变压器π型等效阻抗参数Zt=zeros(size(Trans,1),3);Zt(:,1)=Trans(:,3)./Trans(:,4);Zt(:,2)=Trans(:,3)./(1-Trans(:,4));Zt(:,3)=Trans(:,3)./(Trans(:,4).^2-Trans(:,4));Trans_pi=[Trans(:,1:2) Zt(:,1) 1./Zt(:,2) 1./Zt(:,3)];n=numel(Bus); %总节点数m=n-1; %PQ节点数for i=1:size(Gen,1)%数组行数if Gen(i,2)==2 %除去PV节点就是PQ节点m=m-1;endendfor i=1:size(Load,1)if Load(i,2)==2m=m-1;endend%PQ节点包含浮游节点,其PQ=0%提取P,Q,U向量P=zeros(1,n); %P,Q为原始数据,Pi,Qi为计算结果Q=zeros(1,n);U=ones(1,n); %电压初始值由此确定cita=zeros(1,n); %此处未知节点皆设为1.0∠0 %注意:此处角度单位为度,提取后再转换成弧度,后面计算使用弧度for i=1:size(Gen,1)if Gen(i,2)==1 %PQ节点P(Gen(i,1))=Gen(i,3);Q(Gen(i,1))=Gen(i,4);endif Gen(i,2)==2 %PV节点P(Gen(i,1))=Gen(i,3);U(Gen(i,1))=Gen(i,4);endif Gen(i,2)==3 %slack节点U(Gen(i,1))=Gen(i,3);cita(Gen(i,1))=Gen(i,4);endendfor i=1:size(Load,1)if Load(i,2)==1 %PQ节点P(Load(i,1))=Load(i,3);Q(Load(i,1))=Load(i,4);endif Load(i,2)==2 %PV节点P(Load(i,1))=Load(i,3);U(Load(i,1))=Load(i,4);endif Load(i,2)==3 %slack节点U(Load(i,1))=Load(i,3);cita(Load(i,1))=Load(i,4);endenddisp('初始条件:')disp('各节点有功:')disp(P);disp('各节点无功:')disp(Q);disp('各节点电压幅值:')disp(U);cita=(deg2rad(cita)); %角度转换成弧度disp('各节点电压相角(度):')disp(rad2deg(cita)); %显示依然使用角度%节点导纳矩阵的计算Y=zeros(n); %新建节点导纳矩阵y=zeros(n); %网络中的真实导纳%计算y(i,j)for i=1:size(Line,1) %与交流线联结的真实导纳ii=Line(i,1); jj=Line(i,2);y(ii,jj)=1/Line(i,3);y(jj,ii)=y(ii,jj);endfor i=1:size(Trans_pi,1) %与变压器联结的真实导纳ii=Trans_pi(i,1); jj=Trans_pi(i,2);y(ii,jj)=1/Trans_pi(i,3);y(jj,ii)=y(ii,jj);end%计算y(i,i)for i=1:size(Line,1) %与交流线联结的对地导纳ii=Line(i,1); jj=Line(i,2);y(ii,ii)=y(ii,ii)+Line(i,4);y(jj,jj)=y(jj,jj)+Line(i,4);endfor i=1:size(Trans_pi,1) %与变压器联结的对地导纳ii=Trans_pi(i,1); jj=Trans_pi(i,2);y(ii,ii)=y(ii,ii)+Trans_pi(i,4);y(jj,jj)=y(jj,jj)+Trans_pi(i,5);end%算上补偿电容for i=1:size(Cap,1)ii=Cap(i,1);y(ii,ii)=y(ii,ii)+Cap(i,2);end%由y计算Yysum=sum(y,1); %每一行求和for i=1:nfor j=1:nif i==jY(i,j)=ysum(i);elseY(i,j)=-y(i,j);endendenddisp('节点导纳矩阵:');disp(Y);G=real(Y); %电导矩阵B=imag(Y); %电纳矩阵%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%以上为基础数据整理%接下来是牛拉法的大循环%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%计算功率不平衡量[dP,dQ,Pi,Qi]=Unbalanced( n,m,P,Q,U,G,B,cita );disp('有功不平衡量:');disp(dP);disp('无功不平衡量:');disp(dQ);for i=1:Tmaxfprintf('第%d次迭代\n',i);%雅可比矩阵的计算if(mode==1)J=Jacobi( n,m,U,cita,B,G,Pi,Qi );disp('雅可比矩阵');disp(J);end%求解节点电压修正量if(mode==1)[dU,dcita]=Correct( n,m,U,dP,dQ,J );else[dU,dcita]=PQ_LJ( n,m,dP,dQ,U,B );enddisp('电压、相角修正量:');disp(dU);disp(rad2deg(dcita));%修正节点电压U=U+dU;cita=cita+dcita;disp('节点电压幅值:');disp(U);disp('节点电压相角:');disp(rad2deg(cita));%计算功率不平衡量[dP,dQ,Pi,Qi]=Unbalanced( n,m,P,Q,U,G,B,cita );disp('有功不平衡量:');disp(dP);disp('无功不平衡量:');disp(dQ);if (max(abs(dP))<limit && max(abs(dQ))<limit )break;end%ifend%for%迭代结束,判断收敛if (max(abs(dP))<limit && max(abs(dQ))<limit )disp('计算收敛');elsedisp('计算不收敛或未达到要求精度');end%打印功率fprintf('迭代总次数:%d\n', i);disp('节点电压幅值:');disp(U);disp('节点电压相角:');disp(rad2deg(cita));disp('有功计算结果:');disp(Pi);disp('无功计算结果:');disp(Qi);子程序一% filename:Unbalanced.m% author: 山东科技大学罗江% function: 计算功率不平衡量function [ dP,dQ,Pi,Qi ] = Unbalanced( n,m,P,Q,U,G,B,cita )%计算ΔPi有功的不平衡量for i=1:nfor j=1:nPn(j)=U(i)*U(j)*(G(i,j)*cos(cita(i)-cita(j))+B(i,j)*sin(cita(i)-cita(j)));endPi(i)=sum(Pn);enddP=P(1:n-1)-Pi(1:n-1); %dP有n-1个%计算ΔQi无功的不平衡量for i=1:nfor j=1:nQn(j)=U(i)*U(j)*(G(i,j)*sin(cita(i)-cita(j))-B(i,j)*cos(cita(i)-cita(j)));endQi(i)=sum(Qn);enddQ=Q(1:m)-Qi(1:m); %dQ有m个end%func子程序二% filename:Jacobi.m% author:山东科技大学罗江% function: 计算雅可比矩阵function [ J ] = Jacobi( n,m,U,cita,B,G,Pi,Qi )%雅可比矩阵的计算%分块H N K L%i!=j时for i=1:n-1for j=1:n-1H(i,j)=-U(i)*U(j)*(G(i,j)*sin(cita(i)-cita(j))-B(i,j)*cos(cita(i)-cita(j)));endendfor i=1:n-1for j=1:mN(i,j)=-U(i)*U(j)*(G(i,j)*cos(cita(i)-cita(j))+B(i,j)*sin(cita(i)-cita(j)));endendfor i=1:mfor j=1:n-1K(i,j)=U(i)*U(j)*(G(i,j)*cos(cita(i)-cita(j))+B(i,j)*sin(cita(i)-cita(j)));endendfor i=1:mfor j=1:mL(i,j)=-U(i)*U(j)*(G(i,j)*sin(cita(i)-cita(j))-B(i,j)*cos(cita(i)-cita(j)));endend%i==j时for i=1:n-1H(i,i)=U(i).^2*B(i,i)+Qi(i);endfor i=1:mN(i,i)=-U(i).^2*G(i,i)-Pi(i);endfor i=1:mK(i,i)=U(i).^2*G(i,i)-Pi(i);endfor i=1:mL(i,i)=U(i).^2*B(i,i)-Qi(i);end%合成雅可比矩阵J=[H N;K L];end子程序三% filename:Correct.m% author:山东科技大学罗江% function:修正节点电压function [ dU,dcita ] = Correct( n,m,U,dP,dQ,J )%求解节点电压修正量for i=1:mUd2(i,i)=U(i);enddPQ=[dP dQ]';dUcita=(-inv(J)*dPQ)';dcita=dUcita(1:n-1);dcita=[dcita 0];dU=(Ud2*dUcita(n:n+m-1)')';dU=[dU zeros(1,n-m)];end子程序四% filename:PQ_LJ.m% author:山东科技大学罗江% function:使用PQ分解法计算电压修正量function [ dU,dcita ] = PQ_LJ( n,m,dP,dQ,U,B )dP_U=dP./U(1:n-1);dQ_U=dQ./U(1:m);dUdcita=(-inv(B(1:n-1,1:n-1))*dP_U')';dcita=dUdcita./U(1:n-1);dU=(-inv(B(1:m,1:m))*dQ_U')';dU=[dU zeros(1,n-m)];dcita=[dcita 0];%补零end (使用时此括号删去。

基于MATLAB软件的P-Q分解法潮流计算

基于MATLAB软件的P-Q分解法潮流计算

基于MATLAB软件的P-Q分解法潮流计算摘要电力系统潮流计算是研究电力系统稳态运行情况的一种重要的分析计算,它根据给定的运行条件及系统接线情况确定整个电力系统各部分的运行状态:各母线的电压,各元件中流过的功率,系统的功率损耗。

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

所以,电力系统潮流计算是进行电力系统故障计算,继电保护整定,安全分析的必要工具。

随着电力系统网络的急剧扩大和不断复杂,运用手算进行潮流计算已经不现实。

但是,伴随着计算机技术的飞速发展,基于计算机的潮流计算也就应运而生了。

这样,通过潮流计算,实现对系统的分析成为可能。

本文结合潮流计算的三个基本要求,紧跟该领域的发展,介绍了基于MATLAB软件P-Q分解法潮流计算的程序,该程序用于粗略的计算中小型电力网络的潮流,实现对其的分析。

本文所设计的程序,在计算中,所用的算法通俗易懂并对以往的主流算法做了一些改进,提高了计算速度。

同时,该程序采用了GUI人机对话,将Excel表格、TXT文档与MATLAB程序紧密联系起来,使输入输出界面更加人性化。

关键词:电力系统潮流计算;P-Q分解法;MATLAB软件Power flow calculation of P-Q mode basedon MATLAB softwareAbstractPower flow calculation is one of the important calculations which are to study the operation of power system steady state analysis. It is based on the given operating conditions and system wiring to identify the various parts of the power system operating state: the buses voltage, the stream components power, system power loss. both power system planning design and operation of existing power system mode of study are need to use the power flow calculation to quantitatively compare the program or run mode power supply reasonable, reliability and economy. Therefore, the power flow calculation is an essential tool for a calculation of power system faults, protection setting, security analysis. with the rapid expansion of power system network and continuing to be more complex, using hand calculation for flow calculation has been unrealistic. But ,with the celerity development in computer technology, computer-based power flow calculation has also emerged. In this way, It is possible to analysis power system through the power flow calculation.Based on the three basic requirements of power flow calculation and followed by the development of the field, This paper introduces the PQ mode power flow calculation procedure based on MATLAB software .It is used for a rough calculation of the small and medium power network to achieve its analysis. The algorithm used in the procedure mentioned in this paper is more easy to understand and made some improvements to enhance the computing speed rather than the past. At the same time, the program uses the GUI man-machine dialogue. So Excel table, TXT documents is closely linked with the MATLAB program to make the input and output interfaces more humanity.Keywords:power flow calculation;P-Q decomposition mode;MATLAB software目录摘要 (I)Abstract...................................................... I I第1章绪论.................................... 错误!未定义书签。

电力系统分析潮流计算matlab

电力系统分析潮流计算matlab

目录:一、软件需求说明书......................................................... .. (3)二、概要设计说明书......................................................... .. (4)1、编写潮流计算程序......................................................... . (4)2、数据的输入测试......................................................... .. (4)3、运行得出结果......................................................... (4)4、进行实验结果验证......................................................... . (4)三、详细设计说明书......................................................... .. (5)1、数据导入模块......................................................... (5)2、节点导纳矩阵模块......................................................... . (5)3、编号判断模块......................................................... (5)4、收敛条件判定模块......................................................... .. (5)5、雅可比矩阵模块......................................................... (5)6、迭代计算模块......................................................... . (5)7、计算输出参数模块......................................................... .. (5)四、程序代码......................................................... .. (6)五、最测试例......................................................... (15)1、输入结果......................................................... (15)2、输出结果......................................................... (15)3、结果验证......................................................... (15)一、软件需求说明书本次设计利用MATLAB/C++/C(使用MATLAB)编程工具编写潮流计算,实现对节点电压和功率分布的求取。

Matlab实现潮流计算程序

Matlab实现潮流计算程序

程序代码如下:111111.%读入数据clcclearfilename='123.txt';a=textread(filename)n=a(1,1);pinghengjd=a(1,2);phjddianya=a(1,3);jingdu=a(1,4);b=zeros(1,9);j1=0;[m1,n1]=size(a);for i1=1:m1if a(i1,1)==0j1=j1+1;b(j1)=i1;endendb;%矩阵分块a1=a(b(1)+1:b(2)-b(1)+1,1:n1);a2=a(b(2)+1:b(3)-1,1:n1);a3=a(b(3)+1:b(4)-1,1:n1);a4=a(b(4)+1:b(5)-1,1:n1);a5=a(b(5)+1:b(6)-1,1:n1);%设置初值vcz=1;dcz=0;kmax=20;k1=0;%求节点导纳矩阵a11=zeros(4,6);for i0=1:3for j0=1:6a11(i0,j0)=a1(i0,j0);a11(4,j0)=a2(1,j0);endenda11;linei=a11(1:4,2);linej=a11(1:4,3);liner=a11(1:4,4);linex=a11(1:4,5);lineb=a11(1:4,6);branchi=0;branchj=0;branchb=0;G=zeros(4,4);B=zeros(4,4);for k=1:4i2=linei(k,1);j2=linej(k,1);r=liner(k,1);x=linex(k,1);b=0;GIJ=r/(r*r+x*x);BIJ=-x/(r*r+x*x);if k>=4 & lineb(k)~=0k0=lineb(k);G(i2,j2)=-GIJ/k0;G(j2,i2)=G(i2,j2);B(i2,j2)=-BIJ/k0;B(j2,i2)=B(i2,j2);G(i2,i2)=G(i2,i2)+GIJ/k0/k0; B(i2,i2)=B(i2,i2)+BIJ/k0/k0;elseG(j2,i2)=-GIJ;G(i2,j2)=G(j2,i2);B(j2,i2)=-BIJ;B(i2,j2)=B(j2,i2);G(i2,i2)=G(i2,i2)+GIJ;b=lineb(k);B(i2,i2)=B(i2,i2)+BIJ+b;endG(j2,j2)=G(j2,j2)+GIJ;B(j2,j2)=B(j2,j2)+BIJ+b;endG;B;B=B.*i;Yf=G+BY=abs(Yf);alf=angle(Yf);%赋Jacobian矩阵参数P=zeros(n,1);Q=zeros(n,1);Pd=zeros(1,n);Qd=zeros(1,n);dP=zeros(1,n);dQ=zeros(1,n);PG=a4(:,3);PD=a4(:,5);QG=a4(:,4);QD=a4(:,6);i8=a4(:,2);for j8=1:length(i8)P(i8(j8))=PG(i8(j8))-PD(i8(j8));Q(i8(j8))=QG(i8(j8))-QD(i8(j8));enddelt=zeros(n,1);V=ones(n,1);V(3)=1.10;V(4)=1.05;ddelt=zeros(n,1);dV=zeros(n,1);A=zeros(2*n,2*n);B=zeros(2*n,1);Jacobian=Jaco(V,delt,n,Y,alf)%求取矩阵功率for j5=1:kmaxdisp(['第' int2str(j5) '次计算结果'])if k>=kmaxbreakendfor i10=1:4Pd(i10)=0;Qd(i10)=0;for j10=1:nPd(i10)=Pd(i10)+V(i10)*Y(i10,j10)*V(j10)*cos(d elt(i10)-delt(j10)-alf(i10,j10));Qd(i10)=Qd(i10)+V(i10)*Y(i10,j10)*V(j10)*sin(d elt(i10)-delt(j10)-alf(i10,j10));endendfor i4=1:3dP(i4)=P(i4)-Pd(i4);endfor j4=1:2dQ(j4)=Q(j4)-Qd(j4);endA=Jaco(V,delt,n,Y,alf)for i14=1:nB(i14*2-1)=-dP(i14);B(i14*2)=-dQ(i14);endif max(abs(B))>jingduX=A\B;for i16=1:nddelt(i16)=X(2*i16-1);dV(i16)=X(2*i16)*V(i16);endV=V+dVdelt=delt+ddeltelsebreakenddisp('----------------')end%流氓算法% for ii=1:2% V(ii)=V(ii)+dV(ii);% end% V222222.function A=Jaco(V,delt,n,Y,alf)%计算Jacobian矩阵for i7=1:nHd1(i7)=0;Jd1(i7)=0;for j7=1:nHd1(i7)=Hd1(i7)+V(i7)*Y(i7,j7)*V(j7)*sin(delt(i7)-delt(j7)-alf(i7,j7));Jd1(i7)=Jd1(i7)+V(i7)*Y(i7,j7)*V(j7)*cos(delt(i7)-delt(j7)-alf(i7,j7));endendfor i6=1:nfor j6=1:nif i6~=j6H(i6,j6)=-V(i6)*Y(i6,j6)*V(j6)*sin(delt(i6)-delt(j6)-alf(i6,j6));N(i6,j6)=-V(i6)*Y(i6,j6)*V(j6)*cos(delt(i6)-delt(j6)-alf(i6,j6));J(i6,j6)=-N(i6,j6);L(i6,j6)=H(i6,j6);elseH(i6,i6)=Hd1(i6)-V(i6)*Y(i6,i6)*V(i6)*sin(delt(i6)-delt(j6)-alf(i6,j6));J(i6,j6)=-Jd1(i6)+V(i6)*Y(i6,j6)*V(j6)*cos(delt(i6)-delt(j6)-alf(i6,j6));N(i6,j6)=-Jd1(i6)-V(i6)*Y(i6,i6)*V(i6)*cos(alf(i6,i6));L(i6,i6)=-Hd1(i6)+V(i6)*Y(i6,i6)*V(i6)*sin(alf(i6,i6));endendend%修正Jacobian矩阵for j9=3for i9=1:nN(i9,j9)=0;L(i9,j9)=0;J(j9,i9)=0;L(j9,i9)=0;endendL(j9,j9)=1;for j9=4for i9=1:nH(i9,j9)=0;N(i9,j9)=0;J(i9,j9)=0;L(i9,j9)=0;H(j9,i9)=0;N(j9,i9)=0;J(j9,i9)=0;L(j9,i9)=0;endendH(j9,j9)=1;L(j9,j9)=1;%Jaco=[H N;J L];%Jaco=zeros(2*n,2*n);for i11=1:nfor j11=1:nJaco(2*i11-1,2*j11-1)=H(i11,j11); Jaco(2*i11-1,2*j11)=N(i11,j11); Jaco(2*i11,2*j11-1)=J(i11,j11);Jaco(2*i11,2*j11)=L(i11,j11);endendA=Jaco;33333.数据:4 4 1.05 0.000011 12 0.1 0.40 0.015282 1 4 0.12 0.50 0.019203 24 0.08 0.40 0.014131 1 3 0 0.3 0.909090911 1 0 0 0.30 0.182 2 0 0 0.55 0.133 3 0.5 0 0 01 3 1.10 0 0。

基于MATLAB的电力系统潮流计算_毕业设计论文

基于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电力系统潮流计算程序

matlab电力系统潮流计算程序

matlab电力系统潮流计算程序电力系统潮流计算是电力系统分析的关键步骤之一,用于确定电力系统各节点的电压和相角分布。

以下是一个简单的MATLAB电力系统潮流计算的基本步骤和代码示例:1.定义电力系统参数:-定义系统节点数量、支路数据、发电机数据、负荷数据等电力系统参数。

```matlab%电力系统参数busdata=[1,1.05,0,0,0,0,0,0;2,1.02,0,0,0,0,0,0;%...其他节点数据];linedata=[1,2,0.02,0.06,0.03;%...其他支路数据];gendata=[1,2,100,0,999,1.05,0.95;%...其他发电机数据];loaddata=[1,50,20;%...其他负荷数据];```2.构建潮流计算矩阵:-利用节点支路导纳、节点负荷和发电机功率等信息构建潮流计算的阻抗矩阵。

```matlabYbus=buildYbus(busdata,linedata);```3.迭代求解潮流方程:-利用迭代算法(如牛顿-拉夫森法)求解潮流方程,更新节点电压和相角。

```matlab[V,delta]=powerflow(Ybus,gendata,loaddata,busdata);```4.结果分析和可视化:-分析计算结果,可视化电压和相角分布。

```matlabplotVoltageProfile(busdata,V,delta);```这只是一个简单的潮流计算示例。

具体的程序实现可能涉及更复杂的算法和工程细节,取决于电力系统的复杂性和精确性要求。

您可能需要根据实际情况和数据格式进行调整和改进。

在实际工程中,也可以考虑使用专业的电力系统仿真软件。

电力系统潮流计算的MATLAB辅助程序设计,潮流计算程序(精编文档).doc

电力系统潮流计算的MATLAB辅助程序设计,潮流计算程序(精编文档).doc

【最新整理,下载后即可编辑】电力系统潮流计算的MATLAB辅助程序设计潮流计算,通常指负荷潮流,是电力系统分析和设计的主要组成部分,对系统规划、安全运行、经济调度和电力公司的功率交换非常重要。

此外,潮流计算还是其它电力系统分析的基础,比如暂态稳定,突发事件处理等。

现代电力系统潮流计算的方法主要:高斯法、牛顿法、快速解耦法和MATLAB的M语言编写的MATPOWER4.1,这里主要介绍高斯法、牛顿法和快速解耦法。

高斯法的程序是lfgauss,其与lfybus、busout和lineflow程序联合使用求解潮流功率。

lfybus、busout和lineflow程序也可与牛顿法的lfnewton程序和快速解耦法的decouple程序联合使用。

(读者可以到MATPOWER主页下载MATPOWER4.1,然后将其解压到MATLAB目录下,即可使用该软件进行潮流计算)一、高斯-赛德尔法潮流计算使用的程序:高斯-赛德法的具体使用方法读者可参考后面的实例,这里仅介绍各程序的编写格式:lfgauss:该程序是用高斯法对实际电力系统进行潮流计算,需要用到busdata和linedata两个文件。

程序设计为输入负荷和发电机的有功MW和无功Mvar,以及节点电压标幺值和相角的角度值。

根据所选复功率为基准值将负荷和发电机的功率转换为标幺值。

对于PV节点,如发电机节点,要提供一个无功功率限定值。

当给定电压过高或过低时,无功功率可能超出功率限定值。

在几次迭代之后(高斯-塞德尔迭代为10次),需要检查一次发电机节点的无功出力,如果接近限定值,电压幅值进行上下5%的调整,使得无功保持在限定值内。

lfybus:这个程序需要输入线路参数、变压器参数以及变压器分接头参数。

并将这些参数放在名为linedata的文件中。

这个程序将阻抗转换为导纳,并得到节点导纳矩阵。

busout:该程序以表格形式输出结果,节点输出包括电压幅值和相角,发电机和负荷的有功和无功功率,以及并联电容器或电抗器的有功和无功功率。

基于MATLAB的PQ分解法电力系统潮流计算毕业设计

基于MATLAB的PQ分解法电力系统潮流计算毕业设计

基于MATLAB的PQ分解法电力系统潮流计算毕业设计电力系统潮流计算是电力系统运行和规划的基础工作之一,它可以用于估计和预测电力系统中各节点的电压、功率、电流等参数,有助于确保电力系统的稳定运行。

PQ分解法是一种经典的潮流计算方法之一,主要用于解决电力系统中节点电压和功率的计算问题。

PQ分解法是基于节点改进法的一种数学模型求解方法,其核心思想是将电力系统中的节点分为P节点和Q节点两种不同类型的节点。

P节点是已知节点,其电压和功率都是已知的。

Q节点是未知节点,其电压和功率需要通过潮流计算来求解。

PQ分解法的基本求解步骤如下:1.建立节点电压方程和功率方程。

根据电力系统的节点连接关系和支路参数,可以建立节点电压方程和功率方程。

节点电压方程是基于节点电压相位角的相量形式表示,而功率方程是基于功率平衡原则的。

节点电压方程和功率方程构成了潮流计算的数学模型。

2.将节点电压方程和功率方程进行线性化处理。

将非线性的节点电压方程和功率方程进行线性化,可以得到一个包含未知节点电压和功率的线性方程组。

3.制定潮流计算的算法。

根据线性方程组,制定潮流计算的算法,以求解未知节点电压和功率的值。

PQ分解法通常采用迭代的方式进行求解,通过多次迭代来逐步逼近最终的解。

4.进行潮流计算并输出结果。

根据潮流计算的算法,进行多次迭代计算,获得节点电压和功率的最终解。

将潮流计算结果输出,可以得到电力系统中各节点的电压、功率等参数。

PQ分解法的优点是计算速度快,计算精度较高。

它适用于小型和中型电力系统,解决电力系统潮流计算问题的能力较强。

但是,PQ分解法对于大型复杂电力系统的求解效率比较低。

在MATLAB中,可以利用其强大的数学计算和仿真功能,实现对电力系统的潮流计算。

可以使用MATLAB提供的矩阵运算功能,编写程序实现PQ分解法的数学模型和求解算法。

通过调用相关的函数,将节点电压方程和功率方程转化为线性方程组,并通过迭代计算,得到电力系统潮流计算的结果。

matlab电力系统潮流计算

matlab电力系统潮流计算

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

电力网潮流计算的MATLAB总程序(课程组自编)

电力网潮流计算的MATLAB总程序(课程组自编)

电力网潮流计算的MATLAB总程序cleardisp('此程序适用可带有双绕组变压器的任意节点数目的通用网络的潮流计算')n=input('请输入节点数目n; n=');m=input('请输入PQ节点数目m; m=');disp('请将节点按如下规则排序,n个节点中前m个节点为PQ节点,第m+1至n-1个节点为PV节点,第n个节点为平衡节点.')t1=menu('请选择系统的给定参数形式:有名值选1,标幺值选2;','1','2')switch t1case 1disp('给定参数为有名值')t2=menu('选择所求系统是否含有变压器;是选1,否选2.','1','2')switch t2case 1disp('系统含有变压器')SB=input('请输入基准功率(MVA);SB=');disp('请输入系统共有几段电压等级Nv,单位:千伏.')Nv=input('Nv=');disp('为了输入快捷,在以下程序中要求输入"数组"或"矩阵"时请按如下方法输入')disp('输入的数据必须方在方括号内,一行中有多个元素时用空格或逗号隔开,行与行之间用分号或回车隔开.')disp('请为段排序后按序输入各段额定电压VN,单位:千伏;数组形式,如[220,110,10]') VN=input('VN=');[a,c1]=size(VN);while a~=1|c1~=Nvdisp('请为段排序后正确输入各段额定电压VN,单位:千伏;数组形式,如[220,110,10]') VN=input('VN=');[a,c1]=size(VN);enddisp('请按序对应输入各段电压的基准电压VB,数组形式,单位:千伏;如[230,115,10.5]') VB=input('VB=');[a,c2]=size(VB);while a~=1| c2~=Nvdisp('请正确输入基准电压VB,数组形式,单位:千伏;如[230,115,10.5]')VB=input('VB=');[a,c2]=size(VB);endb=1;for a=1:Nvdisp('请输入运行在第'),disp(a),disp('段中的节点号.数组形式,如:[2,3,5]') Nvn=input('请输入:'); %运行在第I,II,III,...段的节点编号[c1,c2]=size(Nvn);for b=1:c2NVN(a,b)=Nvn(b);endendNVNYT=zeros(n);for a=1:ndisp('请输入与节点'),disp(a),disp('有支路直接相连且编号大于'),disp(a)disp('的节点号,其形式如(冒号之内)"[3 5 6]"或"[3,5,6]",若无则输入0')F=input('请输入:');while (min(F)<=a|max(F)>n)&F~=0disp('请正确输入')disp('请输入与节点'),disp(a),disp('有支路直接相连且编号大于'),disp(a) disp('的节点号,数组形式如"[3 5 6]"或"[3,5,6]",若无则输入0')F=input('请输入:');endif F~=0[f1,f]=size(F); %求F中有几个元素for c=1:fb=F(c);[x1,x2]=find(a==NVN);[x3,x4]=find(b==NVN);if x1==x3disp('请输入节点'),disp(a),disp('与),disp(b),disp('之间的线路阻抗Zij单位:欧姆,电纳B,单位:S')disp('注:可以输入算式,如:(a+j*b)*c/d;复数虚部必须输入j*a,a 代表数值;电纳只输入数值即可')Zij(a,b)=input('Zij=');BB(a,b)=input('B=');while BB(a,b)^2<0disp('输入错误,此值不必输入虚数单位')BB(a,b)=input('B=');endZij(a,b)=Zij(a,b)*SB/VB(x1)^2; % 线路阻抗标幺值BB(a,b)=BB(a,b)*VB(x1)^2/SB; % 对地导纳标幺值Y(a,b)=-1/Zij(a,b);Y(b,a)=Y(a,b); %互导纳y0(a,b)=j*BB(a,b)/2; %对地导纳矩阵元素(虚数)elsedisp('节点'),disp(a),disp('与'),disp(b),disp('不在同一段电压等级,通过变压器相连;请输入它们之间的变压器参数')ST=input('额定容量,单位:兆伏安;S=');Vs100=input('短路电压百分数Vs%=');disp('请输入变压器两侧额定电压VTN;单位:千伏;数组形式,如:[10.5 121]')VTN=input('VTN=');while [1 2]~=size(VTN)disp('输入错误,请输入变压器两侧额定电压,单位:千伏;数组形式,如:[10.5 121]')VTN=input('VTN=');endif VN(x1)<VN(x3)if VTN(1)<VTN(2)ZT(a,b)=j*Vs100*VTN(2)^2*SB/(100*ST*VB(x3)^2); %变压器等效阻抗标幺值kT(b,a)=VTN(2)/VTN(1)/(VB(x3)/VB(x1)); %变压器变比标幺值elseZT(a,b)=j*Vs100*VTN(1)^2*SB/(100*ST*VB(x3)^2) ;%变压器等效阻抗标幺值kT(b,a)=VTN(1)/VTN(2)/(VB(x3)/VB(x1));%变压器变比标幺值 endkT(a,b)=kT(b,a)y0(b,a)=(1-kT(a,b))/ZT(a,b);y0(a,b)=kT(a,b)*(kT(a,b)-1)/ZT(a,b);elseif VTN(1)<VTN(2)ZT(a,b)=j*Vs100*VTN(2)^2*SB/(100*ST*VB(x1)^2);kT(a,b)=VTN(2)/VTN(1)/(VB(x1)/VB(x3));elseZT(a,b)=Vs100*VTN(1)^2*SB/(100*ST*VB(x1)^2);kT(a,b)=VTN(1)/VTN(2)/(VB(x1)/VB(x3));endy0(a,b)=(1-kT(a,b))/ZT(a,b);y0(b,a)=kT(a,b)*(kT(a,b)-1)/ZT(a,b);endY(a,b)=-kT(a,b)/ZT(a,b);Y(b,a)=Y(a,b);YT(a,b)=Y(a,b);YT(b,a)=YT(a,b);endendendY(a,a)=sum(y0(a,:))-sum(Y(a,:));endcase 2disp('系统不含变压器')SB=0;disp('为了输入快捷,在以下程序中要求输入"数组"或"矩阵"时请按如下方法输入')disp('输入的数据必须方在方括号内,一行中有多个元素时用空格或逗号隔开,行与行之间用分号或回车隔开.') ;for a=1:ndisp('请输入与节点'),disp(a),disp('有支路直接相连且编号大于'),disp(a)disp('的节点号,数组形式如"[3 5 6]"或"[3,5,6]",若无则输入0')F=input('请输入:');while (min(F)<=a|max(F)>n)&F~=0disp('请正确输入')disp('请输入与节点'),disp(a),disp('有支路直接相连且编号大于'),disp(a) disp('的节点号,数组形式如"[3 5 6]"或"[3,5,6]",若无则输入0')F=input('请输入:');endif F~=0[f1,f]=size(F); %求F中有几个元素for c=1:fb=F(c);disp('请输入节点'),disp(a),disp('与'),disp(b),disp('之间的线路阻抗Zij单位:欧姆,电纳B,单位:S')disp('注:可以输入算式,如:(r+j*x)*l;复数虚部必须输入j*a,a 代表数值;电纳只输入数值即可')Zij(a,b)=input('Zij=');BB(a,b)=input('B=');while BB(a,b)^2<0disp('输入错误,此值不必输入虚数单位')BB(a,b)=input('B=');endY(a,b)=-1/Zij(a,b);Y(b,a)=Y(a,b);y0(a,b)=j*BB(a,b)/2;endY(a,a)=sum(y0(a,:))-sum(Y(a,:))endendendcase 2disp('给定参数为标幺值')SB=0;t3=menu('请选择所求系统是否含有变压器,是选1,否选2', '1', '2');switch t3case 1 %对含变支路的输入和处理disp('系统含有变压器')nT=input('请输入含有变压器支路数目nT;nT=');YT=zeros(n); %产生一个n*n的零矩阵for a=1:nTdisp('请输入第'),disp(a),disp('条含有变压器支路的节点编号,其形式如"[x y]"或"[x,y]"(元素间用空格或逗号隔开)')disp('x为低压侧节点,y为高压侧节点')Tij=input('Tij=');x1=Tij(1);x2=Tij(2);disp('请输入节点'),disp(x1),disp('与'),disp(x2),disp('之间的阻抗Z(虚部j*a,a 代表数值)及变压器变比k')Zij(x1,x2)=input('Z=');kT=input('k=');t4=menu('请选择变压器阻抗Z是折算到高压侧的值还是低压侧,高压侧选1,低压侧选2','1','2');switch t4case 1Y(x1,x2)=-kT/Zij(x1,x2); %%此为含变支路互导纳Y(x2,x1)=Y(x1,x2); %对称性y0(x1,x2)=kT*(kT-1)/Zij(x1,x2);y0(x2,x1)=(1-kT)/Zij(x1,x2);case 2Y(x1,x2)=-1/(kT*Zij(x1,x2)); %%此为含变支路互导纳Y(x2,x1)=Y(x1,x2); %对称性y0(x1,x2)=(kT-1)/kT*Zij(x1,x2);y0(x2,x1)=(1-kT)/(kT^2*Zij(x1,x2));endendcase 2 %不含变disp('系统不含有变压器')YT=zeros(n); %产生一个n*n的零矩阵endfor a=1:n %导纳矩阵计算主程序disp('请输入与节点'),disp(a),disp('有支路直接相连且编号大于'),disp(a)disp('的节点号,其形式如(冒号之内)"[3 5 6]"或"[3,5,6]",(变压器支路不必再输);若无则输入0')F=input('请输入:');while (min(F)<=a|max(F)>n)&F~=0disp('请正确输入')disp('请输入与节点'),disp(a),disp('有支路直接相连且编号大于'),disp(a)disp('的节点号,其形式如(冒号之内)"[3 5 6]"或"[3,5,6]",(变压器支路不必再输);若无则输入0')F=input('请输入:');endif F~=0[f1,f]=size(F); %求F中有几个元素for c=1:fb=F(c);disp('请输入节点'),disp(a),disp('与'),disp(b),,disp('之间的线路阻抗Zij,线路对地支路导纳y0(虚部j*a,a 代表数值)')Zij(a,b)=input('Zij=');y0(a,b)=input('y0=');while y0(a,b)^2>0disp('输入错误,请重新输入;虚数须加虚数单位"j*"')y0(a,b)=input('y0=');endy0(b,a)=y0(a,b);Y(a,b)=-1/Zij(a,b); Y(b,a)=Y(a,b); %互导纳endendY(a,a)=sum(y0(a,:))-sum(Y(a,:));endendYG=real(Y);B=imag(Y);disp('以数组形式(形如"[50 1.5 75]")按节点顺序输入各节点注入的有功功率,无功功率和节点电压') disp('请按节点顺序输入PQ,PV节点的有功功率,可以输入算式形如[3+2,5+8]')Ps=input('Pis=');[x1,x2]=size(Ps);while x1~=1 | x2~=n-1disp('输入错误!请按节点顺序输入PQ,PV节点的有功功率,也可以输入算式形如[3+2,5+8]')Ps=input('Pis=');[x1,x2]=size(Ps);enddisp('请按节点顺序输入PQ节点的无功功率,也可以输入算式形如[3+2,5+8]')Qs=input('Qis=');[x1,x2]=size(Qs);while x1~=1 | x2~=mdisp('输入错误!请按节点顺序输入PQ节点的无功功率,也可以输入算式形如[3+2,5+8]')Qs=input('Qis=');[x1,x2]=size(Qs);enddisp('请按节点顺序输入PV节点及平衡节点电压幅值(从第m+1节点开始)')V=input('V=');[x1,x2]=size(V);while x1~=1 | x2~=n-mdisp('输入错误!请按节点顺序输入PV节点及平衡节点电压幅值')V=input('V=');[x1,x2]=size(V);enddisp('请输入平衡节点电压相角')r=input('r=');[x1,x2]=size(r);while x1~=1 | x2~=1disp('输入错误!请输入平衡节点电压相角')r=input('r=');[x1,x2]=size(r);endt10=menu('是否考虑PV节点无功越界?,是选1,否选2','1','2');switch t10case 1Qv=input('请按节点顺序输入PV节点可提供的最大无功功率,Qmax=');case 2Qv=inf;endswitch t1case 1switch t2case 1Ps=Ps/SB;Qs=Qs/SB;Vsd=ones(1,m);V=[Vsd,V];rsd=zeros(1,n-1);r=[rsd,r];for a=m+1:n-1[x1,x2]=find(a==NVN);V(a)=V(a)/VB(x1);endQv=Qv/SB;case 2[c1,c2]=size(V);Vsd=V(c2)*ones(1,m);V=[Vsd,V];rsd=zeros(1,n-1);r=[rsd,r];endcase 2Vsd=ones(1,m);V=[Vsd,V]rsd=zeros(1,n-1);r=[rsd,r]endk=0;jdgd=input('输入要求精度;jd=');jd=inf;while jd>jdgdfor a=1:n-1for b=1:nPn(b)=V(a)*V(b)*(G(a,b)*cos(r(a)-r(b))+B(a,b)*sin(r(a)-r(b)));Qn(b)=V(a)*V(b)*(G(a,b)*sin(r(a)-r(b))-B(a,b)*cos(r(a)-r(b)));endPi(a)=sum(Pn(:)); %PiQH(a)=sum(Qn(:));if a<=mQi(a)=sum(Qn(:)); %求QiendendDPi=Ps-Pi;DQi=Qs-Qi; %求得DPifor a=1:n-1for b=1:n-1if a~=bH(a,b)=-V(a)*V(b)*(G(a,b)*sin(r(a)-r(b))-B(a,b)*cos(r(a)-r(b)));if b<=mN(a,b)=-V(a)*V(b)*(G(a,b)*cos(r(a)-r(b))+B(a,b)*sin(r(a)-r(b)));endif a<=mK(a,b)=V(a)*V(b)*(G(a,b)*cos(r(a)-r(b))+B(a,b)*sin(r(a)-r(b)));if b<=mL(a,b)=-V(a)*V(b)*(G(a,b)*sin(r(a)-r(b))-B(a,b)*cos(r(a)-r(b)));endendelseH(a,a)=V(a)^2*B(a,a)+QH(a);if b<=mN(a,a)=-V(a)^2*G(a,a)-Pi(a);endif a<=mK(a,a)=V(a)^2*G(a,a)-Pi(a);if b<=mL(a,a)=V(a)^2*B(a,a)-QH(a);endendendendendfor a=1:n-1for b=1:n-1if a<=m & b<=mJJ(2*a-1,2*b-1)=H(a,b);JJ(2*a-1,2*b)=N(a,b);JJ(2*a,2*b-1)=K(a,b); JJ(2*a,2*b)=L(a,b);endif a<=m & b>mJJ(2*a-1,m+b)=H(a,b);JJ(2*a,m+b)=K(a,b);endif a>m & b<=mJJ(m+a,2*b-1)=H(a,b);JJ(m+a,2*b)=N(a,b);endif a>m & b>mJJ(m+a,m+b)=H(a,b);endendendJJfor a=1:n-1if a<=mDPQ(2*a-1)=DPi(a);DPQ(2*a)=DQi(a);elseDPQ(a+m)=DPi(a);endendDPQDrV=-inv(JJ)*(DPQ');for a=1:n-1if a<=mDr(a)=DrV(2*a-1);DVV(a)=DrV(2*a);elseDr(a)=DrV(a+m);endendDrj=Dr/pi*180for a=1:mVd2(a,a)=V(a);endDV=Vd2*(DVV')for a=1:n-1r(a)=r(a)+Dr(a);if a<=mV(a)=V(a)+DV(a);endendjd=max(abs(DPQ))switch t10case 1for a=m+1:n-1if Qv(a-m)<QH(a)disp(a),disp('节点无功越限')pvwgyj=1;m=m+1;for b=1:nif Y(a,b)~=0Yc(a,b)=Y(a,b);Y(a,b)=Y(m,b);Y(m,b)=Yc(a,b);Y(b,a)=Y(a,b);Y(b,m)=Y(m,b);endendQ(a)=Q(m);Qs(m)=Qv(a);Ps(m)=P(a);P(a)=P(m)Vc(a)=V(a);V(a)=V(m);V(m)=Vc(a);rc(a)=r(a);r(a)=r(m);r(m)=rc(a) elsepvwgyj=0endendendk=k+1;k=k+1;enddisp('迭代次数')k=k-1format short edisp('节点功率不平衡量')DPiDQiformat shortdisp('各节点电压相角; 单位:度;')rd=r/pi*180for a=1:nfor b=1:nPn(b)=V(a)*V(b)*(G(a,b)*cos(r(a)-r(b))+B(a,b)*sin(r(a)-r(b)));Qn(b)=V(a)*V(b)*(G(a,b)*sin(r(a)-r(b))-B(a,b)*cos(r(a)-r(b)));endPN=sum(Pn(:)); %P(n)QN=sum(Qn(:)); %Q(n)endPi(n)=PN;QH(n)=QN;Sn=Pi+QH*j;for a=1:nU(a)=V(a)*(cos(r(a))+j*sin(r(a)));endfor a=1:nfor b=1:nS(a,b)=V(a)^2*conj(y0(a,b))+U(a)*(conj(U(a))-conj(U(b)))*conj(-Y(a,b));endendif SB==0disp('各节点电压幅值')Vdisp('各节点的注入功率')Sndisp('各支路的功率分布')Selsefor a=1:n[x1,x2]=find(a==NVN);V(a)=V(a)*VB(x1);enddisp('各节点电压幅值,单位:千伏')Vdisp('各节点的注入功率,单位:兆伏安')Sn=Sn/SBdisp('各支路的功率分布,单位:兆伏安')S=S/SBend。

MATLAB电力系统PQ潮流计算程序设计

MATLAB电力系统PQ潮流计算程序设计

MATLAB电力系统PQ潮流计算程序设计1 绪论1.1潮流计算1.1.1 潮流计算概述电力系统潮流计算是研究电力系统稳态运行情况的一种计算,它根据给定的运行条件及系统接线情况确定整个电力系统各部分的运行状态:各母线的电压,各元件中流过的功率,系统的功率损耗等等。

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

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

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

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

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

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

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

电力系统潮流计算问题在数学上是一组多元非线性方程式求解问题,其解法都离不开迭代。

因此,对潮流计算方法,首先要求它能可靠地收敛,并给出正确答案。

由于电力系统结构及参数的一些特点,并且随着电力系统不断扩大,潮流计算方程式的阶数也越来越高,对这样的方程式并不是任何数学方法都能保证给出正确答案的。

这种情况成为促使电力系统计算人员不断寻求新的更可靠方法的重要因素。

在用数字计算机解电力系统潮流问题的开始阶段,普遍采取以节点导纳矩阵为基础的逐次代入法。

这个方法的原理比较简单,要求的数字计算机内存量比较低,适应50年代电子计算机制造水平和当时电力系统理论水平。

但它的收敛性较差,当系统规模变大时,迭代次数急剧上升,在计算中往往出现迭代不收敛的情况。

这就迫使电力系统计算人员转向以阻抗矩阵为基础的逐次代入法。

matlab潮流计算课程设计

matlab潮流计算课程设计

matlab潮流计算课程设计一、教学目标本课程的目标是使学生掌握Matlab在电力系统潮流计算方面的应用。

通过本课程的学习,学生将能够:1.理解电力系统潮流计算的基本原理;2.熟练使用Matlab进行电力系统潮流计算;3.分析并解决电力系统潮流计算中的实际问题。

二、教学内容教学内容将按照以下大纲进行:1.电力系统潮流计算基本概念;2.Matlab在电力系统潮流计算中的应用;3.电力系统潮流计算案例分析。

具体到教材,我们将参考《电力系统潮流计算》一书,并结合Matlab软件进行实践操作。

三、教学方法本课程将采用讲授法、案例分析法和实验法相结合的教学方法。

通过讲授法,使学生掌握电力系统潮流计算的基本原理;通过案例分析法,让学生深入了解Matlab在电力系统潮流计算中的应用;通过实验法,提高学生的实际操作能力。

四、教学资源教学资源包括教材、参考书、多媒体资料和实验设备。

教材方面,我们将使用《电力系统潮流计算》作为主教材,并提供相关的参考书籍。

多媒体资料包括PPT、视频等,用于辅助教学。

实验设备包括计算机和Matlab软件,用于让学生进行实际操作。

五、教学评估本课程的评估方式包括平时表现、作业和考试三部分。

平时表现主要评估学生在课堂上的参与程度和表现;作业则通过学生提交的Matlab编程练习来评估其掌握程度;考试则全面考察学生对电力系统潮流计算原理和Matlab应用的理解。

评估方式将力求客观、公正,全面反映学生的学习成果。

六、教学安排本课程的教学安排将根据课程内容和学生的实际情况制定。

教学进度将确保在计划时间内完成所有教学任务,教学时间将合理安排在学生便于学习的时段,教学地点则选在设备齐全、环境适宜的教学场所。

七、差异化教学针对学生的不同学习风格、兴趣和能力水平,我们将设计差异化的教学活动和评估方式。

例如,对于编程能力较强的学生,可以提供更具挑战性的编程项目;对于理论基础需要加强的学生,则提供额外的辅导和资料。

电力系统分析潮流计算课程序设计及其MATLAB程序设计

电力系统分析潮流计算课程序设计及其MATLAB程序设计

电力系统分析潮流计算程序设计报告题目:13节点配电网潮流计算学院电气工程学院专业班级学生姓名学号班内序号指导教师房大中提交日期2015年05月04日目录一、程序设计目的 (2)二、程序设计要求 (4)三、13节点配网潮流计算 (5)3.1主要流程 ...................................................... 错误!未定义书签。

3.1.1第一步的前推公式如下(1-1)-(1-5):....... 错误!未定义书签。

3.1.2第二步的回代公式如下(1-6)—(1-9):..... 错误!未定义书签。

3.2配网前推后代潮流计算的原理 (9)3.3配网前推后代潮流计算迭代过程 (10)3.3计算原理 (11)四、计算框图流程 (12)五、确定前推回代支路次序................................... 错误!未定义书签。

六、前推回代计算输入文件 (13)主程序: (13)输入文件清单: (16)计算结果: (18)数据分析: (19)七、配电网潮流计算的要点 (19)八、自我总结 (20)九、参考文献 (21)附录一MATLAB的简介 (21)一、程序设计目的开式网络潮流计算:配电网的结构特点呈辐射状,在正常运行时是开环的;配电网的潮流计算采用的方法是前推回代法,本程序利用前推回代法的基本原理、收敛性。

(1)在电网规划阶段,通过潮流计算,合理规划电源容量及接入点,合理规划网架,选择无功补偿方案,满足规划水平年的大、小方式下潮流交换控制、调峰、调相、调压的要求。

(2)在编制年运行方式时,在预计负荷增长及新设备投运基础上,选择典型方式进行潮流计算,发现电网中薄弱环节,供调度员日常调度控制参考,并对规划、基建部门提出改进网架结构,加快基建进度的建议。

(3)正常检修及特殊运行方式下的潮流计算,用于日运行方式的编制,指导发电厂开机方式,有功、无功调整方案及负荷调整方案,满足线路、变压器热稳定要求。

基于MATLAB的电力系统潮流计算课程设计

基于MATLAB的电力系统潮流计算课程设计

基于MATLAB的电力系统潮流计算课程设计课程设计报告学生姓名:学号:学院: 电气工程学院班级:题目: 基于MATLAB的电力系统潮流计算指导教师:职称:职称:2014年 1 月 10 日目录:一、电力系统潮流计算概述 (5)二、潮流计算方法概述 (5)2.1节点分类 (5)2.2牛顿—拉夫逊法概要 (6)2.2.1牛顿—拉夫逊法迭代原理 (6)2.2.1 牛顿法的框图及求解过程 (7)三、课程设计任务 (9)3.1题目原始数据 (10)3.2课程设计要求 (11)四、初步分析 (11)4.1节点设置及分类 (11)4.2 参数计算 (11)4.3等值电路绘制 (13)五、潮流计算 (14)5.1 给定负荷下的潮流计算 (14)5.1.1 B1/B2矩阵的形成 (14)5.1.2 潮流调整及分析 (14)5.1.3 仿真比较 (16)5.2 变电所负荷变化时的潮流计算 (18)5.2.1 4个变电所负荷同时以2%的比例增大 (18)5.2.2 4个变电所负荷成比例2%下降 (20)5.2.3 1、4号负荷下降,2、3号负荷上升 (23)5.2.4 仿真比较 (25)5.3断线潮流计算 (27)5.5.1 断开1、3节点间的一条支路 (27)5.3.2 断开1、5支路的一条线 (29)5.3.3 断开1、7支路的一条线 (31)5.3.4 断开2、9支路的一条线 (33)5.3.5 断开7、9支路的一条线 (35)5.3.6 仿真比较 (37)六、潮流分析总结 (39)七、心得体会 (41)参考文献: (42)附录: (42)潮流计算课程设计摘要电力系统潮流计算是研究电力系统稳态运行情况的一种计算,它根据给定的运行条件及系统接线情况确定整个电力系统各部分的运行状态:各母线的电压。

各元件中流过的功率,系统的功率损耗等等。

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

电力系统潮流计算的MATLAB辅助程序设计-潮流计算程序

电力系统潮流计算的MATLAB辅助程序设计-潮流计算程序

电力系统潮流计算的MATLAB辅助程序设计潮流计算,通常指负荷潮流,是电力系统分析和设计的主要组成部分,对系统规划、安全运行、经济调度和电力公司的功率交换非常重要。

此外,潮流计算还是其它电力系统分析的基础,比如暂态稳定,突发事件处理等。

现代电力系统潮流计算的方法主要:高斯法、牛顿法、快速解耦法和MATLAB的M语言编写的MATPOWER4.1,这里主要介绍高斯法、牛顿法和快速解耦法.高斯法的程序是lfgauss,其与lfybus、busout和lineflow程序联合使用求解潮流功率。

lfybus、busout和lineflow程序也可与牛顿法的lfnewton程序和快速解耦法的decouple程序联合使用。

(读者可以到MATPOWER主页下载MATPOWER4.1,然后将其解压到MATLAB目录下,即可使用该软件进行潮流计算)一、高斯—赛德尔法潮流计算使用的程序:高斯—赛德法的具体使用方法读者可参考后面的实例,这里仅介绍各程序的编写格式:lfgauss:该程序是用高斯法对实际电力系统进行潮流计算,需要用到busdata和linedata两个文件。

程序设计为输入负荷和发电机的有功MW和无功Mvar,以及节点电压标幺值和相角的角度值。

根据所选复功率为基准值将负荷和发电机的功率转换为标幺值。

对于PV节点,如发电机节点,要提供一个无功功率限定值。

当给定电压过高或过低时,无功功率可能超出功率限定值。

在几次迭代之后(高斯—塞德尔迭代为10次),需要检查一次发电机节点的无功出力,如果接近限定值,电压幅值进行上下5%的调整,使得无功保持在限定值内。

lfybus:这个程序需要输入线路参数、变压器参数以及变压器分接头参数。

并将这些参数放在名为linedata的文件中。

这个程序将阻抗转换为导纳,并得到节点导纳矩阵.busout:该程序以表格形式输出结果,节点输出包括电压幅值和相角,发电机和负荷的有功和无功功率,以及并联电容器或电抗器的有功和无功功率。

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

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

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

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

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

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

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

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

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

电力系统潮流计算问题在数学上是一组多元非线性方程式求解问题,其解法都离不开迭代。

因此,对潮流计算方法,首先要求它能可靠地收敛,并给出正确答案。

由于电力系统结构及参数的一些特点,并且随着电力系统不断扩大,潮流计算方程式的阶数也越来越高,对这样的方程式并不是任何数学方法都能保证给出正确答案的。

这种情况成为促使电力系统计算人员不断寻求新的更可靠方法的重要因素。

在用数字计算机解电力系统潮流问题的开始阶段,普遍采取以节点导纳矩阵为基础的逐次代入法。

这个方法的原理比较简单,要求的数字计算机内存量比较低,适应50年代电子计算机制造水平和当时电力系统理论水平。

但它的收敛性较差,当系统规模变大时,迭代次数急剧上升,在计算中往往出现迭代不收敛的情况。

这就迫使电力系统计算人员转向以阻抗矩阵为基础的逐次代入法。

60年代初,数字计算机已发展到第二代,计算机的内存和速度发生了很大的飞跃,从而为阻抗法的采用创造了条件。

阻抗法要求的数字计算机储存表征系统接线和参数的阻抗矩阵需要较大的内存量。

而且阻抗法每迭代一次都要求顺次取阻抗矩阵中的每一个元素进行运算,因此,每次迭代的运算量很大。

这两种情况是过去电子管数字计算机无法适应的。

阻抗法改善了系统潮流计算问题的收敛性,解决了导纳法无法求解的一些系统的潮流计算,在60年代获得了广泛的应用,曾为我国电力系统设计、运行和研究作出了很大的贡献。

目前,我国电力工业中仍有一些单位采用阻抗法计算潮流。

阻抗法的主要缺点是占用计算机内存大,每次迭代的计算量大。

当系统不断扩大时,这些缺点就更加突出。

一个内存16K的计算机在采用阻抗法时只能计算100个节点以下的系统,32K 内存的计算机也只能计算150个节点以下的系统。

这样,我国很多电力系统为了采用阻抗法计算潮流就不得不先对系统进行相当的简化工作。

为了克服阻抗法在内存和速度方面的缺点,60年代中期发展了以阻抗矩阵为基础的分块阻抗法。

这个方法把一个大系统分割为几个小的地区系统,在计算机内只需要存储各个地区系统的阻抗矩阵及它们之间联络线的阻抗,这样不仅大幅度地节省了内存容量,同时也提高了计算速度。

克服阻抗法缺点的另一途径是采用牛顿-拉夫逊法。

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

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

自从60年代中期,在牛顿-拉夫逊法中利用了最佳顺序消去法以后,牛顿法在收敛性、内存要求、速度方面都超过了阻抗法,成为60年代末期以后广泛采用的优秀方法。

与此同时,为了保证可靠的收敛,在我国还进行了网流法潮流计算的研究。

随着电力系统的日益扩大和复杂化,特别是电力系统逐步实现自动控制的需要,对系统潮流计算在速度、内存以及收敛性方面都提出了更高的要求。

70年代以来,潮流计算方法通过不同的途径继续向前发展,其中比较成功的一个方法就是P-Q分解法。

这个方法,根据电力系统的退热点,抓住主要矛盾,对纯数学的牛顿法进行了改进,从而在内存容量及计算速度方面都大大向前迈进内了一步。

使一个32K内存容量的数字计算机可以计算1000个节点系统的潮流问题,此法计算速度已能用于在线计算,作系统静态安全监视。

目前,我国很多电力系统都采用了P-Q分解法潮流程序。

潮流计算灵活性和方便性的要求,对数字计算机的应用也是一个很关键的问题。

过去在很长时间内,电力系统潮流计算是借助于交流台进行的。

交流台模拟了电力系统,因此在交流计算台上计算潮流时,计算人员可以随时监视系统各部分运行状态是否满足要求,如发现某些部分运行不合理,则可以立即进行调整。

这样,计算的过程就相当于运算人员对系统进行操作、调整的过程,非常直观,物理概念也很清楚。

当利用数字计算机进行潮流计算时,就失去了这种直观性。

为了弥补这个缺点,潮流程序的编制必须尽可能使计算人员在计算机计算的过程中加强对计算机过程的监视和控制,并便于作各种修改和调整。

电力系统潮流计算问题并不是单纯的计算问题,把它当作一个运行方式的调整问题可能更为确切。

为了得到一个合理的运行方式,往往需要不断根据计算结果,修改原始数据。

在这个意义上,我们在编制潮流计算程序时,对使用的方便性和灵活性必须予以足够的重视。

因此,除了要求计算方法尽可能适应各种修改、调整以外,还要注意输入和输出的方便性和灵活性,加强人机联系,以便使计算人员能及时监视计算过程并适当地控制计算的进行。

电力系统潮流计算是电力系统分析中的一种最基本的计算,是对复杂电力系统正常和故障条件下稳态运行状态的计算。

潮流计算的目标是求取电力系统在给定运行状态的计算。

即节点电压和功率分布,用以检查系统各元件是否过负荷、各点电压是否满足要求,功率的分布和分配是否合理以及功率损耗等。

对现有电力系统的运行和扩建,对新的电力系统进行规划设计以及对电力系统进行静态和暂态稳定分析都是以潮流计算为基础。

潮流计算结果可用如电力系统稳态研究,安全估计或最优潮流等对潮流计算的模型和方法有直接影响。

实际电力系统的潮流技术主要采用牛顿-拉夫逊法。

在运行方式管理中,潮流是确定电网运行方式的基本出发点;在规划领域,需要进行潮流分析验证规划方案的合理性;在实时运行环境,调度员潮流保证了在预想操作情况下电网的潮流分布以及校验运行可靠性。

在电力系统调度运行的多个领域都涉及到电网潮流计算。

潮流是确定电力网络运行状态的基本因素,潮流问题是研究电力系统稳态问题的基础和前提。

牛顿-拉夫逊法早在50年代末就已应用于求解电力系统潮流问题,但作为一种实用的,有竞争力的电力系统潮流计算方法,则是在应用了稀疏矩阵技巧和高斯消去法求修正方程后。

牛顿-拉夫逊法是求解非线性代数方程有效的迭代计算。

P-Q分解法进行电力系统分析的潮流计算程序的编制与调试,获得电力系统中各节点电压,为进一步进行电力系统分析作准备。

通过本文加深对电力系统潮流计算原理的理解和计算,初步学会运用计算机知识解决电力系统的问题,掌握潮流计算的过程及其特点。

熟悉各种常用应用软件,熟悉硬件设备的使用方法,加强编制调试计算机程序的能力,提高工程计算的能力,学习如何将理论知识和实际工程问题结合起来。

1.1.2 潮流计算的意义电力系统潮流计算是电力系统最基本的计算,也是最重要的计算。

所谓潮流计算,就是已知电网的接线方式与参数及运行条件,计算电力系统稳态运行各母线电压、各支路电流与功率及网损。

对于正在运行的电力系统,通过潮流计算可以判断电网母线电压、支路电流和功率是否越限,如果有越限,就应采取措施,调整运行方式。

对于正在规划的电力系统,通过潮流计算,可以为选择电网供电方案和电气设备提供依据。

潮流计算还可以为继电保护和自动装置定整计算、电力系统故障计算和稳定计算等提供原始数据。

在运行方式管理中,潮流是确定电网运行方式的基本出发点;在规划领域,需要进行潮流分析验证规划方案的合理性;在实时运行环境,调度员潮流提供了多个在预想操作情况下电网的潮流分布以校验运行可靠性。

在电力系统调度运行的多个领域都涉及到电网潮流计算。

潮流是确定电力网络运行状态的基本因素,潮流问题是研究电力系统稳态问题的基础和前提。

1.2 MATLAB1.2.1 MATLAB概述目前电子计算机已广泛应用于电力系统的分析计算,潮流计算是其基本应用软件之一。

现有很多潮流计算方法。

对潮流计算方法有五方面的要求:(1)计算速度快(2)内存需要少(3)计算结果有良好的可靠性和可信性(4)适应性好,亦即能处理变压器变比调整、系统元件的不同描述和与其它程序配合的能力强(5)简单。

MATLAB是一种交互式、面向对象的程序设计语言,广泛应用于工业界与学术界,主要用于矩阵运算,同时在数值分析、自动控制模拟、数字信号处理、动态分析、绘图等方面也具有强大的功能。

MATLAB程序设计语言结构完整,且具有优良的移植性,它的基本数据元素是不需要定义的数组。

它可以高效率地解决工业计算问题,特别是关于矩阵和矢量的计算。

MATLAB与C语言和FORTRAN语言相比更容易被掌握。

通过M语言,可以用类似数学公式的方式来编写算法,大大降低了程序所需的难度并节省了时间,从而可把主要的精力集中在算法的构思而不是编程上。

另外,MATLAB提供了一种特殊的工具:工具箱(TOOLBOXES).这些工具箱主要包括:信号处理(SIGNAL PROCESSING)、控制系统(CONTROL SYSTEMS)、神经网络(NEURAL NETWORKS)、模糊逻辑(FUZZY LOGIC)、小波(WAVELETS)和模拟(SIMULATION)等等。

不同领域、不同层次的用户通过相应工具的学习和应用,可以方便地进行计算、分析及设计工作。

MATLAB设计中,原始数据的填写格式是很关键的一个环节,它与程序使用的方便性和灵活性有着直接的关系。

原始数据输入格式的设计,主要应从使用的角度出发,原则是简单明了,便于修改。

1.2.2 MATLAB的优缺点MATLAB语言最大的特点是简单和直接,它主要有如下特点:编程效率高MATLAB是一种面向科学与工程计算的高级语言,允许使用数学形式的语言编写程序,且比BASIC、FORTRAN和C等语言更加接近我们书写计算公式的思维方式,用MATLAB编写程序犹如在演算纸上排列出公式与求解问题。

因此,MATLAB语言也可通俗地称为演算纸式科学算法语言。

由于它编写简单,所以编程效率高,易学易懂。

用户使用方便MATLAB语言是一种解释执行的语言(在没被专门的工具编译之前),它灵活、方便,其调试程序手段丰富,调试速度快,需要学习时间少。

相关文档
最新文档