潮流计算的计算机算法

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

高等电力系统分析

(潮流计算的计算机算

法)

PQ分解法潮流计算(IEEE14)

目录

一、MATLAB源程序

二、对支路参数(B1)、节点参数(B2)的说明

三、带入数据,运行结果

、MATLAB源程序clear

close all

n=in put(' 请输入节点数:n=');

n仁in put(' 请输入支路数:n 1=') J

isb=in put(' 请输入平衡节点号:isb=')

pr=i nput(' 请输入误差精度:pr=');

B1=i nput(' 请输入支路参数:B1 =');

B2=i nput(' 请输入节点参数:B2=');

n2=in put(' 请输入PQ节点个数::n 2=');

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,0矩阵------------------------- 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

if i~=isb

C(i)=O;

D(i)=O;

for j1=1:n

C(i)=C(i)+V(i)*V(j1)*(G(i,j1)*cos(O(i)-O(j1))+B(i,j1)*si n( O(i)-O(

j1)));

D(i)=D(i)+V(i)*V(j1)*(G(i,j1)*si n(O(i)-O(j1))-B(i,j1)*cos(O(i)-O( j1)));

end

DP(m1)=P(i)-C(i); m1=m1+1;

if B2(i,2)==1 DQ(m2)=Q(i)-D(i); m2=m2+1;

end

end

end

m1=m1-1; %

m2=m2-1; %PQ DPQ=[DP';DQ']; %

V仁V(:,1:m1);

V2=diag(V1);

V3=i nv(V2); %

H=V3*DP'; %

K=-i nv(B3)*H; %-

deltO=V3*K; % max1=max(abs(DP)); for i=1:m1

if max1

Mp=0;

else

O(i)=O(i)+deltO(i)'; Mq=1;

end

end

V4=V(:,1:m2);

V5=diag(V4);

V6=i nv(V5);

L=V6*DQ';

N=-i nv(B4)*L; deltV=N; %

max2=max(abs(DQ));

for i=1:m2

if max2

Mq=0;

else

if B2(i,2)==1;

V(i)=V(i)+deltV(i):

Mp=1;

end

所有节点数

节点数

求DP,DQ

对V矩阵求逆

△ P/V

△ P/V/B3

△角=-△ P/V/V/B3 △ V=- △ Q/V/B

end

end

if Mp==0&&Mq==0

ICT=0;

else

ICT=1;

end

DX=DX+1;

end

% ---------------------------------------

% --------------- 迭代结束,开始输出结果

disp(' ---------------------------------------- ');

disp(' 迭代次数为:');

disp(DX);

for i=1: n

E(i)=V(i)*cos(O(i))+1j*V(i)*si n( O(i)); o(i)= 180*a ngle(E(i))/pi;

end

disp(' ---------------------------------------- ');

disp(' 修正后各节点电压标么值为(节点号从小到大排列) :'); disp(V);

disp(' ---------------------------------------- ');

disp(' 修正后各节点电压相角为(节点号从小到大排列) :'); disp(o);

% ----------- 计算各个节点的功率

disp(' ---------------------------------------- ');

disp(' 各节点的功率为:');

for p=1: n

C(p)=0;

for q=1: n

C(p)=C(p)+conj(Y(p,q)*conj(E(q)));

end

S(p)=E(p)*C(p);

end

disp(S);

% ----------- 计算各支路的功率-------------------------

for i=1: n1 p=B1(i,1);q=B1(i,2);

Si(p,q)=E(p)*(conj(E(p))*conj(Y(p,p)-Y(p,q))+(conj(E(p))-conj(E(q )))*conj(Y(p,q)));

相关文档
最新文档