两机五节点网络潮流计算方法牛拉法和pq法电力系统稳态分析课程设计.docx
《两机五节点网络潮流计算方法牛拉法和pq法电力系统稳态分析课程设计.docx》由会员分享,可在线阅读,更多相关《两机五节点网络潮流计算方法牛拉法和pq法电力系统稳态分析课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
两机五节点网络潮流计算方法牛拉法和pq法电力系统稳态分析课程设计
两机五节点网络潮流计算方法牛拉法和pq法_电力系统稳态分析课程设计
电力系统稳态分析课程设计
题目名称两机五节点网络潮流计算方法牛拉法和pq法
摘要……………………………………………………第一章原理简介…………………………………………………………3
1.1对潮流分析的简介…………………………………………………..……………………………………………………………….3
1.2MATLAB简介…………………………………………………………….…………………………………………………………………………5
1.3牛顿拉夫逊法计算潮流分布……………………………………………………..6
第二章程序及结果…………………………………………………………..……..10
2.1设计资料及参数………………………………………………………………………………………………………………13
2.2用Matlab设计程序……………………………………………………………………………………………………………………………14
…………………………………………………………..19
………………………………………………………………22
总结……………………………………………………………………..………32参考文献………………………………………………………………….…….32电力系统稳态分析课程设计
1.1对潮流分析的简介
潮流分析是研究电力系统的一种最基本和最重要的计算。
最初,电力系统潮流计算是通过人工手算的,后来为了适应电力系统日益发展的需要,采用了交流计算台。
随着电子数字计算机的出现,1956年Ward等人编制了实际可行的计算机潮流计算程序。
这样,就为日趋复杂的大规模电力系统提供了极其有力的计算手段。
经过几十年的时间,电力系统潮流计算已经发展得十分成熟。
潮流计算是研究电力系统稳态运行情况的一种计算,是根据给定的运行条件及系统接线情况确定整个电力系统各个部分的运行状态,如各母线的电压、各元件中流过的功率、系统的功率损耗等等。
电力系统潮流计算是计算系统动态稳定和静态稳定的基础。
在电力系统规划设计和现有电力系统运行方式的研究中,都需要利用电力系统潮流计算来定量的比较供电方案或运行方式的合理性、可靠性和经济性。
高斯-赛德尔潮流计算法原理简单,编程实现容易,特别是对于配网潮流有其独特优势。
但是高斯-赛德尔潮流计算法在牛顿法以及各种解耦法出现以后似乎成了一种边缘性的方法。
牛顿-拉夫逊法的优点是收敛速度快,若初值选择较好,算法将具有平方收敛特性,一般迭代4~5次便可以收敛到一个非常精确的解,而且其迭代次数与所计算的网络规模基本无关。
牛顿-拉夫逊法也具有良好的收敛可靠性对于呈病态的系统,牛顿-拉夫逊法均能可靠地收敛。
牛顿法的缺点是每次迭代的计算量和所需的内存量较大。
这是因为雅可比阵元素的数目约为2n-1×2n-1个(直角坐标),且其数值在迭代过程中不断变化。
不过,内存占用量及每次迭代所需的时间与程序设计技巧密切相关。
牛顿-拉夫逊法的可靠收敛取决于一个良好的启动初值,如果初值选择不当,算法有可能根本不收敛或收敛到一个无法运行的解点上。
对于正常运行的系统,各节电电压一般均在额定值附近,偏移不会太大,并且各节电的相角差也不大,所以对各节电可以采用统一的电压初值。
P-Q分解法是为了改进牛顿-拉夫逊法在内存占用量及计算速度方面的不足,P-Q分解法根据电力系统实际运行状态的物理特点,对极坐标形式的牛顿-拉夫逊法修正方程式进行了合理的简化。
它无论在内存占用量还是计算速度方面都比牛顿-拉夫逊法有较大的改进,是目前计算速度最快的潮流算法。
1.2Matlab的简介
MATLAB是一种交互式、面向对象的程序设计语言,广泛应用于工业界与学术界,主要用于矩阵运算,同时在数值分析、自动控制模拟、数字信号处理、动态分析、绘图等方面也具有强大的功能。
MATLAB程序设计语言结构完整,且具有优良的移植性,它的基本数据元素是不需要定义的数组。
它可以高效率地解决工业计算问题,特别是关于矩阵和矢量的计算。
MATLAB与C语言和FORTRAN语言相比更容易被掌握。
通过M语言,可以用类似数学公式的方式来编写算法,大大降低了程序所需的难度并节省了时间,从而可把主要的精力集中在算法的构思而不是编程上。
另外,MATLAB提供了一种特殊的工具:
工具箱(TOOLBOXES).这些工具箱主要包括:
信号处理(SIGNALPROCESSING)、控制系统(CONTROLSYSTEMS)、神经网络(NEURALNETWORKS)、模糊逻辑FUZZYLOGIC、小波WAVELETS和模拟(SIMULATION)等等。
不同领域、不同层次的用户通过相应工具的学习和应用,可以方便地进行计算、分析及设计工作。
MATLAB设计中,原始数据的填写格式是很关键的一个环节,它与程序使用的方便性和灵活性有着直接的关系。
原始数据输入格式的设计,主要应从使用的角度出发,原则是简单明了,便于修改。
常数与矩阵的运算即是同该矩阵的每一元素进行运算。
但需注意进行数除时,常数通常只能做除数。
基本函数运算中,矩阵的函数运算是矩阵运算中最实用的部分,常用的主要有以下几个:
deta求矩阵a的行列式
eiga求矩阵a的特征值
inva或a^-1求矩阵a的逆矩阵
ranka求矩阵a的秩
tracea求矩阵a的迹(对角线元素之和)
我们在进行工程计算时常常遇到矩阵对应元素之间的运算。
这种运算不同于前面讲的数学运算,为有所区别,我们称之为数组运算。
数组的加、减与矩阵的加、减运算完全相同。
而乘除法运算有相当大的区别,数组的乘除法是指两同维数组对应元素之间的乘除法,它们的运算符为“.*”和“./”或“.\”。
前面讲过常数与矩阵的除法运算中常数只能做除数。
在数组运算中有了“对应关系”的规定,数组与常数之间的除法运算没有任何限制。
另外,矩阵的数组运算中还有幂运算(运算符为.^)、指数运算(exp)、对数运算(log)、和开方运算(sqrt)等。
有了“对应元素”的规定,数组的运算实质上就是针对数组内部的每个元素进行的。
矩阵的幂运算与数组的幂运算有很大的区别。
1.3牛顿拉夫逊法计算潮流分布
一、牛顿拉夫逊法求解过程大致可以分为以下步骤:
(1)形成节点导纳矩阵
(2)将各节点电压设初值U
(3)将节点初值代入相关求式,求出修正方程式的常数项向量
(4)将节点电压初值代入求式,求出雅可比矩阵元素
(5)求解修正方程,求修正向量
(6)求取节点电压的新值
(7)检查是否收敛,如不收敛,则以各节点电压的新值作为初值自第3步
重新开始进行狭义次迭代,否则转入下一步
(8)计算支路功率分布,PV节点无功功率和平衡节点柱入功率。
二、直角坐标系计算
1牛顿-拉夫逊法潮流计算的公式。
把牛顿法用于潮流计算,采用直角坐标形式。
其中电压和支路导纳可表示为:
(1-1)
2PQ节点的输出有功功率和无功功率是给定的,则第i节点的给定功率设为和(称为注入功率)。
假定系统中的第1、2、…、m节点为PQ节点,对其中每一个节点的N-R法表达式:
(1、2、…、m)(1-2)
3PV节点的有功功率和节点电压幅值是给定的。
假定系统中的第m+1、m+2、…、n-1节点为PV节点,则对其中每一PV节点可以列写方程:
(1-3)
(m+1、m+2、…、n-1)
4形成雅可比矩阵。
当ji时,对角元素为
(1-4)
当时,矩阵非对角元素为:
(1-5)
三、极坐标计算
对于潮流计算中待于求出功率的节点功率方程组,在某个近似解附近用泰勒级数展开略去二阶及以上的高阶得到已矩阵表示的修正方程:
式中节点n为节点数,m为PV节点,雅阁比矩阵是(2n-2m-2)阶非奇异矩阵,雅可比矩阵各元素表示如下:
牛顿拉夫逊极坐标潮流计算的修正方程的迭代方程为:
2.1设计资料及参数:
课程名称电力系统稳态分析课程设计
设计题目两机五节点网络潮流计算?
牛拉法
指导教师刘景霞时间1周
一、教学要求
电力系统稳态分析课程设计以设计和优化电力系统的潮流分析为重点,提高学生综合能力为目标,尽可能结合实际工程进行。
设计内容的安排要充分考虑学校现有的设备,设计时间及工程实际需要,并使学生初步学会运用所学知识解决工程中的实际问题。
二、设计资料及参数
(一)设计原始资料
1、待设计电气设备系统图
2、电力系统网络各元件参数
3、电力系统电气元件的使用规范
4、电力工程电气设计手册
(二)设计参考资料
1、《电力系统稳态分析》,陈珩,中国电力出版社,2007,第三版
2、《电力系统分析》,韩祯祥,浙江大学出版社,2005,第三版
3、《电力系统分析课程实际设计与综合实验》,祝书萍,中国电力出版社,2007,第一版
三、设计要求及成果
1.根据给定的参数或工程具体要求,收集和查阅资料;学习相关软件(软件自选)。
2.在给定的电力网络上画出等值电路图。
3.运用计算机进行潮流计算。
4.编写设计说明书。
基本要求:
1.编写潮流计算程序;
2.在计算机上调试通过(?
);
3.运行程序并计算出正确结果(?
);
4.写出课程设计报告(包括以下内容)(1份)
(1)程序框图;
(2)源程序;(3)符号说明表;(4)算例及计算结果
5.编写计算说明书(1份)。
四、进度安排
根据给定的参数或工程具体要求,收集和查阅资料(半天)
学习软件(MATLAB或C语言等)(一天半)
编程计算复杂系统潮流计算(三天)
编写计算设计书(一天)
五、评分标准
课程设计成绩评定依据包括以下几点:
工作态度(占10%);
基本技能的掌握程度(占20%);
程序编写是否合理是否有运行结果40%;
课程设计说明书编写水平占30%。
分为优、良、中、合格、不合格五个等级。
系统接线图
其中节点1为平衡节点,节点2、3、4、5为PQ节点。
%说明:
为了使节点按照先PQ,再PV节点,最后平衡节点的次序编号,以便与公式对照,节点1与节点5对调。
%节点阻抗矩阵
Z[0,0.04+0.12i,0,0.08+0.24i,0;0.04+0.12i,0,0.06+0.18i,0.06+0.18i,0.02+0.06i;0,0.06+0.18i,0,0.01+0.03i,0.08+0.24i;0.08+0.24i,0.06+0.18i,0.01+0.03i,0,0;0,0.02+0.06i,0.08+0.24i,0,0];
%求互导纳
form1:
5forn1:
5ifZm,n0ym,n0;elseym,n1/Zm,n;endend
end
%求导纳
form1:
5forn1:
5ifm~nYm,n-ym,n;elseYm,nsumym,:
;endendend
%导纳矩阵
GrealY;BimagY;
%计算各节点功率的不平衡量设UE+jF;YG+Bj;
YU[1,1,1,1,1.06];ErealU;FimagU;%设SP+Qj;S[-0.60-0.10i;0.20+0.20i;-0.45-0.15i;-0.40-0.05i;0]PrealS;QimagS;k0;C1;whileC0.00001
E51.06;F50;
form1:
4forn1:
5
%计算Pi,Qi,设PiPt;QiQt,按照书上的公式:
PtnEm*Gm,n*En-Bm,n*Fn+Fm*Gm,n*Fn+Bm,n*En;
QtnFm*Gm,n*En-Bm,n*Fn-Em*Gm,n*Fn+Bm,n*En;
end
%设P,Q的改变量为dP,dQ
dPmPm-sumPt;
dQmQm-sumQt;
end
%计算Hii,Nii,Jii,Lii,由公式4-41b左侧公式实现,sumAi,sumBi用于实现公式中的sigerma从j到n的求和;
form1:
4forn1:
5BinGm,n*Fn+Bm,n*En;AinGm,n*En-Bm,n*Fn;endHm,msumBi-Bm,m*Em+Gm,m*Fm+2*Gm,m*Fm;Nm,msumAi-Gm,m*Em-Bm,m*Fm+2*Gm,m*Em;Jm,m-2*Bm,m*Fm+sumAi-Gm,m*Em-Bm,m*Fm;Lm,m-2*Bm,m*Em-sumBi-Bm,m*Em+Gm,m*Fm;end%设雅可比矩阵为JJ,以下语句用来实现雅可比矩阵中对角线上元素HNJL的排列
form1:
4
JJ2*m-1,2*m-1Hm,m;
JJ2*m-1,2*mNm,m;
JJ2*m,2*m-1Jm,m;
JJ2*m,2*mLm,m;
end
%以下语句用于实现雅可比矩阵非对角线上元素的排列
form1:
4forn1:
4ifmnelseHm,n-Bm,n*Em+Gm,n*Fm;Nm,nGm,n*Em+Bm,n*Fm;Jm,n-Bm,n*Fm-Gm,n*Em;Lm,nGm,n*Fm-Bm,n*Em;JJ2*m-1,2*n-1Hm,n;
JJ2*m-1,2*nNm,n;
JJ2*m,2*n-1Jm,n;
JJ2*m,2*nLm,n;endend
end
JJ
%设由P,Q的改变量组成的8×1矩阵为PQ,由E,F的改变量组成的8×1矩阵为dU
form1:
4PQ2*m-1dPm;PQ2*mdQm;
end
dUinvJJ*PQ';%求逆矩阵
CabsdU;%abs绝对值或复数绝对值
forn1:
4FnFn+dU2*n-1;EnEn+dU2*n;
end
forn1:
5UnEn+Fn*i;endkk+1;
k,dUdU',PQ,U
end
%计算S5,也就是题目中的S1,即平衡节点功率
form1:
5ImY5,m*Um;end
S5U5*sumconjI
Y3.7500-11.2500i-2.5000+7.5000i0-1.2500+3.7500i0-2.5000+7.5000i10.8333-32.5000i-1.6667+5.0000i-1.6667+5.0000i-5.0000+15.0000i0-1.6667+5.0000i12.9167-38.7500i-10.0000+30.0000i-1.2500+3.7500i-1.2500+3.7500i-1.6667+5.0000i-10.0000+30.0000i12.9167-38.7500i00-5.0000+15.0000i-1.2500+3.7500i06.2500-18.7500i
S-0.6000-0.1000i0.2000+0.2000i-0.4500-0.1500i-0.4000-0.0500i0
k1
dU-0.10760.0093-0.04730.0430-0.08630.0154-0.09220.0141
PQ-0.6000-0.10000.50001.1000-0.37500.0750-0.4000-0.0500
k2
dU0.0032-0.0131-0.0004-0.00750.0017-0.01010.0021-0.0108
PQ0.0164-0.0636-0.0770-0.0220-0.0008-0.03170.0103-0.0362
k3
dU1.0e-003*0.0241-0.1731-0.0025-0.08920.0098-0.12310.0128-0.1327
PQ1.0e-003*-0.0034-0.8423-0.5236-0.2008-0.0815-0.31980.0241-0.3906
k4
dU1.0e-007*0.0232-0.2889-0.0013-0.13520.0054-0.18760.0087-0.2038
PQ1.0e-006*-0.0240-0.1486-0.0424-0.0189-0.0165-0.0415-0.0042-0.0525
S-0.6000-0.1000i0.2000+0.2000i-0.4500-0.1500i-0.4000-0.0500i1.2982+0.2445i
基于MATLAB的PQ分解法潮流计算程序MATLAB已广泛应用于自动控制、数学运算、信号分析、计算机技术、图像信号处理、财务分析、航天工业和生物医学工程等领域。
由于MATLAB语言功能强大、人际界面友好、编程效率高、强大而智能化的作图功能,且具有编程语句简洁、灵活、表达和运算能力强等显著特点。
程序清单
%本程序的功能是用PQ分解法进行潮流计算
ninput‘请输入节点数:
n’;
nlinput‘请输入支路数:
nl’;
isbinput‘请输入平衡母线节点号:
isb’;
prinput‘请输入误差精度:
pr’;
B1input‘请输入由支路参数形成的矩阵:
B1’;
B2input‘请输入由节点参数形成的矩阵:
B2’;
Xinput‘请输入由节点号及其对地阻抗形成的矩阵:
X’;
nainput‘请输入PQ节点号:
na’;
Yzerosn;YIzerosn;ezeros1,n;fzeros1,n;Vzeros1,n;Ozeros1,n;
fori1:
n
ifXi,2~0;pxi,1;Yp,p1./Xi,2;end
end
fori1:
nl
ifB1i,60pB1i,1;qB1i,2;
elsepB1i,2;qB1i,1;
end
Yp,qYp,q-1./B1i,3*B1i,5;
YIp,qYIp,q-1./B1i,3;
Yq,pYp,q;
YIq,pYIp,q;
Yq,qYq,q+1./B1i,3*B1i,5~2+B1i,4./2;
YIq,qYIq,q+1./B1i,3;
Yp,pYp,p+1./B1i,3+B1i,4./2;
YIp,pYIp,p+1./B1i,3;
end%求导纳矩阵
GrealY;BimagYI;BIimagY;
fori1:
nSiB2i,1-B2i,2;BIi,iBIi,i+B2i,5;
end
PrealS;QimagS;
fori1:
n
eirealB2i,3;
fiimagB2i,3;
ViB2i,4;
end
fori1:
n
ifB2i,62Visqrtei~2+fi~2;Oiatanfi./ei;
end
end
fori2:
n
ifin
Bi,i1./Bi,i;
elseIC1i+1;forj1IC1:
nBi,j1Bi,j1./Bi,i;endBi,i1./Bi,i;forki+1:
nforj1i+1:
nBk,j1Bk,j1-Bk,i*Bi,j1;endend
end
end
p0;q0;
fori1:
n
ifB2i,62pp+1;k0;forj11:
nifB2i1,62kk+1;Ap,kBIi,j1;endend
end
end
fori1:
na
ifinaAi,i1./Ai,i;
elseki+1;forj1k:
naAi,j1Ai,j1./Ai,i;endAi,i1./Ai,i;forki+1:
naforj1i+1:
naAk,j1Ak,j1-Ak,i*Ai,j1;end
end
end
end
ICT21;ICT10;kp1,kq1;K1;DET0;ICT31;
whileICT2~0|ICT3~0
ICT20;ICT30;fori1:
n
ifi~isb
Ci0;
fork1:
nCiCi+Vk*Gi,k*cosOi-Ok+BIi,k*sinOi-Ok;
end
DP1iPi-Vi*Ci;
DPiDP1i./Vi;
DETabsDP1i;
ifDETprICT2ICT2+1;
end
end
end
NpKICT2;ifICT2~0fori2:
nDPiBi,i*DPi;ifi~nIC1i+1;forkic1:
nDPkDPk-Bk,i*DPi;endelseforLZ3:
iLi+3-LZ;IC4L-1;forMZ2:
IC4IIC4+2-MZ;DPIDPI-BI,L*DPL;endendend
end
fori2:
nOiOi-DPi;
end
kq1;L0;
fori1:
nifB2i,62
Ci0;LL+1;
fork1:
nCiCi+Vk*Gi,k*sinOi-Ok+BIi,k*cosOi-Ok;
end
DQ1iQi-Vi*Ci;
DQLDQ1i./Vi;
DETabsDQ1i;
ifDETprICT3ICT3+1;
end
end
end
end
elsekp0;ifkq~0;
L0;
fori1:
nifB2i,62Ci0;LL+1;fork1:
nCiCi+Vk*Gi,k*sinOi-Ok-BIi,k*cosOi-Ok;endDQ1iQi-Vi*Ci;DQLDQ1i./Vi;DETabsDQ1i;
end
end
end
end
NqKICT3;
ifICT3~0L0;fori1:
na
DQiAi,i*DQi;
ifina
forLZ2:
iLi+2-LZ;IC4L-1;forMZ1:
IC4IIC4+1-MZ;DQIDQI-AI,L*DQL;end
end
elseIC1i+1;forkIC1:
naDQkDQk-Ak,i*DQi;
end
end
end
L0;
fori1:
n
ifB2i,62LL+1;ViVi-DQL;
end
endkp1;
KK+1;
elsekq0;ifkp~0
KK+1;end
end
fori1:
nDyK-1,iVi;
end
end
disp‘迭代次数‘;
disp(K);
disp(‘每次没有达到精度要求的有功功率个数为‘);
disp(NP);
disp(‘每次没有达到精度要求的无功功率个数为‘);
disp(Nq);
fork1:
nEkVk*cosOK+Vk*sinOk*j;OkOk*180./pi;
end
disp‘各节点的电压标么值E为(节点号从小到大排):
‘;
dispE;
disp‘各节点的电压U大小(节点号从小到大排):
‘为;
dispU;
disp‘各节点的电压相角O(节点号从小到大排):
‘为;
dispO;
forp1:
nCp0;forq1:
n
CpCp+conjYp,q*conjEq;endSpEp*Cp;
end
disp‘各节点的功率S(节点号从小到大排):
‘为;
disp(S);
disp‘各条支路的首端功率Si为(顺序同您输入B1时的一样):
‘)为;
fori1:
nlifB1i,60
pB1i,1;q