数值分析王兵团答案

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数值分析王兵团答案

【篇一:数值分析大作业】

解法在电力系统潮流计算中的应用

学院:电气工程学院专业:电气工程自动化学生姓名:常方

宇学号:15121392指导教师:王兵团老师

北京交通大学

2016年2月

lu分解法在电力系统潮流计算中的应用

摘要:结合专业相关知识,在对电力系统进行潮流计算的过程中,

应用lu分解法对修正方程的矩阵进行求解,对算法进行改进,加快

了潮流计算的速度。关键词:lu分解法;潮流计算;pq分解法

1. 概述

潮流计算是电力系统分析中的一种最基本的计算,它的任务是对给

定的运行条件确定系统的运行状态,如母线上的电压(幅值及相角)、网络中的功率分布及功率损耗等。

目前计算机潮流计算的方法主要有牛顿-拉夫逊算法和pq分解法。

牛顿-拉夫逊算法是数学上求解非线形方程组的有效方法,具有较好

的收敛性,曾经是潮流计算中应用比较普遍的方法。pq快速分解法

是从牛顿-拉夫逊算法演变而来的,是将纯数学的牛顿-拉夫逊算法与

电力系统具体特点相结合并进行简化与改进而得出的。pq快速分解

法比牛顿-拉夫逊算法大大提高了计算速度和节省了内存。

2. lu分解法简介

在线性代数中, lu分解(lu decomposition)是矩阵分解的一种,可

以将一个矩阵分解为一个下三角矩阵和一个上三角矩阵的乘积(有

时是它们和一个置换矩阵的乘积)。lu分解主要应用在数值分析中,用来解线性方程、求反矩阵或计算行列式。

lu分解在本质上是高斯消元法的一种表达形式。实质上是将a通过

初等行变换变成一个上三角矩阵,其变换矩阵就是一个单位下三角

矩阵。这正是所谓的杜尔里特算法(doolittle algorithm):从下至

上地对矩阵a做初等行变换,将对角线左下方的元素变成零,然后

再证明这些行变换的效果等同于左乘一系列单位下三角矩阵,这一

系列单位下三角矩阵的乘积的逆就是l矩阵,它也是一个单位下三角

矩阵。这类算法的复杂度一般在(三分之二的n三次方) 左右。

3. 潮流计算pq分解法的步骤(1)节点导纳矩阵的形成

?

自导纳的形成

对节点i,其自导纳yii是节点i以外的所有节点都接地时节点i对地

的总导纳。显然,yii应等于与节点i相接的各支路导纳之和,即

yii?yi0??yij.

式中,yi0为节点i与零电位节点之间的支路导纳;yij为节点i与节

点j之间的支路导纳。

?

j

互导纳的形成

对节点i与节点k之间的互导纳是节点i、k之间的支路导纳的负值,即yik??yik 不难理解yki?yik。若节点i和k没有支路直接相连时,便有yik=0。

(2)计算不平衡功率△p、△q并形成修正方程式

对每一个pq节点或每一个pv节点都可以根据下列公式计算出有功

功率增量△p。

?pi?pis?pi?pis?vi?vj?gijcos?ij?bijsin?ij??i?1,2,?,n?1?

j?1

n

对于每一个pq节点还可以根据下面的公式计算出无功功率增量△q。 ?qi?qis?qi?qis?vi?vj?gijsin?ij?bijcos?ij??i?1,2,?,m?

j?1

n

在有功功率增量和无功功率增量不满足如下约束条件时。 ??????

??

max??q???

max?pi

kki

pq

利用pq分解法则可以形成如下修正方程

?p1v1?b11

?b?p2

?21??v2

?????pn?1?bn?1,1vn?1

b12b22?bn?1,2

b1,n?1??v1??1?

?v???b2,n?1???22?

?????

???

?bn?1,n?1??vn?1??n?1???

?q1v1?b11

?b?q2

?21??v2

?????qm?bm,1vm

b12b22?bm,2

?b1,m???v1?

??v??b2,m???2?????????

?bm,m???vm?

(3)求解修正方程

对上文生成的b和b矩阵进行ldu分解,求解修正方程。分解后,l、d和u的结构为

?1??d1?l??1d221???

?,d??l??l31l32??

?????1????????ln1ln2?lnn?11????1u12

??1??dn?,u??????????

u13?u231

u1n?

?u2n?????

?

?un?1n?

1??

根据得到的ldu矩阵,用matlab编程对修正方程进行求解,为潮流计算的下一步

做准备。

4.lu分解部分程序代码

%对b’和b’’进行ldu分解 for i=2:m if i==m

b(i,i)=1./b(i,i); else

ic1=i+1;for j1=ic1:m

b(i,j1)=b(i,j1)./b(i,i);end

b(i,i)=1./b(i,i);for k=i+1:n

for j1=i+1:n

b(k,j1)=b(k,j1)-b(k,i)*b(i,j1); endend

end end p=0; q=0;

for i=1:m

if jd(i,6)==2p=p+1;k=0;

相关文档
最新文档