5节点电力系统牛顿拉夫逊法潮流计算.docx
《5节点电力系统牛顿拉夫逊法潮流计算.docx》由会员分享,可在线阅读,更多相关《5节点电力系统牛顿拉夫逊法潮流计算.docx(11页珍藏版)》请在冰豆网上搜索。
5节点电力系统牛顿拉夫逊法潮流计算
学校代码:
10128
学号:
20141100304
课程论文
(
题目:
五节点系统计算机潮流计算编程
学生姓名:
张佳羽
学院:
电力学院
系别:
电力系
专业:
电力系统及其自动化
指导教师:
郭力萍
二〇一四年十二月
程序设计
%本程序的功能是用牛顿拉夫逊法进行潮流计算
n=input('请输入节点数:
n=’);
nl=input(’请输入支路数:
nl=');
isb=input('请输入平衡母线节点号:
isb=’);
pr=input('请输入误差精度:
pr=’);
B1=input(’请输入由各支路参数形成的矩阵:
B1=');
B2=input(’请输入各节点参数形成的矩阵:
B2=’);
X=input('请输入由节点号及其对地阻抗形成的矩阵:
X=’);
Y=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);
O=zeros(1,n);S1=zeros(nl);
fori=1:
nl
ifB1(i,6)==0
p=B1(i,1);q=B1(i,2);
elsep=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;
Y(p,p)=Y(p,p)+1。
/B1(i,3)+B1(i,4)./2;
end
%求导纳矩阵
disp('导纳矩阵Y=');
disp(Y);
G=real(Y);B=imag(Y);
fori=1:
n
e(i)=real(B2(i,3));
f(i)=imag(B2(i,3));
V(i)=B2(i,4);
end
fori=1:
n
S(i)=B2(i,1)—B2(i,2);
B(i,i)=B(i,i)+B2(i,5);
end
P=real(S);Q=imag(S);
ICT1=0;IT2=1;N0=2*n;N=N0+1;a=0;
whileIT2~=0
IT2=0;a=a+1;
fori=1:
n
ifi~=isb
C(i)=0;
D(i)=0;
forj1=1:
n
C(i)=C(i)+G(i,j1)*e(j1)—B(i,j1)*f(j1);
D(i)=D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1);
end
P1=C(i)*e(i)+f(i)*D(i);
Q1=f(i)*C(i)—D(i)*e(i);
V2=e(i)^2+f(i)^2;
ifB2(i,6)~=3
DP=P(i)-P1;
DQ=Q(i)-Q1;
forj1=1:
n
ifj1~=isb&j1~=i
X1=-G(i,j1)*e(i)—B(i,j1)*f(i);
X2=B(i,j1)*e(i)—G(i,j1)*f(i);
X3=X2;
X4=-X1;
p=2*i-1;q=2*j1—1;J(p,q)=X3;J(p,N)=DQ;
m=p+1;
J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X4;J(m,q)=X2;
elseifj1==i&j1~=isb
X1=—C(i)-G(i,i)*e(i)—B(i,i)*f(i);
X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);
X3=D(i)+B(i,i)*e(i)-G(i,i)*f(i);
X4=-C(i)+G(i,i)*e(i)+B(i,i)*f(i);
p=2*i-1;q=2*j1—1;J(p,q)=X3;J(p,N)=DQ;m=p+1;
J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X4;J(m,q)=X2;
end
end
else
DP=P(i)—P1;
DV=V(i)^2—V2;
forj1=1:
n
ifj1~=isb&j1~=i
X1=—G(i,j1)*e(i)-B(i,j1)*f(i);
X2=B(i,j1)*e(i)—G(i,j1)*f(i);
X5=0;
X6=0;
p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV;m=p+1;
J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;J(m,q)=X2;
elseifj1==i&j1~=isb
X1=—C(i)—G(i,i)*e(i)—B(i,i)*f(i);
X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);
X5=-2*e(i);
X6=—2*f(i);
p=2*i-1;q=2*j1—1;J(p,q)=X5;J(p,N)=DV;
m=p+1;
J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;
J(m,q)=X2;
end
end
end
end
end
%求雅可比矩阵
fork=3:
N0
k1=k+1;N1=N;
fork2=k1:
N1
J(k,k2)=J(k,k2)./J(k,k);
end
J(k,k)=1;
ifk~=3;
k4=k—1;
fork3=3:
k4
fork2=k1:
N1
J(k3,k2)=J(k3,k2)—J(k3,k)*J(k,k2);
end
J(k3,k)=0;
end
ifk==N0,break;end
fork3=k1:
N0
fork2=k1:
N1
J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);
end
J(k3,k)=0;
end
else
fork3=k1:
N0
fork2=k1:
N1
J(k3,k2)=J(k3,k2)—J(k3,k)*J(k,k2);
end
J(k3,k)=0;
end
end
end
fork=3:
2:
N0—1
L=(k+1)。
/2;
e(L)=e(L)-J(k,N);
k1=k+1;
f(L)=f(L)-J(k1,N);
end
fork=3:
N0
DET=abs(J(k,N));
ifDET>=pr
IT2=IT2+1;
end
end
ICT2(a)=IT2;
ICT1=ICT1+1;
fork=1:
n
dy(k)=sqrt(e(k)^2+f(k)^2);
end
fori=1:
n
Dy(ICT1,i)=dy(i);
end
end
%用高斯消去法解“w=—J*V”
disp(’迭代次数');
disp(ICT1);
disp(’没有达到精度要求的个数');
disp(ICT2);
fork=1:
n
V(k)=sqrt(e(k)^2+f(k)^2);
shita(k)=atan(f(k)./e(k))*180/pi;
E(k)=e(k)+f(k)*j;
end
disp(’各节点的实际电压标么值E为(节点号从小到大排列):
');
disp(E);
disp('各节点的电压大小V为(节点号从小到大排列):
’);
disp(V);
disp(’各节点的电压相角时shita为(节点号从小到大排列):
');
disp(shita);
forp=1:
n
C(p)=0;
forq=1:
n
C(p)=C(p)+conj(Y(p,q))*conj(E(q));
end
S(p)=E(p)*C(p);
end
disp(’各节点的功率S为(节点号从小到大排列):
’);
disp(S);
disp('各条支路的首端功率Si为(顺序同您输入B1时一样):
’);
fori=1:
nl
ifB1(i,6)==0
p=B1(i,1);q=B1(i,2);
elsep=B1(i,2);q=B1(i,1);
end
Si(p,q)=E(p)*(conj(E(p))*conj(B1(i,4)./2)+(conj(E(p)*B1(i,5))-conj(E(q)))*conj(1。
/(B1(i,3)*B1(i,5))));
disp(Si(p,q));
end
disp(’各条支路的末端功率Sj为(顺序同您输入B1时一样):
’);
fori=1:
nl
ifB1(i,6)==0
p=B1(i,1);q=B1(i,2);
elsep=B1(i,2);q=B1(i,1);
end
Sj(q,p)=E(q)*(conj(E(q))*conj(B1(i,4)。
/2)+(conj(E(q)./B1(i,5))—conj(E(p)))*conj(1。
/(B1(i,3)*B1(i,5))));
disp(Sj(q,p));
end
disp(’各条支路的功率损耗DS为(顺序同您输入B1时一样):
’);
fori=1:
nl
ifB1(i,6)==0
p=B1(i,1);q=B1(i,2);
elsep=B1(i,2);q=B1(i,1);
end
DS(i)=Si(p,q)+Sj(q,p);
disp(DS(i));
end
fori=1:
ICT1
Cs(i)=i;
end
disp('以下是每次迭代后各节点的电压值(如图所示)');
plot(Cs,Dy),xlabel(’迭代次数’),ylabel('电压'),title('电压迭代次数曲线');
运行结果如下所示:
请输入节点数:
n=5
请输入支路数:
nl=5
请输入平衡母线节点号:
isb=1
请输入误差精度:
pr=〉>0.00001
请输入由各支路参数形成的矩阵:
B1=[120。
03i01.050;230。
08+0。
3i0。
5i10;240.1+0.35i010;340.04+0。
25i0。
5i10;350。
015i01.051]
请输入各节点参数形成的矩阵:
B2=[001。
051.0501;03。
7+1。
3i1002;02+1i1002;01.6+0。
8i1002;501.051.0503]
请输入由节点号及其对地阻抗形成的矩阵:
X=[10;20;30;40;50]
导纳矩阵Y
0—33。
3333i0+31.7460i000
0+31.7460i1.5846-35。
7379i-0。
8299+3。
1120i-0.7547+2。
6415i0
0—0。
8299+3。
1120i1。
4539—66.9808i-0。
6240+3。
9002i0+63.4921i
0—0。
7547+2。
6415i—0.6240+3。
9002i1.3787—6。
2917i0
000+63。
4921i00—66.6667i
迭代次数
5
没有达到精度要求的个数
78860
各节点的实际电压标么值E为(节点号从小到大排列):
1.05001.0335-0.0774i1.0260+0。
3305i0.8592—0.0718i0。
9746+0.3907i
各节点的电压大小V为(节点号从小到大排列):
1。
05001。
03641.07790。
86221。
0500
各节点的电压相角时shita为(节点号从小到大排列):
0—4。
281917。
8535-4。
778521。
8433
各节点的功率S为(节点号从小到大排列):
2。
5794+2。
2994i-3。
7000—1.3000i-2.0000-1.0000i—1。
6000-0.8000i5。
0000+1。
8131i
各条支路的首端功率Si为(顺序同您输入B1时一样):
2.5794+2。
2994i
-1。
2774+0。
2032i
0.1568+0.4713i
1。
5845+0.6726i
5.0000+1.8131i
各条支路的末端功率Sj为(顺序同您输入B1时一样):
—2.5794—1.9745i
1.4155-0.2443i
—0.1338-0。
3909i
—1。
4662—0.4091i
—5。
0000-1.4282i
各条支路的功率损耗DS为(顺序同您输入B1时一样):
—0.0000+0.3249i
0。
1381-0.0412i
0。
0230+0.0804i
0。
1184+0。
2635i
0。
0000+0。
3849i
本程序符号说明
(1)clc,clear清屏,清除以前显示结果;
(2)disp显示待输出的内容,如disp('节点总数为:
’),显示:
节点总数为:
;
(3)for,end;循环语句,用于要循环的地方;
(4)/正除;\反除;
(5)sum求和;
(6)conj复数求共轭;
(7)%注释
(8):
自然数循环如1:
5
以下是每次迭代后各节点的电压值(如图1所示):
图1每次迭代后各节点的电压值