潮流计算matlab程序

  • 格式:docx
  • 大小:17.26 KB
  • 文档页数:3

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)); B(i,j)=imag(Y(i,j));

end

end

for a=1:n

u(a)=R_1(a,3);

P(a)=R_1(a,5);

Q(a)=R_1(a,6);

delt(a)=R_1(a,4);

end

while precision>0.0001 %判断是否满足精度要求

for a=1:n-1

for b=1:n

pt(b)=u(a)*u(b)*(G(a,b)*cos(delt(a)-delt(b))+B(a,b)*sin(delt(a)-delt(b)));

qt(b)=u(a)*u(b)*(G(a,b)*sin(delt(a)-delt(b))-B(a,b)*cos(delt(a)-delt(b)));

end

pt,qt

pi(a)=sum(pt);qi(a)=sum(qt); %计算PQ节点的注入功率

dp(a)=P(a)-pi(a);

dq(a)=Q(a)-qi(a); %计算PQ节点的功率不平衡量

end

for a=1:n-1

for b=1:n-1

if a==b

H(a,a)=-qi(a)-u(a)^2*B(a,a); N(a,a)=pi(a)+u(a)^2*G(a,a);

J(a,a)=pi(a)-u(a)^2*G(a,a); L(a,a)=qi(a)-u(a)^2*B(a,a);

JJ(2*a-1,2*a-1)=H(a,a); JJ(2*a-1,2*a)=N(a,a);

JJ(2*a,2*a-1)=J(a,a); JJ(2*a,2*a)=L(a,a);

else

H(a,b)=u(a)*u(b)*(G(a,b)*sin(delt(a)-delt(b))-B(a,b)*cos(delt(a)-delt(b)));

J(a,b)=-u(a)*u(b)*(G(a,b)*cos(delt(a)-delt(b))+B(a,b)*sin(delt(a)-delt(b)));

N(a,b)=-J(a,b);L(a,b)=H(a,b);

JJ(2*a-1,2*b-1)=H(a,b);JJ(2*a-1,2*b)=N(a,b);

JJ(2*a,2*b-1)=J(a,b); JJ(2*a,2*b)=L(a,b);

end

end

end %计算jocbi各项,并放入统一矩阵JJ中,对JJ下标统一编号

JJ

for a=1:n-1

PP(2*a-1)=dp(a);

PP(2*a)=dq(a);

end %按统一矩阵形成功率不平衡

uu=inv(JJ)*PP';precision=max(abs(uu)); %判断是否收敛

for b=1:n-1

delt(b)=delt(b)+uu(2*b-1); u(b)=u(b)+uu(2*b)*u(b); %将结果分解为电压幅值和角度

end %求解修正方程,得电压幅值变化量(标幺值)和角度变化量

k=k+1;

end

for a=1:n

U(a)=u(a)*(cos(delt(a))+j*sin(delt(a)));

end

for b=1:n

I(b)=Y(n,b)*U(b);%求平衡节点的注入电流

end

S5=U(n)*sum(conj(I))%求平衡节点的注入功率

for a=1:n

for b=1:n

S(a,b)=U(a)*(conj(U(a))-conj(U(b)))*conj(-Y(a,b));

end

end %求节点i,j节点之间的功率,方向为由i指向j,

S %显示支路功率