基于MATLAB的潮流计算.docx
《基于MATLAB的潮流计算.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的潮流计算.docx(9页珍藏版)》请在冰豆网上搜索。
![基于MATLAB的潮流计算.docx](https://file1.bdocx.com/fileroot1/2022-10/4/bce0db38-a58f-4a6e-8810-8561fe770841/bce0db38-a58f-4a6e-8810-8561fe7708411.gif)
2009—2010学年第二学期
《电力系统分析》
专业班级电气07-1
姓名**
学号*********
指导老师
日期2010年6月19日
电力系统分析大作业
1
要求计算所给系统的潮流设发电机G1的端电压为1p.u.发出的有功、无功可
调发电机G2的端电压为1p.u.按指定的有功P=0.5p.u.发电取ε=10-4。
SB=100MVA
UB=Uav。
一牛顿—拉夫逊法
1程序代码
%电气一班冯健07053107%
%电力系统大作业%
n=input('请输入节点个数:
');
m=input('请输入PQ节点个数:
');
Y=zeros(n,n);
U=ones(n,1);
a=zeros(n,1);
Ps=zeros(n,1);
Qs=zeros(n,1);
P=zeros(n,1);
Q=zeros(n,1);
p=zeros(n-1,1);
q=zeros(m,1);
aa=zeros(n-1,1);
u=zeros(m,1);
k=0;
I=sqrt(-1);%由于后面用到ij作为循环变量故重定义虚数单位
Y=[6.311-I*20.3722-2.7523+I*9.1743-3.5587+I*11.387900;
-3.5587+I*11.38798.5587-I*30.9993-5+I*15I*4.98890;
-2.7523+I*9.1743-5+I*157.7523-I*28.75570I*4.9889;
0I*4.98890-I*5.24930;
00I*4.98890-I*5.2493];
%%%%%%%%%%%%%初值的设定%%%%%%%%%%%%%%%%
U=[1;1;1;1;1];
a=[0;0;0;0;0];
Ps=[-0.8055;-0.18;0;0.5;0];
Qs=[-0.532;-0.12;0;0;0];
电力系统分析大作业
3
%%%%%%%%%%%%求失配功率△P(k)和△Q(k)%%%%%%%%%%%%%%
fori=1:
n-1
s=0;
forj=1:
n
s=s+U(j)*(real(Y(i,j))*cos(a(i)-a(j))+imag(Y(i,j))*sin(a(i)-a(j)));
end
P(i)=U(i)*s;
end
fori=1:
n-1
s=0;
forj=1:
n
s=s+U(j)*(real(Y(i,j))*sin(a(i)-a(j))-imag(Y(i,j))*cos(a(i)-a(j)));
end
Q(i)=U(i)*s;
end
fori=1:
n-1
detp(i)=Ps(i)-P(i);
end
fori=1:
m
detq(i)=Qs(i)-Q(i);
end
%%%%%%%求解雅可比矩阵%%%%%%%%%%%
while(max([detp])>=0.0001|max([detq])>=0.0001)%设定精确度
H=zeros(n-1,n-1);
N=zeros(n-1,m);
M=zeros(m,n-1);
L=zeros(m,m);
fori=1:
n-1
forj=1:
n-1
ifi==j
电力系统分析大作业
4
H(i,j)=U(i)^2*imag(Y(i,j))+Q(i);
else
H(i,j)=-U(i)*U(j)*(real(Y(i,j))*sin(a(i)-a(j))-imag(Y(i,j))*cos(a(i)-a(j)));
end
end
end
fori=1:
n-1
forj=1:
m
ifi==j
N(i,j)=-U(i)^2*real(Y(i,j))-P(i);
else
N(i,j)=-U(i)*U(j)*(real(Y(i,j))*cos(a(i)-a(j))+imag(Y(i,j))*sin(a(i)-a(j)));
end
end
end
fori=1:
m
forj=1:
n-1
ifi==j
M(i,j)=U(i)^2*real(Y(i,j))-P(i);
else
M(i,j)=U(i)*U(j)*(real(Y(i,j))*cos(a(i)-a(j))+imag(Y(i,j))*sin(a(i)-a(j)));
end
end
end
fori=1:
m
forj=1:
m
ifi==j
L(i,j)=U(i)^2*imag(Y(i,j))-Q(i);
else
L(i,j)=-U(i)*U(j)*(real(Y(i,j))*sin(a(i)-a(j))-imag(Y(i,j))*cos(a(i)-a(j)));
电力系统分析大作业
5
end
end
end
%%%%%%求解修正方程得到修正量aa,u%%%%%%%%%%%%%%
J=-inv([H,N;M,L])*[detp';detq'];
aa=J(1:
n-1,:
);
u=J(n:
n-1+m,:
);
fori=1:
n-1%计算a(节点电压相角),U(节点电压大小)
a(i)=a(i)+aa(i);
end
fori=1:
m
U(i)=U(i)+U(i)*u(i);
end
[detp';detq']%迭代过程中失配功率变化情况
k=k+1;
fori=1:
n-1%计算功率误差p,q
s=0;
forj=1:
n
s=s+U(j)*(real(Y(i,j))*cos(a(i)-a(j))+imag(Y(i,j))*sin(a(i)-a(j)));
end
P(i)=U(i)*s;
end
fori=1:
n-1
s=0;
forj=1:
n
s=s+U(j)*(real(Y(i,j))*sin(a(i)-a(j))-imag(Y(i,j))*cos(a(i)-a(j)));
end
Q(i)=U(i)*s;
end
fori=1:
n-1
电力系统分析大作业
6
detp(i)=Ps(i)-P(i);
end
fori=1:
m
detq(i)=Qs(i)-Q(i);
end
end
A=a*180/pi;%对相角进行转换由弧度制装换为角度
display('最终的计算结果如下:
');
A
U
display('各节点的电压为:
');
fori=1:
n
fprintf('节点%d:
%d∠(%d)°\n\n',i,U(i),A(i));
end
display('失配功率为:
');
detp
detq
fprintf('迭代的次数为:
%d\n',k)%输出迭代次数
2运行结果
>>fengjian
请输入节点个数:
5
请输入PQ节点个数:
3
ans=-0.8055
-0.1800
0
0.5000
-0.3420
0.2575
0.4075
电力系统分析大作业
7
ans=
0.0347
0.0022
-0.0094
-0.0178
-0.0138
-0.0407
-0.0447
ans=
1.0e-003*
0.5087
-0.1291
-0.2188
-0.1291
-0.3127
-0.4229
-0.4416
最终的计算结果如下:
A=-7.2049
-5.6096
-5.3697
-0.0056
0
U=1.0027
1.0263
1.0317
1.0000
1.0000
各节点的电压为:
电力系统分析大作业
8
节点1:
1.002729e+000∠(-7.204950e+000)°
节点2:
1.026321e+000∠(-5.609609e+000)°
节点3:
1.031663e+000∠(-5.369712e+000)°
节点4:
1∠(-5.622073e-003)°
节点5:
1∠(0)°
失配功率为:
detp=
1.0e-006*
0.1069-0.0529-0.0548-0.0083
detq=
1.0e-007*
-0.7838-0.5117-0.5255
迭代的次数为:
3
二P—Q解耦迭代
1程序代码
n=5;
m=3;
%%%%%%%%%%%%%%%%各参数初始化%%%%%%%%%%%%%%%%%
Y=zeros(n,n);%导纳矩阵
U=ones(n,1);%电压矢量
a=zeros(n,1);%相角矢量
Ps=zeros(n,1);
Qs=zeros(n,1);
P=zeros(n,1);
Q=zeros(n,1);
p=zeros(n-1,1);
q=zeros(m,1);
aa=zeros(n-1,1);
u=zeros(m,1);
k=0;
电力系统分析大作业
9
%%%%%%%%%%%节点导纳矩阵的生成%%%%%%%%%%%%%%%%%%%%%
I=sqrt(-1);%由于后面用到ij作为循环变量故重定义虚数单位
Y=[6.311-I*20.3722-2.7523+I*9.1743-3.5587+I*11.387900;
-3.5587+I*11.38798.5587-I*30.9993-5+I*15I*4.98890;
-2.7523+I*9.1743-5+I*157.7523-I*28.75570I*4.9889;
0I*4.98890-I*5.24930;
00I*4.98890-I*5.2493];
%%%%%%%%%%%%%初值的设定%%%%%%%%%%%%%%%%%
U=[1;1;1;1;1];
a=[0;0;0;0;0];
Ps=[-0.8055;-0.18;0;0.5;0];
Qs=[-0.532;-0.12;0;0;0];
%%%%%%%%%%%求失配功率△P(k)和△Q(k)%%%%%%%%%%%%%%
fori=1:
n-1
s=0;
forj=1:
n
s=s+U(j)*(real(Y(i,j))*cos(a(i)-a(j))+imag(Y(i,j))*sin(a(i)-a(j)));
end
P(i)=U(i)*s;
end
fori=1:
n-1
s=0;
forj=1:
n
s=s+U(j)*(real(Y(i,j))*sin(a(i)-a(j))-imag(Y(i,j))*cos(a(i)-a(j)));
end
Q(i)=U(i)*s;
end
fori=1:
n-1
detp(i)=Ps(i)-P(i);
end
电力系统分析大作业
10
fori=1:
m
detq(i)=Qs(i)-Q(i);
end
%%%%%%%%%%%%%%%%生成B'和B"矩阵%%%%%%%%%%%%%%
Bp=zeros(n-1,n-1);
Bpp=zeros(m,m);
fori=1:
n-1;
forj=1:
n-1;
Bp(i,j)=imag(Y(i,j));
end;
end;
fori=1:
m;
forj=1:
m;
Bpp(i,j)=imag(Y(i,j));
end;
end;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
k=0;
while(max([detp])>=0.0001|max([detq])>=0.0001