matlab潮流计算

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

附录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));

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 while IT2~=0 % N0=2*n 雅可比矩阵的阶数;N=N0+1扩展列

IT2=0;a=a+1;

for i=1:n

if i~=isb %非平衡节点

C(i)=0;D(i)=0;

for j1=1:n

C(i)=C(i)+G(i,j1)*e(j1)-B(i,j1)*f(j1);%Σ(Gij*ej-Bij*fj)

D(i)=D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1);%Σ(Gij*fj+Bij*ej)

end

P1=C(i)*e(i)+f(i)*D(i);%节点功率P计算eiΣ(Gij*ej-Bij*fj)+fiΣ(Gij*fj+Bij*ej)

Q1=C(i)*f(i)-e(i)*D(i);%节点功率Q计算fiΣ(Gij*ej-Bij*fj)-eiΣ(Gij*fj+Bij*ej) %求i节点有功和无功功率P',Q'的计算值

V2=e(i)^2+f(i)^2; %电压模平方

%以下针对非PV节点来求取功率差及Jacobi矩阵元素----------------------------- if B2(i,6)~=3 %非PV节点

DP=P(i)-P1; %节点有功功率差

DQ=Q(i)-Q1; %节点无功功率差

%以上为除平衡节点外其它节点的功率计算--------------------------------------

%求取Jacobi矩阵----------------------------------------------------------

for j1=1:n

if j1~=isb&j1~=i %非平衡节点&非对角元

X1=-G(i,j1)*e(i)-B(i,j1)*f(i); % dP/de=-dQ/df

X2=B(i,j1)*e(i)-G(i,j1)*f(i); % dP/df=dQ/de

X3=X2; % X2=dp/df X3=dQ/de

X4=-X1; % X1=dP/de X4=dQ/df

p=2*i-1;q=2*j1-1;

J(p,q)=X3;J(p,N)=DQ;m=p+1; % X3=dQ/de J(p,N)=DQ节点无功功率差

J(m,q)=X1;J(m,N)=DP;q=q+1; % X1=dP/de J(m,N)=DP节点有功功率差

J(p,q)=X4;J(m,q)=X2; % X4=dQ/df X2=dp/df

elseif j1==i&j1~=isb %非平衡节点&对角元

X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);% dP/de

相关文档
最新文档