文档库 最新最全的文档下载
当前位置:文档库 › 潮流计算的快速分解法程序

潮流计算的快速分解法程序

潮流计算的快速分解法程序
潮流计算的快速分解法程序

研究生课程设计 (论文)

电力系统稳态分析Stability Analysis of Power Systems

教学单位自动化学院

姓名薛媛媛

学号 111101130

年级2011 级

专业电力系统及其自动化

指导教师杨伟

职称副教授

2011年12月6日

摘要:快速分解法是一种定雅克比法,形成系数矩阵'B 、''B 时忽略了支路电阻、对地导纳和理想变压器非标准变化,以及θP -迭代过程中节点电压的不同取值,从而避免每次迭代重新形成雅克比矩阵及其因子表,计算效率大幅提高。本文采用快速分解法中的XB 型算法,并基于MATLAB 软件仿真分析具体实例,发现具有较好的收敛性,特别适合在线计算。

关键词:电力系统 潮流计算 快速分解法 雅可比矩阵

0 引言

用牛顿-拉夫逊法计算潮流时,每次迭代都需要重新形成雅克比矩阵并分解因子表。为避免每次迭代重新形成雅克比矩阵及其因子表,20世纪70年代初Stott 提出了快速分解法。

快速分解法采用了一些假设:

a 、电力系统有功功率主要受电压相角影响,无功功率主要受电压幅值影响。

b 、高压网线路的r<

c 、系数矩阵'B 、''B 忽略了支路电阻、对地导纳和理想变压器非标准变化。

d 、θP -迭代过程中的V Δθ前的电压幅值用标幺值1代替。 对极坐标型定雅克比法的修正公式

H

N M L ??

-??????

-=??????????????

ΔP B

G V ΔθV ΔQ

G B ΔV V (1) 处理得到简化的修方程式

'''==

--ΔP

B ΔθV

ΔQ B ΔV V

(2)

在潮流计算中,(2)式中两个修正方程式交替迭代,Stott 把在此基础发展起来的潮流算法称为快速分解法。快速分解法是目前电力系统进行潮流计算的主要方法。由于该方法将节点电压的相位和幅值的迭代过程分开进行,使修正方程的系数矩阵维数降低很多,系数矩阵为常数且对称,因而快速分解法具有计算速度快,占用内存少等特点。

1 理论基础

以定雅克比牛顿-拉夫逊迭代方程为出发点,具体过程如下:

通过高斯消去法,把牛顿-拉夫逊法的每一次迭代等价地细分为三步计算;对每一步运算作详细分析,证明了在连续的两次牛顿-拉夫逊迭代中,上一次迭代的第三步和下一次迭代的第一步可以合并,从而导出等效的两步式分解算法;论证了该两步式分解算法的系数矩阵与快速分解算法的系数矩阵是一致的。

推导过程并未因用任何解耦的假设。 将极坐标型定雅克比法的修正公式中ΔP V

和ΔQ

V

用ΔP 和ΔQ 代替,V Δθ

用Δθ代替。

??????

-=????????????H N ΔθΔP M L ΔV ΔQ (3) 其中,,,H N M L T T T T

????????=≈

=-≈=≈=≈????P P Q Q

H B N G M G L B θV θV

1.1将原问题分解为P ,Q 子问题

用高斯消去法消去子块N

11--????

--??-=????????????ΔθH NL M 0ΔP NL ΔQ ΔV M L ΔQ

(4) 记11,--=-=-H H NL M ΔP ΔP NL ΔQ

因-M ΔθL ΔV =ΔQ -,得到11--=--ΔV L ΔQ L M Δθ 于是定义11,L M --=-=-ΔV L ΔQ ΔV L M Δθ

解为 ?-??-1L M

Δθ=H ΔP

ΔV =ΔV +ΔV (5)

在给定的电压幅值和相角初值附近,保持电压相角不变,考虑只有电压幅值的变化L ΔV 时,有功功率的偏差量为

()()()1

+

T

-???≈?=?-=??L L P P θV +ΔV P θV ΔV P θV NL ΔQ P V

,,, (6) 综合上述结果,如果当前的迭代点为()()()

k k

θV ,,则第k 次迭代可以分为三步

()()()()

()()()

11=k k k L k k k L -+??-??

??=+??

V L Q θV V V V , (7)

()()()()

()()()111,k k k k k k

+-+??=-??

??=+??

θH P θV θθθ (8)

()()()()()

111k k M k k k M -++??=-???=+???V L M θ

V

V V (9)

1.2简化无功迭代步骤

按式(7)、式(8)和式(9)完成第k 次迭代后,下面考虑第k +1次迭代,有

()()()()

()()()

+1+1+112+1+1=k k k L k k k L -+??-??

??=+??

V L Q θV V V V , (10)

利用式(9),上式中的无功功率偏差为

(

)

(

)

(

)()()()()

()()()()()()()()

+1+1+1

+1

+1

+1

+1

+1

=++=+k k k k k M

k k k M

T

k k k M

?????≈?????Q θV Q θV V Q

Q θV V V

Q θV L V ,,,, (11)

代入式(10)中,经整理得

(

)

()()()()

+1+1+11+=k k k k L

M -??-?V V L Q θV , (12)

式(12)说明,如果将第k 次迭代计算出的()

1k +V 和(

)

1 k +θ用于计算第1k +迭

代的无功功率偏差量,则所求得的第1k +次迭代的电压修正量将自动包含第k 次

迭代计算出的()k M ?V 。所以,()

k M ?V 的计算可以省略,相当于将式(9)与式(10)

合并,因此,第k 次迭代可以两步完成

()()()

()

()()()

11=k k k k k k -+??-??

??=+??V L Q θV V V V , (13)

()()()()

()()()

111,k k k k k k +-+??=-??

??=+??

θH P θV θθθ (14)

整理式(13)和式(14)得到简化的修正方程式

=-?=?-??H θP L V Q

(15)

因ΔP 和ΔQ 即为极坐标型定雅克比法的修正公式中ΔP

V

和ΔQ

V

,所以式

(15)与式(2)格式相同。与XB 型快速分解法的修正公式相比,系数矩阵L 是导纳矩阵的虚部,与''B 相同。

由H 的定义,有

11

H N L M ---H =H NL M =B +G B G (16)

对于一般的电网,H 可能有较复杂的结构。为了对H 有直观的认识,假定网络中无PV 接点,则式(16)中各矩阵的维数相等,并且接点导纳矩阵可用节点支路关联矩阵A 和支路导纳对角矩阵(分别用的b 和g 表示电纳和电导)表示。下面将证明,对于树形电网或所有支路的x r 比值都相同的环形网络,H 与'B 相等。

如果网络是树状的,其关联矩阵A 是方阵且非奇异,此时对式(16)有

1-T T T T H =AbA +(AgA )(AbA )(AgA ) --T -T 11T =A(b +gA A b A Ag)A -1T =A(b +gb b)A

'T '=Ab A =B (17)

式中,'b 为以x 1-为支路电纳组成的对角线矩阵;'B 为以x 1-为支路电纳建立的节点电纳矩阵。这说明对树形电网,H 就是XB 型快速分解法中的'B 阵。

对于环形网络,如果电网是均一网,即对任一支路l 有α=l l x r ,则得

l l

l l

l l l l b x r x x r r g αα-=+=+=

2

222 并有

l l

l l l l l l l

l l x x r x x r b g b g b 1

))(1()1(22222

1

-==+-+=+=+-α

所以

g =-αb ,2(1)α+='b b

故有

-T T T 1T H =AbA +(AgA )(AbA )(AgA ) 21α-=+T T T T AbA (AbA )(AbA )(AbA )

2(1)α=+T AbA

'T '=Ab A =B (18)

如果电网不是均一网,上述结论不再严格成立。但H 和'B 相比,在'B 的零元素处,相应H 的元素近似等于零;在'B 的非零元素处,相应H 的元素近似和'B 的非零元素相等。这可以用下面的例子来说明。

图1 四节点电力系统

以图1所示的四节点系统为例,图中给出了支路阻抗。该例中H ,H 和'

B 分别为

1.5

100.51 1.20.2000.20.70.50.500.51--????--?

?=??--??--??

H 1.90.80.110.8 1.60.800.10.8 1.911012---????--?

?=??---??--??H 2101121001211012--??

??

--??=-??--??--??'B 可见,'B 比H 更接近于H ,而用'B 代替H 即得到XB 型快速分解法。 以上推导过程中,只在对有功功率偏差量和无功功率偏差量的计算处做了线性化近似,既没有r<

2 快速分解法在地震系统安全分析中的应用

某地区电力供应系统由2个发电厂,4个变电站组成,系统模型见图2,其中节点1、2、3为PQ节点,4为PV节点,5为平衡节点。以100MVA、220KV为基准的节点初始标幺值和网络参数见表3、4。利用快速分解法,当迭代功率偏差标准为 =0.0001时,迭代结束。

图2 电力系统模型

表1 节点负荷值

表2 线路参数

3.程序流程图

4.程序

本文采用两种程序来仿真地震电力系统的潮流,两个程序得到的仿真结果是相同的。

1.程序一

function [Y,U,P,Q,dSij, O,S,Sij,Sji,sumdS]=FDLFpowerflow()

%输出:U——节点电压,P--节点有功,Q--节点无功,dSij--支路功率损耗,O 为相角;Sij--从节点i流向节点j的功率,S--节点复功率,sumdS--网络总损耗;point 为节点矩阵,branch为支路矩阵;

[x]=5;%节点数x

[y]=5;%支路数y

e=0.00001;%误差要求

point=[1 1 0 -1.6 -0.8;

1 1 0 -2.0 -1.0;

1 1 0 -3.7 -1.3;

3 1.05 0 5.0 1.05;

2 1.05 0 0 1.05];%节点矩阵

branch=[1 2 0.04 0.250 0.250 0;

1 3 0.10 0.350 0 0;

2 3 0.080 0.300 0.300 0;

2 4 0.0 0.015 0 1.05;

3 5 0.0 0.030 0 1.05;];%支路矩阵

TYPE=zeros(x,1);%TYPE为节点类型矩阵

U=zeros(x,1);%U为节点电压矩阵

a=zeros(x,1);%a为节点电压相角矩阵

P=zeros(x,1);%P为节点有功功率

Q=zeros(x,1);%Q为节点无功功率

I=zeros(y,1);%I为起始节点编号矩阵

J=zeros(y,1);%J为终止节点编号矩阵

Rij=zeros(y,1);%R为线路电阻

Xij=zeros(y,1);%X为线路电抗

Zij=Rij+j*Xij;%Yij为线路阻抗

Y=zeros(x);%Y为n阶节点导纳方阵

G=zeros(x);%G为n阶节点电导方阵

B=zeros(x);%B为n阶节点电纳方阵

B0=zeros(y,1);%B0为n*1阶线路对地电纳值

K=zeros(y,1); %K为ij支路y*1阶变压器变比,若K=0表示无变压器,K=1则为标准变比,K不等于1为非标准变比

%------------------------------矩阵赋初值:

TYPE=point(:,1);%将point矩阵的第一列赋给TYPE,以下类似

U=point(:,2);

O=point(:,3);

P=point(:,4);

Q=point(:,5);

I=branch(:,1);

J=branch(:,2);

Rij=branch(:,3);

Xij=branch(:,4);

Zij=Rij+j*Xij;

B0=branch(:,5);

KT=branch(:,6);

%------------------------------求节点导纳矩阵Y

for m=1:y %求Y中非对角元元素Yij

Y(I(m),J(m))=-1/Zij(m);

Y(J(m),I(m))=-1/Zij(m);

end;

for m=1:x %求Y中的Yii

for n=1:y

if(I(n)==m|J(n)==m)

Y(m,m)=Y(m,m)-Y(I(n),J(n))+j*B0(n)/2; % Yii为Yij加上线路对地电导的一半乘j end;

end;

end;

Y

G=real(Y);

%-----------------------求B'矩阵及其逆矩阵B1

B=imag(Y);%求Y的虚部,节点电纳矩阵

B11=zeros(x,x);

for m=1:y

B11(I(m),J(m))=1/(Xij(m));

B11(J(m),I(m))=1/(Xij(m));

end;

for m=1:x

for n=1:y

if(I(n)==m|J(n)==m)

B11(m,m)=B11(m,m)-1/(Xij(n));

end;

end;

end;

p=find(TYPE(:,1)==3);%找出平衡节点编号

B11(:,p)=[];%平衡节点编号对应行置空

B11(p,:)=[];%平衡节点编号对应列置空

B11

B1=B11;

B1=inv(B1);%B1求逆后得B1矩阵

%-----------------------%求B''及其逆矩阵B2

npq=find(TYPE(:,1)>1);%找出非PQ节点的编号

B22=B; %BB矩阵为中间变量

B22(:,npq)=[];%非PQ节点编号对应行置空

B22(npq,:)=[];%非PQ节点编号对应行置空

B22

B2=B22;

B2=inv(B2);%求得B2矩阵

%-------------计算各节点有功功率不平衡量dPi

k=0; %k为迭代次数

ep=0; %计算P不平衡量dPi的收敛标志(0表示不收敛,1表示收敛)

eq=0; %计算U不平衡量dQi的收敛标志(0表示不收敛,1表示收敛)

np=find(TYPE(:,1)<3);%找出非平衡节点编号

dPi=zeros(x-1,1);%dPi为x*1阶矩阵,x即为节点数

pq=find(TYPE(:,1)==1);%找出PQ节点编号

pqn=size(B2);

pqn=pqn(1);%求PQ节点的个数(因B1矩阵的维数等于PQ节点数)

dQi=zeros(pqn,1);%dQi为pqn*1阶矩阵

while((~eq|~ep)&(k<100))

k=k+1;

for m=1:(x-1)%求dPi

sum1=0;

for n=1:x

sum1=sum1+U(np(m))*U(n)*(G(np(m),n)*cos(O(np(m))-O(n))+B(np(m),n)*sin(O(n p(m))-O(n)));

end

dPi(m)=P(np(m))-sum1;

end

Up=U; %Up为中间变量

Up(p)=[];%将平衡节点所在行置空

Unp=Up;%求得除平衡节点外的电压列向量

dO=(-B1*(dPi./Unp))./Unp;%求相角O的不平衡量

for m=1:(x-1) %求相角O的新迭代值矩阵

O(np(m))=O(np(m))+dO(m);

end

max1=abs(dPi(1)/U(np(1)));%求dP/U绝对值的最大值

for m=1:(x-2)

if abs(dPi(m)/U(np(m)))

max1=abs(dPi(m+1)/U(np(m+1)));

end

end

if max1<=e %如果最大值满足要求,则ep置为"1",表示收敛

ep=1;

end

for m=1:pqn %求dQi

sum2=0;

for n=1:x

sum2=sum2+U(pq(m))*U(n)*(G(pq(m),n)*sin(O(pq(m))-O(n))-B(pq(m),n)*cos(O(pq (m))-O(n)));

end

dQi(m)=Q(pq(m))-sum2;

end

Uq=U;%Uq为中间变量

Uq(npq)=[];%将非PQ节点所在行置空

Upq=Uq;%求得包括PQ节点电压的电压列向量

dU=-B2*(dQi./Upq);%求U的不平衡量dU

max2=max(abs(dQi./Upq)); %求dQ/U绝对值的最大值

if max2<=e %如果最大值满足要求,则eq置为"1",表示收敛

eq=1;

end

for m=1:pqn %求U的迭代新值

U(pq(m))=U(pq(m))+dU(m);

end

end

sum3=0+j*0;%求平衡节点功率Sph

for m=1:x

sum3=sum3+conj(Y(p,m))*(U(m)*cos(O(m))-i*U(m)*sin(O(m)));

end

Sph=(U(p)*cos(O(p))+j*U(p)*sin(O(p)))*sum3;%求平衡节点功率

disp(U);

figure;

plot(U);

图3 电压幅值

经过23次迭代,得到正常运行下的参数,见表3。

表3 节点电压、负荷值

图4 节点导纳矩阵、B'和B''矩阵

2.程序二

---------------------------------------------------主程序------------------------------------------- function [Uo,Oo]=powerflow(x,y);

x=[ 1,1,2,2,0.040,0.250,0.250,0;

1,1,3,3,0.100,0.350,0.000,0;

2,2,3,3,0.080,0.300,0.250,0;

2,2,4,4,0.000,0.015,0,1.050;

3,3,5,5,0.000,0.030,0,1.050]; y=[ 0,5,0,1.05,1.05,0;

1,4,5.0,1.05,1.05,0;

2,3,-3.7,-1.3,1,0;

2,2,-2.0,-1.0,1,0;

2,1,-1.6,-0.8,1,0]; Pointstyle=y(:,1); PointNumber=y(:,2);

Ps=y(:,3);

Qs=y(:,4);

Uk=y(:,5);

Ok=y(:,6);

Y=Yn(x,y);

Ba=B1(x,y);

Bb=B11(x,y);

G=real(Y);

B=imag(Y);

Uo=Uk;

Oo=Ok;

L=length(PointNumber);

P=zeros(L,1);

Q=zeros(L,1);

dP=zeros(L,1);

dQ=zeros(L,1);

number=1;

i=1;k=1;

while Pointstyle(i)<=1;

i=i+1;

k=k+1;

end;

while number<23;

for i=2:L;

sum1=0;

for j=1:L;

sum1=sum1+Uo(j)*(G(i,j)*cos(Oo(i)-Oo(j))+B(i,j)*sin(Oo(i)-Oo(j)));

end;

dP(i)=Ps(i)-Uo(i)*sum1;

end;

for i=k:L;

sum2=0;

for j=1:L;

sum2=sum2+Uo(j)*(G(i,j)*sin(Oo(i)-Oo(j))-B(i,j)*cos(Oo(i)-Oo(j)));

end;

dQ(i)=Qs(i)-Uo(i)*sum2;

end;

dP1=dP(2:L)./Uo(2:L);

dQ1=dQ(k:L)./Uo(k:L);

a=max(norm(dP1,inf));

b=max(norm(dQ1,inf));

if max(a,b)<0.00001

break;

disp('迭代')

disp(k);

disp('次后收敛');

else

dO=-inv(Ba)*dP1;

dU=-inv(Bb)*dQ1;

zeros1=zeros(k-1,1);

zeros2=[0];

DU=[zeros1;dU];

DO=[zeros2;dO];

Uo=Uo+DU;

Oo=Oo+DO;

number=number+1;

end;

if number==23;

disp('迭代23次结束');

end;

end;

disp(Yn);

------------------------------形成节点导纳Yn矩阵--------------------------------------------- function Y=Yn(x,y)

x=[1,1,2,2,0.040,0.250,0.250,0;

1,1,3,3,0.100,0.350,0.000,0;

2,2,3,3,0.080,0.300,0.250,0;

2,2,4,4,0.000,0.015,0,1.050;

3,3,5,5,0.000,0.030,0,1.050];

y=[ 0,5,0,1.05,1.05,0;

1,4,5.0,1.05,1.05,0;

2,3,-3.7,-1.3,1,0;

2,2,-2.0,-1.0,1,0;

2,1,-1.6,-0.8,1,0];

HeadPoint=x(:,1);

HeadNumber=x(:,2);

EndPoint=x(:,3);

EndNumber=x(:,4);

R=x(:,5);

X=x(:,6);

B=x(:,7);

k=x(:,8);

L=length(HeadNumber);

Y=zeros(L,L);

for i=1:L;

m=HeadNumber(i);n=EndNumber(i);

if n~=0;

Y(m,m)=Y(m,m)+1j*B(i)+1/(R(i)+1j*X(i));

Y(n,n)=Y(n,n)+1j*B(i)+1/(R(i)+1j*X(i));

Y(m,n)=Y(m,n)-1/(R(i)+1j*X(i));

Y(n,m)=Y(n,m)-1/(R(i)+1j*X(i));

else

Y(m,m)=Y(m,m)+R(i)+1j*X(i);

end;

end;

maxm=HeadNumber(1);

for i=1:L;

if maxm<=HeadNumber(i);

maxm=HeadNumber(i);

end;

end;

maxn=EndNumber(1);

for i=1:L;

if maxn<=EndNumber(i);

maxn=EndNumber(i);

end;

end;

Y=Y(1:max(maxm,maxn),1:max(maxm,maxn));

------------------------------------------形成'B矩阵--------------------------------------------- function Ba=B1(x,y)

x=[1,1,2,2,0.040,0.250,0.250,0;

1,1,3,3,0.100,0.350,0.000,0;

2,2,3,3,0.080,0.300,0.250,0;

2,2,4,4,0.000,0.015,0,1.050;

3,3,5,5,0.000,0.030,0,1.050];

y=[ 0,5,0,1.05,1.05,0;

1,4,5.0,1.05,1.05,0;

2,3,-3.7,-1.3,1,0;

2,2,-2.0,-1.0,1,0;

2,1,-1.6,-0.8,1,0];

X=x(:,6);

for i=1:4

Ba(i)=-1/X(i);

i=i+1;

if i==4

Ba(i)=-1/X(i+1);

end;

end;

Bc=zeros(4,4);

for m=1:4;

for n=1:4;

if m==n;

Bc(m,m)=Ba(m);

else

Bc(m,n)=0;

end;

end;

电力系统计算程序设计(包含源程序)

电力系统计算程序设计(包含matlab源程序)

广西大学电气工程学院 2007年1月 第一章原始数据 电力系统原始数据是电力系统计算的基础。电力系统每个计算程序都要求输入一定的原始数据,这些数据可以反映电力网络结构、电力系统正常运行条件、电力系统各元件参数和特性曲线。不同的计算程序需要不用的原始数据。 第一节电力网络的描述 电力网络是由输电线路、电力变压器、电容器和电抗器等元件组成。这些元件一般用集中参数的电阻、电抗和电容表示。为了表示电力网络中各元件是怎样互相连接的,通常要对网络节点进行编号。电力网络的结构和参数由电力网络中各支路的特性来描述。 1.1.1 线路参数 在电力系统程序设计中,线路参数一般采用线路的Π型数学模型,即线路用节点间的阻抗和节点对地容性电纳来表示,由于线路的对地电导很小,一般可忽略不计。其等价回路如下: r+jx -jb/2 对于线路参数的数据文件格式一般可写为: 线路参数(序号,节点i,节点j,r,x,b/2) 1.1.2 变压器参数

在电力系统程序设计中,变压器参数一般采用Π型等值变压器模型,这是一种可等值地体现变压器电压变换功能的模型。在多电压级网络计算中采用这种变压器模型后,就可不必进行参数和变量的归算。双绕组变压器的等值回路如下: k Z T k:1 Z T (a)接入理想变压器后的等值电路(b) 等值电路以导纳表示 (c) 等值电路以导纳表示 三绕组变压器的等值回路如下: 综合所述,三绕组变压器的等值电路可以用两个双绕组变压器的等值电

路来表示。因此,对于变压器参数的数据文件格式一般可写为:变压器参数(序号,节点i,节点j,r,x,k0) 其中,k0表示变压器变比。 1.1.3对地支路参数 对地支路参数一般以导纳形式表示,其等价回路如下: i g-jb 对地支路参数的数据文件格式一般可写为: 接地支路参数(序号,节点i,g i,b i) 第二节电力系统运行条件数据 电力系统运行条件数据包括发电机(含调相机)所连接的节点号、有功与无功功率;负荷所连接的节点号、有功与无功功率;PV节点与给定电压值;平衡节点的节点号与给定电压值。 1.2.1节点功率参数 电力系统中有流入流出功率的称为功率节点,有流入功率的称发电节点,一般为各发电站、枢纽变电站等节点;有流出功率的称负荷节点。对于电力系统稳态计算来说,功率节点都用有功功率P和无功功率Q来简单表示。其等价回路如下: Q G P G P L Q L 节点功率参数的数据文件格式一般可写为:

计算机潮流计算程序代码

G(5,5)=6.250;B(5,5)=-18.750;G(5,2)=-5.00;B(5,2)=15.000; G(5,3)=-1.250;B(5,3)=3.750;G(5,4)=0;B(5,4)=0; G(5,1)=0;B(5,1)=0; G(2,5)=-5.00;B(2,5)=15.000;G(2,2)=10.834;B(2,2)=-32.500;G(2,3)=-1.677;B(2,3)=5.00; G(2,4)=-1.667;B(2,4)=5.00;G(2,1)=-2.500;B(2,1)=7.500; G(3,5)=-1.250;B(3,5)=3.750;G(3,2)=-1.667;B(3,2)=5.00;G(3,3)=12.917;B(3,3)=-38.750; G(3,4)=-10.000;B(3,4)=30.000;G(3,1)=0;B(3,1)=0; G(4,5)=0;B(4,5)=0;G(4,2)=-1.667;B(4,2)=5.000;G(4,3)=-10.000;B(4,3)=30.000; G(4,4)=12.917;B(4,4)=-38.750;G(4,1)=-1.250;B(4,1)=3.750; G(1,5)=0;B(1,5)=0;G(1,2)=-2.500;B(1,2)=7.500;G(1,3)=0;B(1,3)=0; G(1,4)=-1.250;B(1,4)=3.750;G(1,1)=3.750;B(1,1)=-11.250; Y=G+j*B delt(1)=0; delt(2)=0; delt(3)=0; delt(4)=0; u(1)=1.0; u(2)=1.0; u(3)=1.0; u(4)=1.0; ps(2)=0.2;qs(2)=0.20;ps(3)=-0.45;qs(3)=-0.15; ps(4)=-0.4;qs(4)=-0.05; ps(1)=-0.6;qs(1)=-0.1; k=1;precision=1; N1=4; while precision>0.0001 delt(5)=0;u(5)=1.06; for m=1:N1 for n=1:N1+1 pt(n)=u(m)*u(n)*(G(m,n)*cos(delt(m)-delt(n))+B(m,n)*sin(delt(m)-delt(n))); qt(n)=u(m)*u(n)*(G(m,n)*sin(delt(m)-delt(n))-B(m,n)*cos(delt(m)-delt(n))); end pi(m)=sum(pt);qi(m)=sum(qt); dp(m)=ps(m)-pi(m); dq(m)=qs(m)-qi(m); end for m=1:N1 for n=1:N1 if m==n H(m,m)=-qi(m)-u(m)^2*B(m,m); N(m,m)=pi(m)+u(m)^2*G(m,m); J(m,m)=pi(m)-u(m)^2*G(m,m); L(m,m)=qi(m)-u(m)^2*B(m,m); JJ(2*m-1,2*m-1)=H(m,m); JJ(2*m-1,2*m)=N(m,m); JJ(2*m,2*m-1)=J(m,m); JJ(2*m,2*m)=L(m,m); else H(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); JJ(2*m-1,2*n-1)=H(m,n);JJ(2*m-1,2*n)=N(m,n); JJ(2*m,2*n-1)=J(m,n); JJ(2*m,2*n)=L(m,n); end

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 %给定各节点初始电压的实部和虚部

两机五节点网络潮流计算

内蒙古科技大学 电力系统稳态分析课程设计 题目:两机五节点网络潮流计算 —牛拉法 姓名:朱润民 学号:1167130230 学院:信息工程学院 专业:电气工程及其自动化 班级:11级电气2班 指导教师:刘景霞

目录 目录 ........................................................................... - 1 - 摘要 ........................................................................ - 2 - ABSTRACT ....................................................................... - 3 - 内蒙古科技大学课程设计任务书.................................................... - 3 - 第一章电力系统潮流计算简述...................................................... - 7 - 1.1 潮流计算简介............................................................ - 7 - 1.2潮流计算的意义及发展史.................................................. - 7 - 第二章潮流计算的数学模型....................................................... - 9 - 2.1 导纳矩阵的原理及计算方法............................................... - 9 - 2.2 潮流计算的基本方程.................................................... - 11 - 2.2 电力系统节点分类...................................................... - 11 - 2.4 潮流计算的约束条件.................................................... - 11 - 第三章牛顿-拉夫逊法概述...................................................... - 16 - 3.1 牛顿-拉夫逊法基本原理................................................. - 16 - 3.2 牛顿-拉夫逊法潮流求解过程............................................. - 16 - 3.3 牛顿—拉夫逊法的程序框图.............................................. - 22 - 第四章关于电力系统潮流计算手工计算........................................... - 23 - 4.1.节点导纳矩阵........................................................... - 23 - 4.2简化雅可比矩阵......................................................... - 24 - 4.3 修正、迭代 ............................................................ - 24 - 第五章牛顿—拉夫逊法潮流具体计算............................................. - 25 - 5.1 牛顿—拉夫逊直角坐标潮流计算Matlab程序及运行结果..................... - 25 - 5.1.1 Matlab程序...................................................... - 25 - 5.1.2 Matlab程序运行结果.............................................. - 25 - 5.1.3本程序的符号说明................................................. - 49 - 总结及感想 .................................................................... - 50 - 参考文献及资料; .............................................................. - 51 -

潮流计算的计算机算法

第四章潮流计算的计算机算法 第一节概述 潮流计算是电力系统最基本、最常用的计算。根据系统给定的运行条件、网络接线及元件参数,通过潮流计算可以确定各母线的电压(幅值及相角),各元件中流过的功率、整个系统的功率损耗等。潮流计算是实现电力系统安全经济发供电的必要手段和重要工作环节。因此潮流计算在电力系统的规划设计、生产运行、调度管理及科学研究中都有着广泛的应用。 电力系统潮流计算分为离线潮流计算和在线潮流计算。前者主要用于系统规划设计和安排系统的运行方式,后者则用于正在运行系统的经常监视及实时控制。本章主要讨论离线潮流计算问题,它的基本算法同样适用于在线潮流计算。 潮流计算在数学上是多元非线性方程组的求解问题,求解的方法有很多种。自从五十年代计算机应用于电力系统以来,当时求解潮流的方法是以节点导纳矩阵为基础的逐次代入法(导纳法),后来为解决导纳法的收敛性较差的问题,出现了以阻抗矩阵为基础的逐次代入法(阻抗法)。到六十年代,针对阻抗法占用计算机内存大的问题又出现了分块阻抗法及牛顿-拉夫逊(Newton-Raphson)法。Newton —Raphson法是数学上解非线形方程式的有效方法,有较好的收敛性。将N-R法用于潮流计算是以导纳矩阵为基础的,由于利用了导纳矩阵的对称性、稀疏性及节点编号顺序优化等技巧,使N-R法在收敛性、占用内存、计算速度方面的优点都超过了阻抗法,成为六十年代末期以后普遍采用的方法。同时国内外广泛研究了诸如非线形规划法、直流法、交流法等各种不同的潮流计算方法。七十年代以来,又涌现出了更新的潮流计算方法。其中有1974年由B、Stott、O、Alsac 提出的快速分解法以及1978年由岩本伸一等提出的保留非线性的高 129

潮流计算matlab程序

clear; %各节点参数:节点编号,类型,电压幅值,电压相位,注入有功,注入无功%类型:1=PQ节点,2=PV节点,3=平衡节点 %本程序中将最后一个节点设为平衡节点 R_1=[1 1 1.0 0 0.2 0.2j; 2 1 1.0 0 -0.45 -0.15j; 3 1 1.0 0 -0.45 -0.05j; 4 1 1.0 0 -0.6 -0.1j; 5 3 1.0 0 0 0]; %支路号首端节点末端节点支路导纳 R_2=[1 5 2 1.25-3.75j; 2 2 3 10.00-30.00j; 3 3 4 1.25-3.75j; 4 1 4 2.50-7.50j; 5 1 5 5.00-15.00j; 6 1 2 1.667-5.00j]; n=5;L=6;%需要改变的到此为止 i=0;j=0;a=0;precision=1;k=0; Y=zeros(n,n);u=zeros(1,n);delt=zeros(1,n);P=zeros(1,n);Q=zeros(1,n); G=[];B=[];PP=[];uu=[];U=[];dp=[];dq=[]; for a=1:L i=R_2(a,2); j=R_2(a,3); Y(i,j)=-R_2(a,4); Y(j,i)=Y(i,j); end for a=1:n for b=1:n if a~=b Y(a,a)=Y(a,a)+Y(a,b); end end end for i=1:n for j=1:n if i==j Y(i,j)=-Y(i,j); end end end Y %形成导纳矩阵 for i=1:n for j=1:n G(i,j)=real(Y(i,j));

牛拉法潮流计算

%本程序的功能是用牛拉法进行潮流计算 %原理介绍详见鞠平著《电气工程》 %默认数据为鞠平著《电气工程》例8.4所示数据 %B1是支路参数矩阵 %第一列和第二列是节点编号。节点编号由小到大编写 %对于含有变压器的支路,第一列为低压侧节点编号,第二列为高压侧节点编号 %第三列为支路的串列阻抗参数,含变压器支路此值为变压器短路电抗 %第四列为支路的对地导纳参数,含变压器支路此值不代入计算 %第五烈为含变压器支路的变压器的变比,变压器非标准电压比 %第六列为变压器是否是否含有变压器的参数,其中“1”为含有变压器,“0”为不含有变压器 %B2为节点参数矩阵 %第一列为节点注入发电功率参数 %第二列为节点负荷功率参数 %第三列为节点电压参数 %第四列 %第五列 %第六列为节点类型参数,“1”为平衡节点,“2”为PQ节点,“3”为PV节点参数 %X为节点号和对地参数矩阵 %第一列为节点编号 %第二列为节点对地参数 clear; clc; num=input('是否采用默认数据?(1-默认数据;2-手动输入)'); if num==1 n=4; n1=4; isb=4; pr=0.00001; B1=[1 2 0.1667i 0 0.8864 1;1 3 0.1302+0.2479i 0.0258i 1 0;1 4 0.1736+0.3306i 0.0344i 1 0;3 4 0.2603+0.4959i 0.0518i 1 0]; B2=[0 0 1 0 0 2;0 -0.5-0.3i 1 0 0 2;0.2 0 1.05 0 0 3;0 -0.15-0.1i 1.05 0 0 1]; X=[1 0;2 0.05i;3 0;4 0];

用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的潮流计算源程序代码(优.选)

%*************************电力系统直角坐标系下的牛顿拉夫逊法潮流计算********** 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;

牛拉法潮流计算

自动化07-1班段佳 07051101 function nl; %------------------------------------------------------------------------ %=================================================================== %======================牛顿——拉夫逊法============================== %===========================潮流计算================================= %=================================================================== %----------------------------------------------------------------------- % % %---------------使用说明部分--------------------------- display('% %本程序的功能是用牛顿——拉夫逊法进行潮流计算'); display('% %本程序要求用户按照一定的格式将电力系统的参数制成excel表格,系统运行时将从excel中加载这些参数,随后后即可进行潮流计算'); display('% %为了方便运算,用户再给系统节点进行编号时,请按照先PQ节点,再PV节点,最后平衡节点的顺序从小到大编号'); display('% %电力系统潮流计算excel格式——支路参数:1、支路首端号;2、末端号;3、支路阻抗;4、支路对地电纳;5、支路的变比K:1;6、支路首端处于K侧为1,1侧为0'); display('% %电力系统潮流计算excel格式——节点参数:1、节点号;2、电压大小;3、相位角;4、发电机有功;5、发电机无功;6、负载有功;7、负载无功;8、节点类型'); %=================================================================== %==============================数据准备============================== %=================================================================== % %---------------------电力系统数据加载部分----------------------------------------------- clear x=0; Branch=0;%支路参数 Note=0;%节点参数 [filename, pathname] = uigetfile('*.xls', 'please choose the excel file with your powersystem parameters ');%从外部excel导入电力系统潮流计算相关参数 try if filename ~= 0 x=xlsread([pathname,filename],'sheet1', 'A3:F3'); Branch=xlsread([pathname,filename],'sheet1', 'A5:G10');%读支路参数 Note=xlsread([pathname,filename],'sheet1', 'A15:H19');%读节点参数 end catch %进行出错处理 errmsg = lasterr; errordlg(errmsg,'Save as Error'); rethrow(lasterror); end % %---------------------支路参数初始化部分-----------------------------------------------

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

电力系统分析潮流计算程序设计报告题目:13节点配电网潮流计算 学院电气工程学院 专业班级 学生姓名 学号 班内序号 指导教师房大中 提交日期 2015年05月04日

目录 一、程序设计目的 (2) 二、程序设计要求 (4) 三、13节点配网潮流计算 (4) 3.1主要流程................................................................................................ 错误!未定义书签。 3.1.1第一步的前推公式如下(1-1)-(1-5): .................................. 错误!未定义书签。 3.1.2第二步的回代公式如下(1-6)—(1-9): ................................ 错误!未定义书签。 3.2配网前推后代潮流计算的原理 (7) 3.3配网前推后代潮流计算迭代过程 (8) 3.3计算原理 (9) 四、计算框图流程 (10) 五、确定前推回代支路次序....................................................................................... 错误!未定义书签。 六、前推回代计算输入文件 (11) 主程序: (11) 输入文件清单: (12) 计算结果: (13) 数据分析: (13) 七、配电网潮流计算的要点 (14) 八、自我总结 (14) 九、参考文献 (15) 附录一 MATLAB的简介 (15)

潮流计算的计算机算法

高等电力系统分析 (潮流计算的计算机算法)PQ分解法潮流计算(IEEE14)

目录 一、MATLAB源程序 二、对支路参数(B1)、节点参数(B2)的说明 三、带入数据,运行结果

一、MATLAB源程序 clear close all n=input('请输入节点数:n='); n1=input('请输入支路数:n1='); isb=input('请输入平衡节点号:isb='); pr=input('请输入误差精度:pr='); B1=input('请输入支路参数:B1='); B2=input('请输入节点参数:B2='); n2=input('请输入PQ节点个数:n2='); Y=zeros(n); for i=1:n1 p=B1(i,1); q=B1(i,2); Y(p,q)=Y(p,q)-1/(B1(i,3)+B1(i,4)*1j); %非对角元 Y(q,p)=Y(p,q); Y(p,p)=Y(p,p)+1/(B1(i,3)+B1(i,4)*1j)+B1(i,6)*1j; %对角元 Y(q,q)=Y(q,q)+1/(B1(i,3)+B1(i,4)*1j)+B1(i,6)*1j; end disp('导纳矩阵Y='); disp(Y) %--------------------------------------------- %---------------下面是求P,Q,V,O矩阵--------------- V=zeros(1,n);O=zeros(1,n);P=zeros(1,n);Q=zeros(1,n); G=real(Y);B=imag(Y); for i=1:n P(i)=B2(i,3); Q(i)=B2(i,4); V(i)=B2(i,5); O(i)=B2(i,6); end B3=B(1:n-1,1:n-1); %不含平衡节点,由节点导纳虚部构成 B4=B(1:n2,1:n2); %所有PQ节点 %---------------------------------------------- %---------------下面是求ΔP,ΔQ矩阵--------------- DX=0;ICT=1;Mp=1;Mq=1; while ICT~=0 m1=1;m2=1; for i=1:n

潮流计算C++程序

程序为计算书3-4的过程 程序可以解决开式单直网络和树状网络的计算。树状网络计算时要自己先设定好支路的起始节点和终止节点标号以及计算顺序源代码: #include #include #include #include using namespace std; struct node{//节点类 int i;//节点编号 double U,P,Q,delta;//额定电压计算负荷电压相角 }; struct line{//线路类连接父节点子节点 node f_node,s_node;//父节点子节点 double R,X,B;//线路参数R X B/2 double P_in,Q_in,P_out,Q_out,d_P,d_Q,D_U,d_U;//线路输入输出功率以及线路消耗功率 void Set_node(node nod1,node nod2){ f_node=nod1; s_node=nod2; } }; void fun1(line &lin){//由后往前递推功率 double p=lin.P_out; double q=lin.Q_out; double u=lin.s_node.U; lin.d_P=(p*p+q*q)/u/u*lin.R; lin.d_Q=(p*p+q*q)/u/u*lin.X; lin.P_in=lin.d_P+lin.P_out; lin.Q_in=lin.d_Q+lin.Q_out; }; void fun2(line &lin){//由前往后推电压 double p=lin.P_in; double q=lin.Q_in; double u=lin.f_node.U; lin.D_U=(p*lin.R+q*lin.X)/u; lin.d_U=(p*lin.X-q*lin.R)/u; lin.s_node.U=sqrt(pow(lin.f_node.U-lin.D_U,2)+pow(lin.d_U,2));//子节点电压 lin.s_node.delta=lin.f_node.delta-atan(lin.d_U/(lin.f_node.U-lin.D_U)); }; void fun3(line &lin){//由前往后推电压不计横向分量 double p=lin.P_in; double q=lin.Q_in;

潮流计算程序

最大负荷时 %本程序的功能是用牛顿——拉夫逊法进行潮流计算 % B1矩阵:1、支路首端号;2、末端号;3、支路阻抗;4、支路对地电纳 % 5、支路的变比;6、支路首端处于K侧为1,1侧为0 % B2矩阵:1、该节点发电机功率;2、该节点负荷功率;3、节点电压初始值% 4、PV节点电压V的给定值;5、节点所接的无功补偿设备的容量 % 6、节点分类标号 clear; n=12;%input('请输入节点数:n='); nl=14;%input('请输入支路数:nl='); isb=1;%input('请输入平衡母线节点号:isb='); pr=0.00001;%input('请输入误差精度:pr='); B1=[1 2 3.3+11.48i 0 1 0; 1 4 3.87+15.375i 0 1 0; 1 6 5.8+18.8i 0 1 0; 2 3 2.39+34.95i 0 1.02 1; 4 5 1.59+23.3i 0 1.02 1; 2 4 4.67+18.34i 0 1 0; 6 7 2.39+24.35i 0 1.02 1; 8 9 2.39+24.35i 0 1.02 1; 10 11 2.39+24.35i 0 1.02 1; 8 10 1.7+11.2i 0 1 0; 4 12 4.2+13.9i 0 1 0; 6 12 4.2+14.64i 0 1 0; 8 12 2.2+13.9i 0 1 0; 10 12 2.4+15.2i 0 1 0]; %input('请输入由支路参数形成的矩阵: B1='); B2=[0 0 231 231 0 1; 0 0 220 0 0 2; 0 100+75i 220 0 0 2; 0 0 220 0 0 2; 0 100+75i 220 0 0 2; 0 0 220 0 0 2; 0 150+112.5i 220 0 0 2; 0 0 220 0 0 2; 0 150+112.5i 220 0 0 2; 0 0 220 0 0 2; 0 150+112.5i 220 0 0 2; 450 0 231 231 0 3];%input('请输入各节点参数形成的矩阵: B2='); Y=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);sida=zeros(1,n);S1= zeros(nl); %-------修改部分------------ ym=1;

潮流计算设计

毕业设计(论文)题目配电网潮流计算与程序设计 完成日期年月日

目录 1绪论 (4) 1.1潮流计算的目的和意义 (4) 1.2潮流计算的发展 (4) 1.3本文的主要工作 (6) 2 配电网络模型 (6) 2.1线路模型 (6) 2.2变压器的模型 (9) 2.3 负荷模型 (13) 3基于前推回代法的潮流计算 (14) 4基于matlab的程序设计 (15) 4.1 MATLAB简介 (15) 4.2 程序设计 (16) 4.3 算例 (20) 5 总结 (24)

配电网潮流计算与程序设计 摘要:在电力系统的正常运行中,随着用电负荷的变化和系统运行方式的改变,网络中的损耗也将发生变化。要严格保证所有的用户在任何时刻都有额定的电压是不可能的,因此系统运行中个节点出现电压的偏移是不可避免的。为了保证电力系统的稳定运行,要进行潮流调节。 Abstract:In the normal operation of the power system, with the change of power load and the change of system operation mode, the network losses will also change. To strictly ensure that all users at any time have a rated voltage is impossible, so the node appears in the operation of the system voltage deviation is inevitable. In order to guarantee the stable operation of power system, must carry on the trend of the regulation. 关键词: 电网潮流计算前推后代法MATLAB Keywords:Power flow calculation Push the offspring before MATLAB 前言 电力是以电能作为动力的能源。发明于19世纪70 年代,电力的发明和应用掀起了第二次工业化高潮。成为人类历史18世纪以来,世界发生的三次科技革命之一,从此科技改变了人们的生活。既是是当今的互联网时代我们仍然对电力有着持续增长的需求,因为我们发明了电脑、家电等更多使用电力的产品。不可否认新技术的不断出现使得电力成为人们的必需品。 20世纪出现的大规模电力系统是人类工程科学史上最重要的成就之一,是由发电、输电、变电、配电和用电等环节组成的电力生产与消费系统。它的功能是将自然界的一次能源通过发电动力装置转化成电能,再经输电、变电和配电将电能供应到各用户。为实现这一功能,电力系统在各个环节和不同层次还具有相应的信息与控制系统,对电能的生产过程进行测量、调节、控制、保护、通信和调度,以保证用户获得安全、经济、优质的电能。 电力工业发展初期,电能是直接在用户附近的发电站(或称发电厂)中生产的,各发电站孤立运行。随着工农业生产和城市的发展,电能的需要量迅速增加,而热能资源和水能资源丰富的地区又往往远离用电比较集中的城市和工矿区,为了解决这个矛盾,就需要在动力资源丰富的地区建立大型发电站,然后将电能远距离输送给电力用户。同时,为了提高供电的可靠性以及资源利用的综合经济性,又把许多分散的各种形式的发电站,通过送电线路和变电所联系起来。这种由发电机、升压和降压变电所,送电线路以及用电设备有机连接起来的整体,即称为电力系统。 随着电力系统及在线应用的发展,计算机网络已经形成,为电力系统的潮流计算提供了物质基础。电力系统潮流计算是电力系统分析计算中最基本的内容,也是电力系统运行及设计中必不可少的工具。根据系统给定的运行条件、网络接线及元件参数,通过潮流计算可以确定各母线电压的幅值及相角、各元件中流过

电力系统分析潮流计算大作业

电力系统分析潮流计算大作业(源程序及实验报告)

源程序如下: 采用直角坐标系的牛顿-拉夫逊迭代 function chaoliujisuan() m=3; %m=PQ节点个数 v=1;%v=PV节点个数 P=[-0.8055 -0.18 0]; %P=PQ节点的P值 Q=[-0.5320 -0.12 0]; %Q=PQ节点的Q值 PP=[0.5];%PP=PV节点的P值 V=[1.0];%V=PV节点的U值 E=[1 1 1 1.0 1.0]'; %E=PQ,PV,Vθ节点e的初值 F=[0 0 0 0 0]'; %F=PQ,PV,Vθ节点f的初值 G=[ 6.3110 -3.5587 -2.7523 0 0; -3.5587 8.5587 -5 0 0; -2.7523 -5 7.7523 0 0; 0 0 0 0 0; 0 0 0 0 0 ]; B=[ -20.4022 11.3879 9.1743 0 0; 11.3879 -31.00937 15 4.9889 0; 9.1743 15 -28.7757 0 4.9889; 0 4.9889 0 5.2493 0; 0 0 4.9889 0 -5.2493 ]; Y=G+j*B; X=[]; %X=△X n=m+v+1;%总的节点数 FX=ones(2*n-2,1);%F(x)矩阵 F1=zeros(n-1,n-1);%F(x)导数矩阵 a=0;%记录迭代次数 EF=zeros(n-1,n-1);%最后的节点电压矩阵 while max(FX)>=10^(-5) for i=1:m %PQ节点 FX(i)=P(i);%△P FX(n+i-1)=Q(i);%△Q for w=1:n FX(i)= FX(i)-E(i)*G(i,w)*E(w)+E(i)*B(i,w)*F(w)-F(i)*G(i,w)*F(w)-F(i)*B(i,w)*E(w); %△P FX(n+i-1)=FX(n+i-1)-F(i)*G(i,w)*E(w)+F(i)*B(i,w)*F(w)+E(i)*G(i,w)*F(w)+E(i)*B(i ,w)*E(w); %△Q end

相关文档
相关文档 最新文档