电力系统稳态分析课程设计.docx
- 文档编号:5868149
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:15
- 大小:70.46KB
电力系统稳态分析课程设计.docx
《电力系统稳态分析课程设计.docx》由会员分享,可在线阅读,更多相关《电力系统稳态分析课程设计.docx(15页珍藏版)》请在冰豆网上搜索。
电力系统稳态分析课程设计
1概述
1.1课程设计目的
(1)掌握电力牛顿-拉夫逊法潮流计算的基本原理;
(2)掌握并能熟练运用一门计算机语言(MATLAB语言、FORTRAN、C语言、C++语言);
(3)采用计算机语言对短路计算进行计算机编程计算。
通过课程设计,使学生巩固电力系统三相短路计算的基本原理与方法,掌握短路电流的数值求解方法(节点导纳矩阵,修正方程),开发系统牛顿拉夫逊法的计算程序。
让学生掌握用计算机仿真分析电力系统的方法。
同时,通过软件开发,也有助于计算机操作能力和软件开发能力的提高。
1.2课程设计任务和要求
(1)熟悉PSCAD软件;
(2)编写潮流计算流程图;
(3)建立系统接线图的仿真过程;
(4)得出仿真结果。
1.3牛顿拉夫逊的基本计算原理
设r是f(x)=0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y=f(x)的切线L,L的方程为y=f(x0)f'(x0)(x-x0),求出L与x轴交点的横坐标x1=x0-f(x0)/f'(x0),称x1为r的一次近似值。
过点(x1,f(x1))做曲线y=f(x)的切线,并求该切线与x轴的横坐标x2=x1-f(x1)/f'(x1),称x2为r的二次近似值。
重复以上过程,得r的近似值序列,其中x(n+1)=x(n)-f(x(n))/f'(x(n)),称为r的n+1次近似值,上式称为牛顿迭代公式。
解非线性方程f(x)=0的牛顿法是把非线性方程线性化的一种近似方法。
把f(x)在x0点附近展开成泰勒级数f(x)=f(x0)+(x-x0)f'(x0)+(x-x0)^2*f''(x0)/2!
+…取其线性部分,作为非线性方程f(x)=0的近似方程,即泰勒展开的前两项,则有f(x0)+f'(x0)(x-x0)=f(x)=0,设f'(x0)≠0则其解为x1=x0-f(x0)/f'(x0)这样,得到牛顿法的一个迭代序列:
x(n+1)=x(n)-f(x(n))/f'(x(n))。
1.4课程题目
题目五:
如图2所示,一个5节点系统,已知节点5为平衡节点,节点1为
节点,其余为
节点。
以
为基准的标幺值支路数据由表1给出。
,
,
,
,
,
,给定电压的初始值如表2所示,收敛系数
。
试求:
图25节点简单电力系统
表1网络各元件参数的标幺值
支路
电阻
电抗
输电线路
变压器变比k
1—2
0.06
0.18
0.020
—
—
1—3
0.05
0.16
0.020
—
—
1—4
0.04
0.12
—
1.05
—
1—5
0.02
0.06
0.025
—
—
2—3
0.01
0.04
0.010
—
—
2—5
0.08
0.24
0.025
—
—
3—4
0.08
0.24
0.025
—
—
节点i
1
2
3
4
5
1.0+j0.0
1.0+j0.0
1.0+j0.0
1.0+j0.0
1.05+j0.0
表2各节点电压(初值)标幺值参数
(1)利用牛顿-拉夫逊法计算图2网络的潮流分布。
2系统程序
2.1PSCAD软件简介
2.2系统牛顿-拉夫逊法潮流计算流程图
参照《电力系统分析》一书的计算过程及原理,可以画出以下程序流程图。
图2.1程序流程图
3.3系统程序及结果
根据以上的程序流程图可编写出系统的计算程序,具体源代码如下。
clear
NN=input('输入总结点数:
');%输入原始信息
PV=input('输入PV节点数:
');
biao=input('PQ、PV、平衡排列按1,PV、PQ、平衡排列按2:
');
Z=input('输入阻抗矩阵:
');
Y0=input('输入对地导纳:
');
U=input('输入电压初值:
');
S=input('输入节点功率初值(流出为负,流入为正):
');
R=input('输入要求精度:
');
GE=input('输入变压器个数:
');
ifGE~=0%当有变压器时
fori=1:
GE
C=input('归高按1,归低按2:
');%求有变压器支路的参数
ifC==1
k1=input('输入变比k:
');%输入信息
n1=input('输入高节点号n:
');
m1=input('输入低节点号m:
');
B1=Z(n1,m1);
Z(m1,n1)=Z(n1,m1)/k1;
Z(n1,m1)=Z(n1,m1)/k1;
Y0(n1,m1)=(1-k1)/B1;
Y0(m1,n1)=(k1*(k1-1))/B1;
end
ifC==2
k2=input('输入变比k:
');%输入信息
n2=input('输入低节点号n:
');
m2=input('输入高节点号m:
');
B2=Z(n2,m2);
Z(m2,n2)=Z(n2,m2)*k2;
Z(n2,m2)=Z(n2,m2)*k2;
Y0(n2,m2)=(k2-1)/(B2*k2);
Y0(m2,n2)=(1-k2)/(B2*k2*k2);
end
end
else
;
end
fori=1:
NN%求y(i,j)
forj=1:
NN
ifZ(i,j)==0
y(i,j)=0;
else
y(i,j)=1/Z(i,j);
end
end
end
fori=1:
NN%求Y(i,j)
forj=1:
NN
ifi~=j
Y(i,j)=-y(i,j);
else
Y(i,j)=sum(y(i,:
))+sum(Y0(i,:
));
end
end
end
fori=1:
NN%求yi0
y00(i)=sum(Y0(i,:
));
end
E=real(U);
F=imag(U);
fori=1:
PV%保存Vis
ifbiao==2
bao(i)=F(i)^2+E(i)^2;
else
bao(NN-i)=F(NN-i)^2+E(NN-i)^2;
end
end
G=real(Y);
B=imag(Y);
P=real(S);
Q=imag(S);
Error_Power=ones(2*(NN-1),1);
count=0;%迭代次数
whilemax(abs(Error_Power))>R%迭代条件
fori=1:
NN-1%求
Error_P(i)=0;
Error_Q(i)=0;
end
fori=1:
NN-1
forj=1:
NN
Error_P(i)=Error_P(i)-(E(i)*(E(j)*G(i,j)-F(j)*B(i,j))+F(i)*(F(j)*G(i,j)+E(j)*B(i,j)));
ifbiao==2%当PV、PQ、平衡排列时
ifi>PV
Error_Q(i)=Error_Q(i)-(F(i)*(E(j)*G(i,j)-F(j)*B(i,j))-E(i)*(F(j)*G(i,j)+E(j)*B(i,j)));
else
Error_Q(i)=-(E(i)^2+F(i)^2);
end
else%当PQ、PV、平衡排列时
ifi Error_Q(i)=Error_Q(i)-(F(i)*(E(j)*G(i,j)-F(j)*B(i,j))-E(i)*(F(j)*G(i,j)+E(j)*B(i,j))); else Error_Q(i)=-(E(i)^2+F(i)^2); end end end ifbiao==2%当PV、PQ、平衡排列时 ifi>PV Error_Q(i)=Error_Q(i)+Q(i); else Error_Q(i)=Error_Q(i)+bao(i); end else%当PQ、PV、平衡排列时 ifi Error_Q(i)=Error_Q(i)+Q(i); else Error_Q(i)=Error_Q(i)+bao(i); end end Error_P(i)=Error_P(i)+P(i); end fori=1: (NN-1) Error_Power(2*(i-1)+1)=Error_P(i);%按序排列形成ΔW Error_Power(2*i)=Error_Q(i); end fori=1: NN%求雅可比矩阵 forj=1: NN T_P1Err(i,j)=0;%累计初值清0 T_Q1Err(i,j)=0; T_P2Err(i,j)=0; T_Q2Err(i,j)=0; end end ifbiao==2%当PV、PQ、平衡排列时 fort=1: PV%对于PV节点 forj=1: NN-1 ifj>PV%当i~=j时 T_P1(t,j)=-(G(t,j)*E(t)+B(t,j)*F(t)); T_Q1(t,j)=B(t,j)*E(t)-G(t,j)*F(t); T_P2(t,j)=0; T_Q2(t,j)=0; else%当i=j时 fork=1: NN T_P1Err(t,j)=T_P1Err(t,j)-(G(t,k)*E(k)-B(t,k)*F(k)); T_Q1Err(t,j)=T_Q1Err(t,j)-(G(t,k)*F(k)+B(t,k)*E(k)); end T_P1(t,j)=T_P1Err(t,j)-G(t,j)*E(t)-B(t,j)*F(t); T_Q1(t,j)=T_Q1Err(t,j)+B(t,j)*E(t)-G(t,j)*F(t); T_P2(t,j)=-2*E(t); T_Q2(t,j)=-2*F(t); end J(2*t-1,2*j-1)=T_P1(t,j);%放入雅可比矩阵相应处 J(2*t-1,2*j)=T_Q1(t,j); J(2*t,2*j-1)=T_P2(t,j); J(2*t,2*j)=T_Q2(t,j); end end fori=PV+1: NN-1%对于PQ节点 forj=1: NN-1 ifi~=j%当i~=j时 T_P1(i,j)=-(G(i,j)*E(i)+B(i,j)*F(i)); T_Q1(i,j)=B(i,j)*E(i)-G(i,j)*F(i); T_P2(i,j)=B(i,j)*E(i)-G(i,j)*F(i); T_Q2(i,j)=G(i,j)*E(i)+B(i,j)*F(i); else%当i=j时 fork=1: NN T_P1Err(i,j)=T_P1Err(i,j)-(G(i,k)*E(k)-B(i,k)*F(k)); T_Q1Err(i,j)=T_Q1Err(i,j)-(G(i,k)*F(k)+B(i,k)*E(k)); T_P2Err(i,j)=T_P2Err(i,j)+(G(i,k)*F(k)+B(i,k)*E(k)); T_Q2Err(i,j)=T_Q2Err(i,j)-(G(i,k)*E(k)-B(i,k)*F(k)); end T_P1(i,j)=T_P1Err(i,j)-G(i,j)*E(i)-B(i,j)*F(i); T_Q1(i,j)=T_Q1Err(i,j)+B(i,j)*E(i)-G(i,j)*F(i); T_P2(i,j)=T_P2Err(i,j)+B(i,j)*E(i)-G(i,j)*F(i); T_Q2(i,j)=T_Q2Err(i,j)+G(i,j)*E(i)+B(i,j)*F(i); end J(2*i-1,2*j-1)=T_P1(i,j);%放入雅可比矩阵相应处 J(2*i-1,2*j)=T_Q1(i,j); J(2*i,2*j-1)=T_P2(i,j); J(2*i,2*j)=T_Q2(i,j); end end else%当PQ、PV、平衡排列时 fort=NN-PV: NN-1%对于PV节点 forj=1: NN-1 ifj T_P1(t,j)=-(G(t,j)*E(t)+B(t,j)*F(t)); T_Q1(t,j)=B(t,j)*E(t)-G(t,j)*F(t); T_P2(t,j)=0; T_Q2(t,j)=0; else%当i=j时 fork=1: NN T_P1Err(t,j)=T_P1Err(t,j)-(G(t,k)*E(k)-B(t,k)*F(k)); T_Q1Err(t,j)=T_Q1Err(t,j)-(G(t,k)*F(k)+B(t,k)*E(k)); end T_P1(t,j)=T_P1Err(t,j)-G(t,j)*E(t)-B(t,j)*F(t); T_Q1(t,j)=T_Q1Err(t,j)+B(t,j)*E(t)-G(t,j)*F(t); T_P2(t,j)=-2*E(t); T_Q2(t,j)=-2*F(t); end J(2*t-1,2*j-1)=T_P1(t,j);%放入雅可比矩阵相应处 J(2*t-1,2*j)=T_Q1(t,j); J(2*t,2*j-1)=T_P2(t,j); J(2*t,2*j)=T_Q2(t,j); end end fori=1: NN-PV-1%对于PQ节点 forj=1: NN-1 ifi~=j%当i~=j时 T_P1(i,j)=-(G(i,j)*E(i)+B(i,j)*F(i)); T_Q1(i,j)=B(i,j)*E(i)-G(i,j)*F(i); T_P2(i,j)=B(i,j)*E(i)-G(i,j)*F(i); T_Q2(i,j)=G(i,j)*E(i)+B(i,j)*F(i); Else%当i=j时 fork=1: NN T_P1Err(i,j)=T_P1Err(i,j)-(G(i,k)*E(k)-B(i,k)*F(k)); T_Q1Err(i,j)=T_Q1Err(i,j)-(G(i,k)*F(k)+B(i,k)*E(k)); T_P2Err(i,j)=T_P2Err(i,j)+(G(i,k)*F(k)+B(i,k)*E(k)); T_Q2Err(i,j)=T_Q2Err(i,j)-(G(i,k)*E(k)-B(i,k)*F(k)); end T_P1(i,j)=T_P1Err(i,j)-G(i,j)*E(i)-B(i,j)*F(i); T_Q1(i,j)=T_Q1Err(i,j)+B(i,j)*E(i)-G(i,j)*F(i); T_P2(i,j)=T_P2Err(i,j)+B(i,j)*E(i)-G(i,j)*F(i); T_Q2(i,j)=T_Q2Err(i,j)+G(i,j)*E(i)+B(i,j)*F(i); end J(2*i-1,2*j-1)=T_P1(i,j);%放入雅可比矩阵相应处 J(2*i-1,2*j)=T_Q1(i,j); J(2*i,2*j-1)=T_P2(i,j); J(2*i,2*j)=T_Q2(i,j); end end end J;%雅可比矩阵 Error_U=-(inv(J)*Error_Power);%求 Error_E=zeros(1,NN-1); Error_F=zeros(1,NN-1); fori=1: NN-1 Error_E(i)=Error_U(i*2-1);%求ΔE end fori=1: NN-1 Error_F(i)=Error_U(i*2);%求ΔF end fori=1: NN-1%求E E(i)=E(i)+Error_E(i); end fori=1: NN-1%求F F(i)=F(i)+Error_F(i); end count=count+1;%count加1 end forj=1: NN%求从平衡节点的注入功率 P(NN)=E(NN)*(E(j)*G(NN,j)-F(j)*B(NN,j))+F(NN)*(F(j)*G(NN,j)+E(j)*B(NN,j))+P(NN);%平衡节点功率实部 Q(NN)=F(NN)*(E(j)*G(NN,j)-F(j)*B(NN,j))-E(NN)*(F(j)*G(NN,j)+E(j)*B(NN,j))+Q(NN);%平衡节点功率虚部 end S(NN)=P(NN)+Q(NN)*sqrt(-1);%平衡节点功率用复数表示 fori=1: NN%节点电压用复数表示 Complex_U(i)=E(i)+F(i)*sqrt(-1); end fori=1: NN%线路功率 forj=1: NN ify(i,j)~=0 Line_S(i,j)=(Complex_U(i))^2*conj(y00(i))+Complex_U(i)*(conj(Complex_U(i))-conj(Complex_U(j)))*conj(y(i,j)); else Line_S(i,j)=0; end end end Y,Y0,count,Complex_U,Error_U,S,J,Line_S,Error_Power%输出结果 到此全部程序结束。 以下是计算结果。 Y= 10.7136-32.4317i-1.6667+5.0000i-1.7794+5.6940i-2.3810+7.1429i-5.0000+15.0000i -1.6667+5.0000i8.7990-32.2244i-5.8824+23.5294i0-1.2500+3.7500i -1.7794+5.6940i-5.8824+23.5294i8.9117-32.9184i-1.2500+3.7500i0 -2.3810+7.1429i0-1.2500+3.7500i3.7500-11.2250i0 -5.0000+15.0000i-1.2500+3.7500i006.2500-18.7000i Y0= 00+0.0200i0+0.0200i-0.1134+0.3401i0+0.0250i 0+0.0200i00+0.0100i00+0.0250i 0+0.0200i0+0.0100i00+0.0250i0 0.1190-0.3571i00+0.0250i00 0+0.0250i0+0.0250i000 count=4 Complex_U= 0.9992-0.0398i0.9756-0.0806i0.9701-0.0873i0.9288-0.1007i1.0500 Error_U= 1.0e-007* -0.0055 -0.0372 -0.0515 -0.0146 -0.0640 -0.0145 -0.1815 0.0112 S= 0.2000-0.4500-0.1500i-0.4000-0.0500i-0.6000-0.1000i1.3090+0.7229i J= -12.2160-32.46201.86454.92972.00475.61862.66357.0424 -1.99840.0796000000 2.02924.7436-10.7376-30.91947.636422.481100 4.7436-2.0292-30.538311.628622.4811-7.636400 2.22315.36827.760222.3118-11.1140-31.24321.53993.5287 5.3682-2.223122.3118-7.7602-31.067411.92283.5287-1.5399 2.93056.3946001.53853.3571-3.9861-10.2238 6.3946-2.9305003.3571-1.5385-9.87265.2400 Line_S= 00.1000-0.3546i0.1798-0.3263i0.4708-0.0610i-1.0183-0.9233i -0.2502-0.0811i00.1830+0.0217i0-0.4088-0.1939i -0.3289-0.1022i-0.2005-0.1233i00.1015+0.0737i0 -0.4319-0.0110i00.0552+0.1429i00 0.8939+0.5358i0.4152+0.1319i000 Error_Power= 1.0e-006* -0.0492 -0.0008 -0.0003 -0.0125 0.0013 -0.0174 -0.0208 -0.1732 总结 (1)系统编程总结 我组的任务是用牛顿—拉夫逊法去对五个节点的系统进行潮流计算。 具体来讲,我是被分配在了程序设计这一块,主要是进行程序设计。 可以说,首先接到这种题目,要用程序去进行计算我实在是不知从何下手,更何况是用自己不是很熟悉的MATLAB语言进行。 当然,也可以用我们比较熟
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电力系统 稳态 分析 课程设计