当前位置:文档之家› 电力系统潮流计算的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:该程序以表格形式输出结果,节点输出包括电压幅值和相角,发电机和负荷的有功和无功功率,以及并联电容器或电抗器的有功和无功功率。

lineflow:该程序输出线路的相关数据,程序设计输出流入线

路终端的有功和无功的功率、线损以及节点功率,还包含整个系统的有功和无功损耗。

lfnewton是牛顿-拉夫逊法对实际电力系统潮流计算开发的程序,数据准备和程序格式和高斯-赛德尔法一样,包括程序lfybus,busout和lineflow。

decouple是快速解耦法对实际电力系统潮流计算开发的程序,同高斯法和牛顿法一样需要用到三个程序:lfybus、busout、lineflow。

二、数据准备

为了在MATLAB环境下用高斯法进行潮流计算,必须定义下列变量:基准功率,功率允许误差,加速因子和最大迭代次数。上述变量命名(小写字母)为:basemva、accuracy、accel和maxiter,一般规定为:basemva=100;accuracy=0.001;accel=1.6;maxiter=80;输入文件准备的第一步是给节点编号,节点号码必须是连续的,但节点数据输入不一定按顺序来编写。此外,还需要下列数据文件:

1.节点数据文件busdata:节点信息输入格式为单行输入,输入的数据形成一个矩阵,叫做busdata矩阵。第一列为节点号;第二列为节点类型;第三列和第四列分别为节点电压幅值(标幺值)和相角(单位为度);第五列和第六列分别为负荷的有功功率和无功功率;第七列到十列分别为发电机的有功功率、无功功率、最小无功出力和最大无功出力;最后一列为并联电容器注入无功功率。第二列的编码用0、1、2来区分PQ节点、平衡节点和PV节点:0表示PQ节点,输入正的有功功率(MW)和无功功率(Mvar),并且要设定节点电压初始估计值,一般幅值和相角分别设为1和0,若已经给定初始值,则用其给定值来代替1和0。

1表示平衡节点,且已知该节点的电压幅值和相角。

2表示PV节点,要设定该节点的节点电压幅值和发电机的有功功率(MW),并设定发电机的无功最小出力和最大出力(Mvar)。

2.线路数据文件linedata线路数据用节点对的方法来确定,数据包含在称为linedata的矩阵中。第一列和第二列为节点号码,第三列到第五列为线路电阻、电抗及该线路电纳值的一半,以标幺值表示。最后一列为变压器分接头设定值,对线路来说,需要输入1。线路输入为无输入顺序,对变压器来说,左侧的节点号设

为分接头端。

3.zdata是线路数据输入变量,包括四项,前两项是节点编号,后两项是线路电阻和电抗,均以标幺值表示,函数返回节点导纳矩阵。

三、潮流计算的MATLAB程序清单

1. lfgauss.m程序清单

% Power flow solution by Gauss-Seidel method

Vm=0; delta=0; yload=0; deltad =0;

nbus = length(busdata(:,1));

kb=[];Vm=[]; delta=[]; Pd=[]; Qd=[]; Pg=[]; Qg=[]; Qmin=[]; Qmax=[];

Pk=[]; P=[]; Qk=[]; Q=[]; S=[]; V=[];

for k=1:nbus

n=busdata(k,1);

kb(n)=busdata(k,2); Vm(n)=busdata(k,3); delta(n)=busdata(k, 4);

Pd(n)=busdata(k,5); Qd(n)=busdata(k,6); Pg(n)=busdata(k,7); Qg(n) = busdata(k,8);

Qmin(n)=busdata(k, 9); Qmax(n)=busdata(k, 10);

Qsh(n)=busdata(k, 11);

if Vm(n) <= 0 Vm(n) = 1.0; V(n) = 1 + j*0;

else delta(n) = pi/180*delta(n);

V(n) = Vm(n)*(cos(delta(n)) + j*sin(delta(n)));

P(n)=(Pg(n)-Pd(n))/basemva;

Q(n)=(Qg(n)-Qd(n)+ Qsh(n))/basemva;

S(n) = P(n) + j*Q(n);

end

DV(n)=0;

end

num = 0; AcurBus = 0; converge = 1;

Vc = zeros(nbus,1)+j*zeros(nbus,1); Sc =

zeros(nbus,1)+j*zeros(nbus,1);

while exist('accel')~=1

accel = 1.3;

end

while exist('accuracy')~=1

accuracy = 0.001;

end

while exist('basemva')~=1

basemva= 100;

end

while exist('maxiter')~=1

maxiter = 100;

end

mline=ones(nbr,1);

for k=1:nbr

for m=k+1:nbr

if((nl(k)==nl(m)) & (nr(k)==nr(m)));

mline(m)=2;

elseif ((nl(k)==nr(m)) & (nr(k)==nl(m)));

mline(m)=2;

else, end

end

end

iter=0;

maxerror=10;

while maxerror >= accuracy & iter <= maxiter

iter=iter+1;

for n = 1:nbus;

YV = 0+j*0;

for L = 1:nbr;

if (nl(L) == n & mline(L) == 1), k=nr(L);

YV = YV + Ybus(n,k)*V(k);

elseif (nr(L) == n & mline(L)==1), k=nl(L);

YV = YV + Ybus(n,k)*V(k);

end

end

Sc = conj(V(n))*(Ybus(n,n)*V(n) + YV) ;

Sc = conj(Sc);

DP(n) = P(n) - real(Sc);

DQ(n) = Q(n) - imag(Sc);

if kb(n) == 1

S(n) =Sc; P(n) = real(Sc); Q(n) = imag(Sc); DP(n) =0; DQ(n)=0;

Vc(n) = V(n);

elseif kb(n) == 2

Q(n) = imag(Sc); S(n) = P(n) + j*Q(n);

if Qmax(n) ~= 0

Qgc = Q(n)*basemva + Qd(n) - Qsh(n);

if abs(DQ(n)) <= .005 & iter >= 10

if DV(n) <= 0.045

if Qgc < Qmin(n),

Vm(n) = Vm(n) + 0.005;

DV(n) = DV(n)+.005;

elseif Qgc > Qmax(n),

Vm(n) = Vm(n) - 0.005;

DV(n)=DV(n)+.005; end

else, end

else,end

else,end

end

if kb(n) ~= 1

Vc(n) = (conj(S(n))/conj(V(n)) - YV )/ Ybus(n,n);

else, end

if kb(n) == 0

V(n) = V(n) + accel*(Vc(n)-V(n));

elseif kb(n) == 2

VcI = imag(Vc(n));

VcR = sqrt(Vm(n)^2 - VcI^2);

Vc(n) = VcR + j*VcI;

V(n) = V(n) + accel*(Vc(n) -V(n));

end

end

maxerror=max( max(abs(real(DP))), max(abs(imag(DQ))) );

if iter == maxiter & maxerror > accuracy

fprintf('\nWARNING: Iterative solution did not converged after ') fprintf('%g', iter), fprintf(' iterations.\n\n')

fprintf('Press Enter to terminate the iterations and print the results \n')

converge = 0; pause, else, end

end

if converge ~= 1

tech= (' ITERATIVE SOLUTION DID NOT CONVERGE'); else,

tech=(' Power Flow Solution by

Gauss-Seidel Method');

end

k=0;

for n = 1:nbus

Vm(n) = abs(V(n)); deltad(n) = angle(V(n))*180/pi;

if kb(n) == 1

S(n)=P(n)+j*Q(n);

Pg(n) = P(n)*basemva + Pd(n);

Qg(n) = Q(n)*basemva + Qd(n) - Qsh(n);

k=k+1;

Pgg(k)=Pg(n);

elseif kb(n) ==2

k=k+1;

Pgg(k)=Pg(n);

S(n)=P(n)+j*Q(n);

Qg(n) = Q(n)*basemva + Qd(n) - Qsh(n);

end

yload(n) = (Pd(n)- j*Qd(n)+j*Qsh(n))/(basemva*Vm(n)^2);

end

Pgt = sum(Pg); Qgt = sum(Qg); Pdt = sum(Pd); Qdt = sum(Qd); Qsht = sum(Qsh);

busdata(:,3)=Vm'; busdata(:,4)=deltad';

clear AcurBus DP DQ DV L Sc Vc VcI VcR YV converge delta

2.lfybus.m程序清单

% This program obtains the Bus Admittance Matrix for power flow solution

j=sqrt(-1); i = sqrt(-1);

nl = linedata(:,1); nr = linedata(:,2); R = linedata(:,3);

X = linedata(:,4); Bc = j*linedata(:,5); a = linedata(:, 6);

nbr=length(linedata(:,1)); nbus = max(max(nl), max(nr));

Z = R + j*X; y= ones(nbr,1)./Z; %支路导纳

for n = 1:nbr

if a(n) <= 0 a(n) = 1; else end

Ybus=zeros(nbus,nbus); % 将Ybus初始化为0

%非对角元素的数值

Ybus(nl(k),nr(k))=Ybus(nl(k),nr(k))-y(k)/a(k);

Ybus(nr(k),nl(k))=Ybus(nl(k),nr(k));

end

end

% 对角元素的数值

for n=1:nbus

for k=1:nbr

if nl(k)==n

Ybus(n,n) = Ybus(n,n)+y(k)/(a(k)^2) + Bc(k);

elseif nr(k)==n

Ybus(n,n) = Ybus(n,n)+y(k) +Bc(k);

else, end

end

end

clear Pgg

3. busout.m程序清单

% This program prints the power flow solution in a tabulated form % on the screen.

disp(tech)

fprintf(' Maximum Power Mismatch = %g \n', maxerror)

fprintf(' No. of Iterations = %g \n\n', iter)

head =[' Bus Voltage Angle ------Load------

---Generation--- Injected'

' No. Mag. Degree MW Mvar

MW Mvar Mvar '

'

'];

disp(head)

for n=1:nbus

fprintf(' %5g', n), fprintf(' %7.3f', Vm(n)),

fprintf(' %8.3f', deltad(n)), fprintf(' %9.3f', Pd(n)),

fprintf(' %9.3f', Qd(n)), fprintf(' %9.3f', Pg(n)),

fprintf(' %9.3f ', Qg(n)), fprintf(' %8.3f\n', Qsh(n))

end

fprintf(' \n'), fprintf(' Total ')

fprintf(' %9.3f', Pdt), fprintf(' %9.3f', Qdt),

fprintf(' %9.3f', Pgt), fprintf(' %9.3f', Qgt), fprintf(' %9.3f\n\n', Qsht)

4.lineflow.m程序清单

% This program is used in conjunction with lfgauss or lfNewton % for the computation of line flow and line losses.

SLT = 0;

fprintf('\n')

fprintf(' Line Flow and Losses

\n\n')

fprintf(' --Line-- Power at bus & line flow --Line loss-- Transformer\n')

fprintf('from to MW Mvar MVA MW Mvar tap\n')

for n = 1:nbus

busprt = 0;

for L = 1:nbr;

if busprt == 0

fprintf(' \n'), fprintf('%6g', n), fprintf(' %9.3f', P(n)*basemva)

fprintf('%9.3f', Q(n)*basemva), fprintf('%9.3f\n',

abs(S(n)*basemva))

busprt = 1;

else, end

if nl(L)==n k = nr(L);

In = (V(n) - a(L)*V(k))*y(L)/a(L)^2 + Bc(L)/a(L)^2*V(n);

Ik = (V(k) - V(n)/a(L))*y(L) + Bc(L)*V(k);

Snk = V(n)*conj(In)*basemva;

Skn = V(k)*conj(Ik)*basemva;

SL = Snk + Skn;

SLT = SLT + SL;

elseif nr(L)==n k = nl(L);

In = (V(n) - V(k)/a(L))*y(L) + Bc(L)*V(n);

Ik = (V(k) - a(L)*V(n))*y(L)/a(L)^2 + Bc(L)/a(L)^2*V(k);

Snk = V(n)*conj(In)*basemva;

Skn = V(k)*conj(Ik)*basemva;

SL = Snk + Skn;

SLT = SLT + SL;

else, end

if nl(L)==n | nr(L)==n

fprintf('%12g', k),

fprintf('%9.3f', real(Snk)), fprintf('%9.3f', imag(Snk))

fprintf('%9.3f', abs(Snk)),

fprintf('%9.3f', real(SL)),

if nl(L) ==n & a(L) ~= 1

fprintf('%9.3f', imag(SL)), fprintf('%9.3f\n', a(L))

else, fprintf('%9.3f\n', imag(SL))

end

else, end

end

end

SLT = SLT/2;

fprintf(' \n'), fprintf(' Total loss

')

fprintf('%9.3f', real(SLT)), fprintf('%9.3f\n', imag(SLT))

clear Ik In SL SLT Skn Snk

5.lfnewton.m程序清单

% Power flow solution by Newton-Raphson method

ns=0; ng=0; Vm=0; delta=0; yload=0; deltad=0;

nbus = length(busdata(:,1));

kb=[];Vm=[]; delta=[]; Pd=[]; Qd=[]; Pg=[]; Qg=[]; Qmin=[]; Qmax=[];

Pk=[]; P=[]; Qk=[]; Q=[]; S=[]; V=[];

for k=1:nbus

n=busdata(k,1);

kb(n)=busdata(k,2); Vm(n)=busdata(k,3); delta(n)=busdata(k, 4);

Pd(n)=busdata(k,5); Qd(n)=busdata(k,6); Pg(n)=busdata(k,7); Qg(n) = busdata(k,8);

Qmin(n)=busdata(k, 9); Qmax(n)=busdata(k, 10);

Qsh(n)=busdata(k, 11);

if Vm(n) <= 0 Vm(n) = 1.0; V(n) = 1 + j*0;

else delta(n) = pi/180*delta(n);

V(n) = Vm(n)*(cos(delta(n)) + j*sin(delta(n)));

P(n)=(Pg(n)-Pd(n))/basemva;

Q(n)=(Qg(n)-Qd(n)+ Qsh(n))/basemva;

S(n) = P(n) + j*Q(n);

end

end

for k=1:nbus

if kb(k) == 1, ns = ns+1; else, end

if kb(k) == 2 ng = ng+1; else, end

ngs(k) = ng;

nss(k) = ns;

end

Ym=abs(Ybus); t = angle(Ybus);

m=2*nbus-ng-2*ns;

maxerror = 1; converge=1;

iter = 0;

mline=ones(nbr,1);

for k=1:nbr

for m=k+1:nbr

if((nl(k)==nl(m)) & (nr(k)==nr(m)));

mline(m)=2;

elseif ((nl(k)==nr(m)) & (nr(k)==nl(m)));

mline(m)=2;

else, end

end

end

%雅可比矩阵

clear A DC J DX

while maxerror >= accuracy & iter <= maxiter

for ii=1:m

for k=1:m

A(ii,k)=0; %初始化雅可比矩阵

end, end

iter = iter+1;

for n=1:nbus

nn=n-nss(n);

lm=nbus+n-ngs(n)-nss(n)-ns;

J11=0; J22=0; J33=0; J44=0;

for ii=1:nbr

if mline(ii)==1

if nl(ii) == n | nr(ii) == n

if nl(ii) == n , l = nr(ii); end

if nr(ii) == n , l = nl(ii); end

J11=J11+ Vm(n)*Vm(l)*Ym(n,l)*sin(t(n,l)- delta(n) + delta(l));

J33=J33+ Vm(n)*Vm(l)*Ym(n,l)*cos(t(n,l)- delta(n) + delta(l));

if kb(n)~=1

J22=J22+ Vm(l)*Ym(n,l)*cos(t(n,l)- delta(n) + delta(l));

J44=J44+ Vm(l)*Ym(n,l)*sin(t(n,l)- delta(n) + delta(l));

else, end

if kb(n) ~= 1 & kb(l) ~=1

lk = nbus+l-ngs(l)-nss(l)-ns;

ll = l -nss(l);

% J1的非对角元素

A(nn, ll) =-Vm(n)*Vm(l)*Ym(n,l)*sin(t(n,l)- delta(n) + delta(l));

if kb(l) == 0 % J2的非对角元素

A(nn, lk) =Vm(n)*Ym(n,l)*cos(t(n,l)- delta(n) + delta(l));end

if kb(n) == 0 % J3的非对角元素

A(lm, ll) =-Vm(n)*Vm(l)*Ym(n,l)*cos(t(n,l)- delta(n)+delta(l)); end

if kb(n) == 0 & kb(l) == 0 % J4的非对角元素

A(lm, lk) =-Vm(n)*Ym(n,l)*sin(t(n,l)- delta(n) + delta(l));end

else end

else , end

else, end

end

Pk = Vm(n)^2*Ym(n,n)*cos(t(n,n))+J33;

Qk = -Vm(n)^2*Ym(n,n)*sin(t(n,n))-J11;

if kb(n) == 1 P(n)=Pk; Q(n) = Qk; end% Swing bus P

if kb(n) == 2 Q(n)=Qk;

if Qmax(n) ~= 0

Qgc = Q(n)*basemva + Qd(n) - Qsh(n);

if iter <= 7

if iter > 2

if Qgc < Qmin(n),

Vm(n) = Vm(n) + 0.01;

elseif Qgc > Qmax(n),

Vm(n) = Vm(n) - 0.01;end

else, end

else,end

else,end

end

if kb(n) ~= 1

A(nn,nn) = J11; % J1对角元素

DC(nn) = P(n)-Pk;

end

if kb(n) == 0

A(nn,lm) = 2*Vm(n)*Ym(n,n)*cos(t(n,n))+J22; % J2对角元素

A(lm,nn)= J33; % J3对角元素

A(lm,lm) =-2*Vm(n)*Ym(n,n)*sin(t(n,n))-J44; % J4对角元素

DC(lm) = Q(n)-Qk;

end

end

DX=A\DC';

for n=1:nbus

nn=n-nss(n);

lm=nbus+n-ngs(n)-nss(n)-ns;

if kb(n) ~= 1

delta(n) = delta(n)+DX(nn); end

if kb(n) == 0

Vm(n)=Vm(n)+DX(lm); end

end

maxerror=max(abs(DC));

if iter == maxiter & maxerror > accuracy

fprintf('\nWARNING: Iterative solution did not converged after ') fprintf('%g', iter), fprintf(' iterations.\n\n')

fprintf('Press Enter to terminate the iterations and print the results \n')

converge = 0; pause, else, end

end

if converge ~= 1

tech= (' ITERATIVE SOLUTION

DID NOT CONVERGE'); else,

tech=(' Power Flow Solution by Newton-Raphson Method');

end

V = Vm.*cos(delta)+j*Vm.*sin(delta);

deltad=180/pi*delta;

i=sqrt(-1);

k=0;

for n = 1:nbus

if kb(n) == 1

k=k+1;

S(n)= P(n)+j*Q(n);

Pg(n) = P(n)*basemva + Pd(n);

Qg(n) = Q(n)*basemva + Qd(n) - Qsh(n);

Pgg(k)=Pg(n);

Qgg(k)=Qg(n);

elseif kb(n) ==2

k=k+1;

S(n)=P(n)+j*Q(n);

Qg(n) = Q(n)*basemva + Qd(n) - Qsh(n);

Pgg(k)=Pg(n);

Qgg(k)=Qg(n);

end

yload(n) = (Pd(n)- j*Qd(n)+j*Qsh(n))/(basemva*Vm(n)^2);

end

busdata(:,3)=Vm'; busdata(:,4)=deltad';

Pgt = sum(Pg); Qgt = sum(Qg); Pdt = sum(Pd); Qdt = sum(Qd); Qsht = sum(Qsh);

6.decouple.m程序清单

% Fast Decoupled Power Flow Solution

ns=0; Vm=0; delta=0; yload=0; deltad=0;

nbus = length(busdata(:,1));

kb=[];Vm=[]; delta=[]; Pd=[]; Qd=[]; Pg=[]; Qg=[]; Qmin=[]; Qmax=[];

Pk=[]; P=[]; Qk=[]; Q=[]; S=[]; V=[];

for k=1:nbus

n=busdata(k,1);

kb(n)=busdata(k,2); Vm(n)=busdata(k,3); delta(n)=busdata(k, 4);

Pd(n)=busdata(k,5); Qd(n)=busdata(k,6); Pg(n)=busdata(k,7); Qg(n) = busdata(k,8);

Qmin(n)=busdata(k, 9); Qmax(n)=busdata(k, 10);

Qsh(n)=busdata(k, 11);

if Vm(n) <= 0 Vm(n) = 1.0; V(n) = 1 + j*0;

else delta(n) = pi/180*delta(n);

V(n) = Vm(n)*(cos(delta(n)) + j*sin(delta(n)));

P(n)=(Pg(n)-Pd(n))/basemva;

Q(n)=(Qg(n)-Qd(n)+ Qsh(n))/basemva;

S(n) = P(n) + j*Q(n);

end

if kb(n) == 1, ns = ns+1; else, end

nss(n) = ns;

end

Ym = abs(Ybus); t = angle(Ybus);

ii=0;

for ib=1:nbus

if kb(ib) == 0 | kb(ib) == 2

ii = ii+1;

jj=0;

for jb=1:nbus

if kb(jb) == 0 | kb(jb) == 2

jj = jj+1;

B1(ii,jj)=imag(Ybus(ib,jb));

else,end

end

else, end

end

ii=0;

for ib=1:nbus

if kb(ib) == 0

ii = ii+1;

jj=0;

for jb=1:nbus

if kb(jb) == 0

jj = jj+1;

B2(ii,jj)=imag(Ybus(ib,jb));

else,end

end

else, end

end

B1inv=inv(B1); B2inv = inv(B2);

maxerror = 1; converge = 1;

iter = 0;

mline=ones(nbr,1);

for k=1:nbr

for m=k+1:nbr

if((nl(k)==nl(m)) & (nr(k)==nr(m)));

mline(m)=2;

elseif ((nl(k)==nr(m)) & (nr(k)==nl(m)));

mline(m)=2;

else, end

end

end

% 开始迭代

while maxerror >= accuracy & iter <= maxiter % 检验不平衡功率iter = iter+1;

id=0; iv=0;

for n=1:nbus

nn=n-nss(n);

J11=0; J33=0;

for ii=1:nbr

if mline(ii)==1

if nl(ii) == n | nr(ii) == n

if nl(ii) == n, l = nr(ii); end

if nr(ii) == n, l = nl(ii); end

J11=J11+ Vm(n)*Vm(l)*Ym(n,l)*sin(t(n,l)- delta(n) + delta(l));

J33=J33+ Vm(n)*Vm(l)*Ym(n,l)*cos(t(n,l)-

delta(n) + delta(l));

else , end

else, end

end

Pk = Vm(n)^2*Ym(n,n)*cos(t(n,n))+J33;

Qk = -Vm(n)^2*Ym(n,n)*sin(t(n,n))-J11;

if kb(n) == 1 P(n)=Pk; Q(n) = Qk; end% Swing bus P

if kb(n) == 2 Q(n)=Qk;

Qgc = Q(n)*basemva + Qd(n) - Qsh(n);

if Qmax(n) ~= 0

if iter <= 20 % Between the 1th &

6th iterations

if iter >= 10 % the Mvar of generator buses are

if Qgc < Qmin(n), % tested. If not within limits Vm(n)

Vm(n) = Vm(n) + 0.005; % is changed in steps of 0.05 pu to

elseif Qgc > Qmax(n), % bring the generator Mvar within

Vm(n) = Vm(n) - 0.005;end% the specified limits.

else, end

else,end

else,end

end

if kb(n) ~= 1

id = id+1;

DP(id) = P(n)-Pk;

DPV(id) = (P(n)-Pk)/Vm(n);

end

if kb(n) == 0

iv=iv+1;

DQ(iv) = Q(n)-Qk;

DQV(iv) = (Q(n)-Qk)/Vm(n);

end

end

Dd=-B1\DPV';

DV=-B2\DQV';

id=0;iv=0;

for n=1:nbus

if kb(n) ~= 1

id = id+1;

matlab电力系统潮流计算

华中科技大学 信息工程学院课程设计报告书题目: 电力系统潮流计算 专业:电气工程及其自动化 班级: 学号: 学生姓名: 指导教师: 2015年 11 月 10 日

2015年11月12日

信息工程学院课程设计成绩评定表

摘要 电力系统稳态分析包括潮流计算和静态安全分析。本文主要运用的事潮流计算,潮流计算是电力网络设计与运行中最基本的运算,对电力网络的各种设计方案及各种运行方式进行潮流计算,可以得到各种电网各节点的电压,并求得网络的潮流及网络中的各元件的电力损耗,进而求得电能损耗。本位就是运用潮流计算具体分析,并有MATLAB仿真。 关键词:电力系统潮流计算 MATLAB仿真

Abstract Electric power system steady flow calculation and analysis of the static safety analysis. This paper, by means of the calculation, flow calculation is the trend of the power network design and operation of the most basic operations of electric power network, various design scheme and the operation ways to tide computation, can get all kinds of each node of the power grid voltage and seek the trend of the network and the network of the components of the power loss, and getting electric power. The standard is to use the power flow calculation and analysis, the specific have MATLAB simulation. Key words: Power system; Flow calculation; MATLAB simulation

matlab电力系统潮流计算

m a t l a b电力系统潮流计 算 Final approval draft on November 22, 2020

华中科技大学 信息工程学院课程设计报告书题目: 电力系统潮流计算 专业:电气工程及其自动化 班级: 学号: 学生姓名: 指导教师: 2015年 11 月 10 日

信息工程学院课程设计成绩评定表

摘要 电力系统稳态分析包括潮流计算和静态安全分析。本文主要运用的事潮流计算,潮流计算是电力网络设计与运行中最基本的运算,对电力网络的各种设计方案及各种运行方式进行潮流计算,可以得到各种电网各节点的电压,并求得网络的潮流及网络中的各元件的电力损耗,进而求得电能损耗。本位就是运用潮流计算具体分析,并有MATLAB仿真。 关键词:电力系统潮流计算 MATLAB仿真

Abstract Electric power system steady flow calculation and analysis of the static safety analysis. This paper, by means of the calculation, flow calculation is the trend of the power network design and operation of the most basic operations of electric power network, various design scheme and the operation ways to tide computation, can get all kinds of each node of the power grid voltage and seek the trend of the network and the network of the components of the power loss, and getting electric power. The standard is to use the power flow calculation and analysis, the specific have MATLAB simulation. Key words: Power system; Flow calculation; MATLAB simulation

潮流计算(matlab)实例计算

潮流例题:根据给定的参数或工程具体要求(如图),收集和查阅资料;学习相关软件(软件自选:本设计选择Matlab进行设计)。 2.在给定的电力网络上画出等值电路图。 3.运用计算机进行潮流计算。 4.编写设计说明书。 一、设计原理 1.牛顿-拉夫逊原理 牛顿迭代法是取x0 之后,在这个基础上,找到比x0 更接近的方程的跟,一步一步迭代,从而找到更接近方程根的近似跟。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0 的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。电力系统潮流计算,一般来说,各个母线所供负荷的功率是已知的,各个节点电压是未知的(平衡节点外)可以根据网络结构形成节点导纳矩阵,然后由节点导纳矩阵列写功率方程,由于功率方程里功率是已知的,电压的幅值和相角是未知的,这样潮流计算的问题就转化为求解非线性方程组的问题了。为了便于用迭代法解方程组,需要将上述功率方程改写成功率平衡方程,并对功率平衡方程求偏导,得出对应的雅可比矩阵,给未知节点赋电压初值,一般为额定电压,将初值带入功率平衡方程,得到功率不平衡量,这样由功率不平衡量、雅可比矩阵、节点电压不平衡量(未知的)构成了误差方程,解误差方程,得到节点电压不平衡量,节点电压加上节点电压不平衡量构成新的节点电压初值,将新的初值带入原来的功率平衡方程,并重新形成雅可比矩阵,然后计算新

的电压不平衡量,这样不断迭代,不断修正,一般迭代三到五次就能收敛。 牛顿—拉夫逊迭代法的一般步骤: (1)形成各节点导纳矩阵Y。 (2)设个节点电压的初始值U和相角初始值e 还有迭代次数初值为0。 (3)计算各个节点的功率不平衡量。 (4)根据收敛条件判断是否满足,若不满足则向下进行。 (5)计算雅可比矩阵中的各元素。 (6)修正方程式个节点电压 (7)利用新值自第(3)步开始进入下一次迭代,直至达到精度退出循环。 (8)计算平衡节点输出功率和各线路功率 2.网络节点的优化 1)静态地按最少出线支路数编号 这种方法由称为静态优化法。在编号以前。首先统计电力网络个节点的出线支路数,然后,按出线支路数有少到多的节点顺序编号。当由n 个节点的出线支路相同时,则可以按任意次序对这n 个节点进行编号。这种编号方法的根据是导纳矩阵中,出线支路数最少的节点所对应的行中非零元素也2)动态地按增加出线支路数最少编号在上述的方法中,各节点的出线支路数是按原始网络统计出来的,在编号过程中认为固定不变的,事实上,在节点消去过程中,每消去一个节点以后,与该节点相连的各节点的出线支路数将发生变化(增加,减少或保持不变)。因此,如果每消去一个节点后,立即修正尚未编号节点的出线支路数,然后选其中支路数最少的一个节点进行编号,就可以预期得到更好的效果,动态按最少出线支路数编号方法的特点就是按出线最少原则编号时考虑了消去过程中各节点出线支路数目的变动情况。 3.MATLAB编程应用 Matlab 是“Matrix Laboratory”的缩写,主要包括:一般数值分析,矩阵运算、数字信号处理、建模、系统控制、优化和图形显示等应用程序。由于使用Matlab 编程运算与人进行科学计算的思路和表达方式完全一致,所以不像学习高级语言那样难于掌握,而且编程效率和计算效率极高,还可在计算机上直接输出结果和精美的图形拷贝,所以它的确为一高效的科研助手。 二、设计内容 1.设计流程图

用matlab电力系统潮流计算

题目:潮流计算与matlab 教学单位电气信息学院姓名 学号 年级 专业电气工程及其自动化指导教师 职称副教授

摘要 电力系统稳态分析包括潮流计算和静态安全分析。本文主要运用的事潮流计算,潮流计算是电力网络设计与运行中最基本的运算,对电力网络的各种设计方案及各种运行方式进行潮流计算,可以得到各种电网各节点的电压,并求得网络的潮流及网络中的各元件的电力损耗,进而求得电能损耗。本位就是运用潮流计算具体分析,并有MATLAB仿真。 关键词:电力系统潮流计算 MATLAB Abstract Electric power system steady flow calculation and analysis of the static safety analysis. This paper, by means of the calculation, flow calculation is the trend of the power network design and operation of the most basic operations of electric power network, various design scheme and the operation ways to tide computation, can get all kinds of each node of the power grid voltage and seek the trend of the network and the network of the components of the power loss, and getting electric power. The standard is to use the power flow calculation and analysis, the specific have MATLAB simulation. Key words: Power system; Flow calculation; MATLAB simulation

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); 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); %对角元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));

基于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:n1 if 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);

电力系统潮流计算

电力系统潮流计算 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

电力系统 课程设计题目: 电力系统潮流计算 院系名称:电气工程学院 专业班级:电气F1206班 学生姓名: 学号: 指导教师:张孝远 1 2 节点的分类 (5) 3 计算方法简介 (6) 牛顿—拉夫逊法原理 (6) 牛顿—拉夫逊法概要 (6) 牛顿法的框图及求解过程 (8) MATLAB简介 (9) 4 潮流分布计算 (10)

系统的一次接线图 (10) 参数计算 (10) 丰大及枯大下地潮流分布情况 (14) 该地区变压器的有功潮流分布数据 (15) 重、过载负荷元件统计表 (17) 5 设计心得 (17) 参考文献 (18) 附录:程序 (19) 原始资料 一、系统接线图见附件1。 二、系统中包含发电厂、变电站、及其间的联络线路。500kV变电站以外的系统以一个等值发电机代替。各元件的参数见附件2。 设计任务 1、手动画出该系统的电气一次接线图,建立实际网络和模拟网络之间的联系。 2、根据已有资料,先手算出各元件的参数,后再用Matlab表格核算出各元件的参数。 3、潮流计算 1)对两种不同运行方式进行潮流计算,注意110kV电网开环运行。 2)注意将电压调整到合理的范围 110kV母线电压控制在106kV~117kV之间; 220kV母线电压控制在220 kV~242kV之间。 附件一:

72 水电站2 水电站1 30 3x40 C 20+8 B 2x8 A 2x31.5 D 4x7.5 水电站5 E 2x10 90+120 H 12.5+31.5 F G 1x31.5 水电站3 24 L 2x150 火电厂 1x50 M 110kV线路220kV线路课程设计地理接线示意图 110kV变电站220kV变电站牵引站火电厂水电站500kV变电站

基于MATLAB的潮流计算源程序代码(优.选)

%*************************电力系统直角坐标系下的牛顿拉夫逊法潮流计算********** clear clc load E:\data\IEEE014_Node.txt Node=IEEE014_Node; weishu=size(Node); nnum=weishu(1,1); %节点总数 load E:\data\IEEE014_Branch.txt branch=IEEE014_Branch; bwei=size(branch); bnum=bwei(1,1); %支路总数 Y=(zeros(nnum)); Sj=100; %********************************节点导纳矩阵******************************* for m=1:bnum; s=branch(m,1); %首节点 e=branch(m,2); %末节点 R=branch(m,3); %支路电阻 X=branch(m,4); %支路电抗 B=branch(m,5); %支路对地电纳 k=branch(m,6); if k==0 %无变压器支路情形 Y(s,e)=-1/(R+j*X); %互导纳 Y(e,s)=Y(s,e); end if k~=0 %有变压器支路情形 Y(s,e)=-(1/((R+j*X)*k)); Y(e,s)=Y(s,e); Y(s,s)=-(1-k)/((R+j*X)*k^2); Y(e,e)=-(k-1)/((R+j*X)*k); %对地导纳 end Y(s,s)=Y(s,s)-j*B/2; Y(e,e)=Y(e,e)-j*B/2; %自导纳的计算情形 end for t=1:nnum; Y(t,t)=-sum(Y(t,:))+Node(t,12)+j*Node(t,13); %求支路自导纳 end G=real(Y); %电导 B=imag(Y); %电纳 %******************节点分类************************************* * pq=0; pv=0; blancenode=0; pqnode=zeros(1,nnum); pvnode=zeros(1,nnum); for m=1:nnum; if Node(m,2)==3 blancenode=m; %平衡节点编号 else if Node(m,2)==0 pq=pq+1; pqnode(1,pq)=m; %PQ 节点编号 else if Node(m,2)==2 pv=pv+1; pvnode(1,pv)=m; %PV 节点编号 end end end end %*****************************设置电压初值********************************** Uoriginal=zeros(1,nnum); %对各节点电压矩阵初始化 for n=1:nnum Uoriginal(1,n)=Node(n,9); %对各点电压赋初值 if Node(n,9)==0;

基于matlab--psat软件的电力系统潮流计算课程设计

东北电力大学课程设计改革试用任务书: 电力系统潮流计算课程设计任务书 设计名称:电力系统潮流计算课程设计 设计性质:理论计算,计算机仿真与验证 计划学时:两周 一、设计目的 1.培养学生独立分析问题、解决问题的能力; 2.培养学生的工程意识,灵活运用所学知识分析工程问题的能力 3.编制程序或利用电力系统分析计算软件进行电力系统潮流分析。 二、原始资料 1、系统图:IEEE14节点。 2、原始资料:见IEEE14节点标准数据库 三、课程设计基本内容: 1.采用PSAT仿真工具中的潮流计算软件计算系统潮流; 1)熟悉PSAT仿真工具的功能; 2)掌握IEEE标准数据格式内容; 3)将IEEE标准数据转化为PSAT计算数据; 2.分别采用NR法和PQ分解法计算潮流,观察NR法计算潮流中雅可比矩阵的变化情况, 分析两种方法计算潮流的优缺点; 3.分析系统潮流情况,包括电压幅值、相角,线路过载情况以及全网有功损耗情况。

4.选择以下内容之一进行分析: 1)找出系统中有功损耗最大的一条线路,给出减小该线路损耗的措施,比较各种措施 的特点,并仿真验证; 2)找出系统中电压最低的节点,给出调压措施,比较各种措施的特点,并仿真验证; 3)找出系统中流过有功功率最大的一条线路,给出减小该线路有功功率的措施,比较 各种措施的特点,并仿真验证; 5.任选以下内容之一作为深入研究:(不做要求) 1)找出系统中有功功率损耗最大的一条线路,改变发电机有功出力,分析对该线路有 功功率损耗灵敏度最大的发电机有功功率,并进行有效调整,减小该线路的损耗; 2)找出系统中有功功率损耗最大的一条线路,进行无功功率补偿,分析对该线路有功 功率损耗灵敏度最大的负荷无功功率,并进行有效调整,减小该线路的损耗; 3)找出系统中电压最低的节点,分析对该节点电压幅值灵敏度最大的发电机端电压, 并有效调整发电机端电压,提高该节点电压水平; 四、课程设计成品基本要求: 1.绘制系统潮流图,潮流图应包括: 1)系统网络参数 2)节点电压幅值及相角 3)线路和变压器的首末端有功功率和无功功率 2.撰写设计报告,报告内容应包括以下几点: 1)本次设计的目的和设计的任务; 2)电力系统潮流计算的计算机方法原理,分析NR法和PQ分解法计算潮流的特点; 3)对潮流计算结果进行分析,评价该潮流断面的运行方式安全性和经济性; 4)找出系统中运行的薄弱环节,如电压较低点或负载较大线路,给出调整措施; 5)分析各种调整措施的特点并比较它们之间的差异; 6)结论部分以及设计心得; 五、考核形式 1.纪律考核:学生组织出勤情况和工作态度等; 2.书面考核:设计成品的完成质量、撰写水平等; 3.答辩考核:参照设计成品,对计算机方法进行电力系统潮流计算的相关问题等进行答辩; 4.采用五级评分制:优、良、中、及格、不及格五个等级。

电力系统潮流计算方法分析

电力系统潮流分析 —基于牛拉法和保留非线性的随机潮流 , 姓名:*** 学号:***

1 潮流算法简介 常规潮流计算 常规的潮流计算是在确定的状态下。即:通过已知运行条件(比如节点功率或网络结构等)得到系统的运行状态(比如所有节点的电压值与相角、所有支路上的功率分布和损耗等)。 常规潮流算法中的一种普遍采用的方法是牛顿-拉夫逊法。当初始值和方程的精确解足够接近时,该方法可以在很短时间内收敛。下面简要介绍该方法。 牛顿拉夫逊方法原理 对于非线性代数方程组式(1-1),在待求量x 初次的估计值(0)x 附近,用泰勒级数(忽略二阶和以上的高阶项)表示它,可获得如式(1-2)的线性化变换后的方程组,该方程组被称为修正方程组。'()f x 是()f x 对于x 的一阶偏导数矩阵,这个矩阵便是重要的雅可比矩阵J 。 12(,,,)01,2, ,i n f x x x i n == (1-1) (0)'(0)(0)()()0f x f x x +?= (1-2) ' 由修正方程式可求出经过第一次迭代之后的修正量(0)x ?,并用修正量(0)x ?与估计值(0) x 之和,表示修正后的估计值(1)x ,表示如下(1-4)。 (0)'(0)1(0)[()]()x f x f x -?=- (1-3) (1)(0)(0)x x x =+? (1-4) 重复上述步骤。第k 次的迭代公式为: '()()()()()k k k f x x f x ?=- (1-5) (1)()()k k k x x x +=+? (1-6) 当采用直角坐标系解决潮流方程,此时待解电压和导纳如下式: i i i ij ij ij V e jf Y G jB =+=+ (1-7) 假设系统的网络中一共设有n 个节点,平衡节点的电压是已知的,平衡节点表示如下。 n n n V e jf =+ (1-8) }

电力系统通用潮流计算C语言程序

电力系统通用潮流计算C语言程序 #include#includeusing namespace std; //节点号类型负荷有功负荷无功母线数据 (类型1=PV节点,2=PQ节点,3=平衡节点)struct BUS {int busno;int type;float Pd;float Qd;};//发电机数据节点号有功发电电压幅值struct Generator{int busno;float Pg;float Vg;};//支路信息节点I 节点J R X B/2 kstruct Line{int busi;int busj;float R;float X;float B;float k;};//deltaP deltaQ deltaV^2//void fun1(double YG[][50],double YB[][50],double e[],double f[],int type[],int N,double W[],double P[],double Q[],double V[]){double dP=0,dQ=0,dV=0;int i,j;for(i=0;i

第三章简单电力系统的潮流计算汇总

第一章 简单电力系统的分析和计算 一、 基本要求 掌握电力线路中的电压降落和功率损耗的计算、变压器中的电压降落和功率损耗的计 算;掌握辐射形网络的潮流分布计算;掌握简单环形网络的潮流分布计算;了解电力网络的简化。 二、 重点内容 1、电力线路中的电压降落和功率损耗 图3-1中,设线路末端电压为2U 、末端功率为222~jQ P S +=,则 (1)计算电力线路中的功率损耗 ① 线路末端导纳支路的功率损耗: 222 2* 222~U B j U Y S Y -=?? ? ??=? ……………(3-1) 则阻抗支路末端的功率为: 222~~~Y S S S ?+=' ② 线路阻抗支路中的功率损耗: ()jX R U Q P Z I S Z +'+'==?2 2 22222 ~ ……(3-2) 则阻抗支路始端的功率为: Z S S S ~ ~~21?+'=' ③ 线路始端导纳支路的功率损耗: 2121* 122~U B j U Y S Y -=?? ? ??=? …………(3-3) 则线路始端的功率为: 111~ ~~Y S S S ?+'= ~~~图3-3 变压器的电压和功率 ~2 ? U (2)计算电力线路中的电压降落 选取2U 为参考向量,如图3-2。线路始端电压 U j U U U δ+?+=2 1 其中 2 2 2U X Q R P U '+'= ? ; 222U R Q X P U '-'=δ ……………(3-4) 则线路始端电压的大小: ()()2 221U U U U δ+?+= ………………(3-5) 一般可采用近似计算: 2 2 2221U X Q R P U U U U '+'+ =?+≈ ………………(3-6)

MATLAB下的潮流计算实现-稀疏技术毕业设计

毕业设计(论文)MATLAB下的潮流计算实现-稀疏技术

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

摘要 电力系统潮流计算是研究电力系统稳态运行情况的一种计算,它根据给定的运行条件及系统接线情况确定整个电力系统各部分的运行状态:各母线的电压,各元件中流过的功率,系统的功率损耗等等。在电力系统规划的设计和现有电力系统运行方式的研究中,都需要利用潮流计算来定量地分析比较供电方案或运行方式的合理性、可靠性和经济性。因此潮流计算是研究电力系统的一种很重要和很基础的计算。由于电力系统结构及参数的一些特点,并且随着电力系统不断扩大,潮流问题的方程式阶数越来越高,对这样的方程式并不是任何数学方法都能保证给出正确答案的。这种情况成为促使电力系统计算人员不断寻求新的更可靠方法的重要因素。 本文旨在于研究潮流计算的牛顿—拉夫逊法的基本原理,在Matlab环境中实现牛顿—拉夫逊法潮流计算的数学模型,程序流程以及编制相应程序,并在程序中融合了节点优化编号和稀疏技术,以提高计算效率。最后用IEEE-3O节点标准测试系统验证所编程序。 关键词:潮流计算Newtom-Raphson法节点优化稀疏技术Matlab ABSTRACT Power flow calculation is fundanmental of analysis. Network reconfiguration,fault management,state estimator etc also need the data of electrial system power flow.There is important significance to develop power flow calculation in allusion to traits of distribution network. This paper introduces the principle of Newtom-Raphson algorithm, which is developed for calculation of power flow calculation ,where zero sequence network is open.With this algorithm,the three-phase load is resolved into positive/negative sequence power and coupling power,thus,decoupling three phase power flow into sequencet component power flow.The power flow can be obtained by just finding the positive sequence power flow and then finding the negative sequent component from the coupling https://www.doczj.com/doc/8d15122473.html,pared with the existing methods,the jacobian matrix with the proposed algorithm is of much lower order,thus substantially reducing the computation burden.The proposed algorithm,together with a reference algorithm,has been simulated on an actual IEEE-30 system using statistic load date.And then it will

电力系统潮流计算

信息工程学系 2011-2012学年度下学期电力系统分析课程设计 题目:电力系统潮流计算 专业:电气工程及其自动化 班级: 学号: 学生姓名: 指导教师:钟建伟 2012年3月10日

信息工程学院课程设计任务书

目录 1 任务提出与方案论证 (4) 1.1潮流计算的定义、用途和意义 (4) 1.2 运用软件仿真计算 (5) 2 总体设计 (7) 2.1潮流计算设计原始数据 (7) 2.2总体电路设计 (8) 3 详细设计 (10)

3.1数据计算 (10) 3.2 软件仿真 (14) 4 总结 (24) 5参考文献 (25)

1任务提出与方案论证 1.1潮流计算的定义、用途和意义 1.1.1潮流计算的定义 潮流计算,指在给定电力系统网络拓扑、元件参数和发电、负荷参量条件下,计算有功功率、无功功率及电压在电力网中的分布。潮流计算是根据给定的电网结构、参数和发电机、负荷等元件的运行条件,确定电力系统各部分稳态运行状态参数的计算。通常给定的运行条件有系统中各电源和负荷点的功率、枢纽点电压、平衡点的电压和相位角。待求的运行状态参量包括电网各母线节点的电压幅值和相角,以及各支路的功率分布、网络的功率损耗等。 1.1.2潮流计算的用途 电力系统潮流计算是电力系统最基本的计算,也是最重要的计算。所谓潮流计算,就是已知电网的接线方式与参数及运行条件,计算电力系统稳态运行各母线电压、个支路电流与功率及网损。对于正在运行的电力系统,通过潮流计算可以判断电网母线电压、支路电流和功率是否越限,如果有越限,就应采取措施,调整运行方式。对于正在规划的电力系统,通过潮流计算,可以为选择电网供电方案和电气设备提供依据。潮流计算还可以为继电保护和自动装置定整计算、电力系统故障计算和稳定计算等提供原始数据。

第3章作业答案电力系统潮流计算(已修订)

第三章 电力系统的潮流计算 3-1 电力系统潮流计算就是对给定的系统运行条件确定系统的运行状态。系 统运行条件是指发电机组发出的有功功率和无功功率(或极端电压),负荷的有 功功率和无功功率等。运行状态是指系统中所有母线(或称节点)电压的幅值和 相位,所有线路的功率分布和功率损耗等。 3-2 电压降落是指元件首末端两点电压的相量差。 电压损耗是两点间电压绝对值之差。当两点电压之间的相角差不大时, 可以近似地认为电压损耗等于电压降落的纵分量。 电压偏移是指网络中某点的实际电压同网络该处的额定电压之差。电压 偏移可以用kV 表示,也可以用额定电压的百分数表示。 电压偏移= %100?-N N V V V 功率损耗包括电流通过元件的电阻和等值电抗时产生的功率损耗和电压 施加于元件的对地等值导纳时产生的损耗。 输电效率是是线路末端输出的有功功率2P 与线路首端输入的有功功率 1P 之比。 输电效率= %1001 2 ?P P 3-3 网络元件的电压降落可以表示为 ()? ? ? ? ? +=+=-2221V V I jX R V V δ? 式中,?2V ?和? 2V δ分别称为电压降落的纵分量和横分量。 从电压降落的公式可见,不论从元件的哪一端计算,电压降落的纵、横分量计算公式的结构都是一样的,元件两端的电压幅值差主要有电压降落的纵分量决定,电压的相角差则由横分量决定。在高压输电线路中,电抗要远远大于电阻,即R X ??,作为极端的情况,令0=R ,便得 V QX V /=?,V PX V /=δ 上式说明,在纯电抗元件中,电压降落的纵分量是因传送无功功率而产生的,而电压降落的横分量则是因为传送有功功率产生的。换句话说,元件两端存在电压幅值差是传送无功功率的条件,存在电压相角差则是传送有功功率的条件。 3-4 求解已知首端电压和末端功率潮流计算问题的思路是,将该问题转化成 已知同侧电压和功率的潮流计算问题。

电力系统潮流计算课程设计(终极版)

目录 摘要................................................. - 1 - 1.设计意义与要求..................................... - 2 - 1.1设计意义 ...................................... - 2 - 1.2设计要求(具体题目)........................... - 2 - 2.题目解析........................................... - 3 - 2.1设计思路 ...................................... - 3 - 2.2详细设计 ...................................... - 4 - 2.2.1节点类型.................................. - 4 - 2.2.2待求量 ................................... - 4 - 2.2.3导纳矩阵.................................. - 4 - 2.2.4潮流方程.................................. - 5 - 2.2.5牛顿—拉夫逊算法.......................... - 6 - 2.2.5.1牛顿算法数学原理:................... - 6 - 2.2.5.2修正方程............................. - 7 - 2.2.5.3收敛条件............................. - 9 - 3.结果分析.......................................... - 10 - 4.小结.............................................. - 11 - 参考文献............................................ - 12 -

9节点电力系统潮流计算要点

电力系统分析课程设计 设计题目9节点电力网络潮流计算 指导教师 院(系、部)电气与控制工程学院 专业班级 学号 姓名 日期

电气工程系课程设计标准评分模板

目录 1 PSASP软件简介 (1) 1.1 PSASP平台的主要功能和特点 (1) 1.2 PSASP的平台组成 (2) 2 牛顿拉夫逊潮流计算简介 (3) 2.1 牛顿—拉夫逊法概要 (3) 2.2 直角坐标下的牛顿—拉夫逊潮流计算 (5) 2.3 牛顿—拉夫逊潮流计算的方法 (6) 3 九节点系统单线图及元件数据 (7) 3.1 九节点系统单线图 (7) 3.2 系统各项元件的数据 (8) 4 潮流计算的结果 (10) 4.1 潮流计算后的单线图 (10) 4.2 潮流计算结果输出表格 (10) 5 结论 (14)

电力系统分析课程设计任务书9节点系统单线图如下: 基本数据如下:

表3 两绕组变压器数据 负荷数据

1 PSASP软件简介 “电力系统分析综合程序”(Power System Analysis Software Package,PSASP)是一套历史悠久、功能强大、使用方便的电力系统分析程序,是高度集成和开发具有我国自主知识产权的大型软件包。 基于电网基础数据库、固定模型库以及用户自定义模型库的支持,PSASP可进行电力系统(输电、供电和配电系统)的各种计算分析,目前包括十多个计算机模块,PSASP的计算功能还在不断发展、完善和扩充。 为了便于用户使用以及程序功能扩充,在PSASP7.0中设计和开发了图模一体化支持平台,应用该平台可以方便地建立电网分析的各种数据,绘制所需要的各种电网图形(单线图、地理位置接线图、厂站主接线图等);该平台服务于PSASP 的各种计算,在此之外可以进行各种分析计算,并输出各种计算结果。 1.1PSASP平台的主要功能和特点 PSASP图模一体化支持平台的主要功能和特点可概括为: 1. 图模支持平台具备MDI多文档操作界面,是一个单线图图形绘制、元件数据录入编辑、各种计算功能、结果显示、报表和曲线输出的集成环境。用户可以方便地建立电网数据、绘制电网图形、惊醒各种分析计算。人机交互界面全部汉化,界面良好,操作方便。 2. 真正的实现了图模一体化。可边绘图边建数据,也可以在数据已知的情况下进行图形自动快速绘制;图形、数据自动对应,所见即所得。 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节点; % 3为PV节点; clear; n=input('请输入节点数:n='); nl=input('请输入支路数:nl='); isb=input('请输入平衡母线节点号:isb='); pr=input('请输入误差精度:pr='); B1=input('请输入由各支路参数形成的矩阵:B1='); B2=input('请输入各节点参数形成的矩阵:B2='); Y=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);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); end Y(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5)); %非对角元 Y(q,p)=Y(p,q); %非对角元 Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4)./2; %对角元K侧 Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2; %对角元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节点电压给定模值 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); %i节点无功补偿量 end %=================================================================== P=real(S);Q=imag(S); %分解出各节点注入的有功和无功功率 ICT1=0;IT2=1;N0=2*n;N=N0+1;a=0; %迭代次数ICT1、a;不满足收敛要求的节点数IT2

相关主题
文本预览
相关文档 最新文档