本发明属于电力系统分析计算领域,涉及一种快速求取电力系统节点阻抗矩阵的高斯-约当因子表法。
背景技术:
在电力系统求解常系数方程的分析计算中,经常会用到派生于高斯消元法(高斯法)的因子表法(高斯因子表法)和高斯-约当消元法(约当法),没有任何文献提及或应用派生于约当法的高斯-约当因子表法(约当因子表法)。此外,传统的求解电力系统节点阻抗矩阵z的方法一般有支路追加法、ldu三角分解法(ldu法),极个别文献介绍用高斯法或高斯因子表法,但所有这些方法中均未考虑应用z阵和单位矩阵e元素结构的特点来简化计算。此外,未见文献提及应用约当法求解z阵,更没有任何文献提及应用约当因子表法求解z阵。本发明方法的主要目的就是提出约当因子表法,并将其用于求解z阵。
传统的高斯因子表法是对a阵不变、仅f阵变化的方程ax=f进行含规格化的按行高斯消元后可得a(n-1)′x=f(n-1)′,将a(n-1)′阵对角元取倒构成高斯因子表。高斯因子表法就是根据其对角元素和下三角元素对后续不同的f阵元素f1,f2,…,fn进行前代计算,求取不同的f(n-1)′阵元素.f1(1),f2(2),…,fn(n),再根据因子表的上三角元素和f(n-1)′阵元素进行回代计算,求取不同的x阵元素x1,x2,…,xn。
如对四阶ax=f方程,高斯因子表+f阵求解f(3)′阵元素的按行前代计算过程如下:
对n阶矩阵则有fi(k)=fi(k-1)-li,kfk(k)和fi(i)=fi(i-1)dii,(i=1,2,…,n;k=1,2,…,n-1)。
高斯因子表+f(3)′阵求解x阵的按行回代计算过程如下:
对n阶矩阵则有
求解线性方程组,高斯法一般是对下三角消元,既有前代也有回代;约当法的计算原理与高斯法极为相似,但同时对上下三角消元,只有前代没有回代,因此约当法的计算过程更显简单。但由于高斯法的广泛应用,使得高斯因子表法也得以广泛应用。而约当法的应用和分析不多,更没有文献提及或应用约当因子表法。深入分析可以发现,由于高斯法和约当法计算过程的不同,必定导致高斯因子表法和约当因子表法计算过程和计算效率的不同。
传统方法求解z阵时均按(k=1,2,…,n)的顺序将对一个方程yz=e中n*n阶z阵的求解转换成对n个方程yzk=ek中n个zk阵的求解,即将y阵与ek阵分别构成n个n+1阶的增广阵,分别求解n个zk阵中的全部元素,从而得到整个z阵。这种求解方式也需反复对整个ek阵元素进行前代、对整zk阵元素进行回代,很难利用z阵元素的对称性进行计算,也由于没有考虑e阵元素结构的特点,需求解ek阵中的全部元素,或如传统ldu法的中间矩阵wk、hk的计算无法简化,因此计算过程繁琐、计算速度慢。
上述过程表明高斯因子表法等传统方法在形成和求解的过程中存在以下几个问题:①按行消元形成因子表的过程难以应用y阵对角元以右元素和对角元以下元素的比例对称关系实现元素的对称计算以减少计算量;②消元计算中须使用消元计算公式,不利于计算过程的理解和编程;③形成因子表后再对对角元取倒,其规格化过程中仍有大量的除法计算影响计算速度;④形成因子表后对f阵元素的按行前代计算方式也导致其效率低于按列前代计算方式,无法继续扩展应用;⑤当f阵为e阵和x阵为z阵时,由于对f阵的前代计算和对x阵的回代计算分开进行,由于未能综合考虑e阵和z阵元素结构的特点以及对zk阵和zk阵元素的求解顺序,因此无法简化对ek阵和zk阵元素的计算,也很难利用z阵元素的对称性进行计算;⑥求解z阵时,既有前代过程也有回代过程。
直接用传统约当法求解z阵也有几个问题:①约当法一般是求解变系数方程,而z阵是常系数方程;②至今没有文献介绍用约当法或约当因子表法求解z阵;③传统ldu法将求解一个n阶方程分解成求解n个n*(n+1)阶方程,若约当法也如此,则计算过程繁琐复杂;④传统约当法的规格化过程中未先将对角元素取倒,以下消元过程计算速度的提高;⑤传统约当法对上下三角消元时均按从左到右的顺序,计算效率不高;⑥传统约当法求解对称方程时未能利用元素的对称性等等。
因此,若用约当因子表法求解z阵,则在需针对前述所有问题的基础上,提出约当因子表法,然后根据其特点快速求解z阵。
技术实现要素:
为了克服上述现有技术的不足,本申请提出用一种快速求取电力系统节点阻抗矩阵的高斯-约当因子表法,其技术特征主要包括以下步骤:
步骤1:读入n节点系统的y阵数据;
步骤2:以逐行规格化、按列消元方式,用四角规则对y阵进行快速对称约当消元得约当因子表y(n)″;
(1)以逐行规格化、按列消元方式从左至右、从上而下进行约当消元形成约当因子表y(n)″阵;
高斯因子表法对式(1)的y阵元素是以按行消元、逐行规格化的方式形成高斯因子表y(n-1)′阵,而按行消元方式的计算效率远远低于按列消元方式。本发明方法是以逐行规格化、按列消元方式从左至右、从上而下进行约当消元形成式(2)的约当因子表y(n)″阵。此处式(2)暂未考虑元素的对称算法。
(2)用四角规则对y阵元素进行约当消元获得约当因子表;
高斯因子表法中因子表的形成过程中必须应用高斯消元计算式式(3),对于计算过程的理解和编程极其不易。本发明方法的约当消元过程直接用四角规则完成对y阵上下三角元素的约当消元计算而获得约当因子表,将复杂的消元计算公式转化成简单的对元素几何位置的操作,大大简化对计算过程的理解和编程;
假设对第k行元素规格化前后和对第k列元素约当消元前后的简化矩阵以及消元过程中参加计算的各元素位置始终如式(4),可定义各变量为:
式(4)表明,以对角元
需计算的下三角元素:
需计算的上三角元素:
上述结果与用式(3)计算的结果完全一致,因此无需应用式(3)的消元计算公式可直接完成消元计算。由于对角元素、交叉元素、消元元素、计算元素四个元素正好在矩形的四个角上,因此称为四角规则。四角规则实质上是把复杂的消元计算过程形象化,直接根据元素在矩阵的位置写出消元计算等式,大大简化对计算过程的理解和编程。
(3)对第i行元素规格化以前,先将第i行对角元素取倒,再对其右侧的元素规格化;
高斯因子表法是形成因子表后再将所有对角元素取倒,只能提高形成因子表后的计算效率,不能提高形成因子表过程中的计算效率。本发明方法是对第i行元素规格化以前,先将第i行对角元素取倒,再对其右侧的元素规格化,可同时提高形成因子表过程和形成因子表后的计算效率;
为此将式(3)中元素的规格化计算式修改为式(5)。
(4)对上三角第i列消元元素消元,计算消元元素以右的所有元素;
高斯因子表法对上三角元素不消元,因此在后续计算中有回代计算过程。本发明方法也无需消元计算公式、直接用四角规则对上三角元素消元,不但便于上三角元素消元过程程序的编写,而且在后续计算中由于没有回代计算而简化了计算过程。如对式(4)中上三角元素
(5)利用y阵元素的对称性,分别根据第i行对角元素以右交叉元素规格化前的值赋值获得第i列对角元素以下消元元素的值,再对下三角第i列消元元素消元,仅计算消元元素右侧各行中包括对角元素的上三角元素,并依此循环;
高斯因子表法对式(4)中下三角元素
将(1)中未考虑元素对称算法右下式的约当因子表y(n)″阵重写为如式(6),而按对称计算方法的约当因子表y(n)″阵为如式(7)。式(7)的特点是除第一列元素外,所有下三角元素由于只有一次赋值计算,所以其下标均为1。因此对称计算方法可大大简化下三角元素计算。
本发明方法的计算过程可归纳为:对第i列元素消元前,先将第i行对角元素以右规格化前的元素分别赋值给第i列对角元素以下元素→将第i行对角元素取倒,对第i行元素规格化→对第i列对角元素以上元素消元,计算消元元素以右的所有元素→对第i列对角元素以下元素消元,仅计算消元元素以右、包括对角元素的上三角元素→继续将第i+1行对角元素以右规格化前的元素分别赋值给第i+1列对角元素以下元素→依此循环,直至形成约当因子表。
步骤3:根据约当因子表y(n)″阵和ek阵元素结构的特点,按第n~1列的顺序分别以按列前代方式求取
(1)按第n~1列顺序,根据y(n)″和ek阵元素结构的特点分别以按列前代方式求取
(2)根据y(n)″阵对ek阵以按列前代方式求取
(3)对求得的zn、---、zk---、z1阵,按zkk~z1k顺序仅求取zk阵对角元素zkk及以上元素zk-1,k~z1k,并利用ek阵元素结构的特点简化对
传统法求取z阵时均按第1~n列顺序求取zk阵,并且未利用ek阵元素结构的特点计算,因而需求取各个ek阵和zk阵的所有元素e1k~enk和z1k~znk,因此很难实现zk阵元素的对称计算以及对ek阵元素的简化计算。
(4)求解
(5)求解
求解
此处式(8)中应用了元素的对称算法,但为分析方便,仍然用传统方法表示。
(6)由于采用按列消元,虽然要求按第n~1列顺序求取zk阵,且求解
实施例1:将下列四阶y4阵约当消元后所形成的约当因子表
(1)用
表1用
由上表可以看出,对
(2)用
表2用
如果不考虑e3阵元素结构的特点,则求取
由于z3阵对角元素以下元素z43可直接根据z4阵的z34元素由对称性获得,因此在求取
由上表可以看出,对
上述计算过程表明,对于zk阵,只需计算其对角元素及其上元素,其对角元素以下的元素均可根据前面zk+1~zn阵计算所得元素的对称性直接得到。因此对ek(n)″阵元素的求解实际上也是对ek(n)″阵中对角元素及其以上元素的计算。
(3)用
表3用
z2阵中对角元素以下的元素z32、z42可直接根据z3、z4阵中的z23、z24元素由对称性获得,因此在求取
在对对角元素及其以上元素的计算中,由于e2阵元素的特点,只有
(4)用
表4用
此时所求
上述计算分析过程表明,利用e阵元素结构的特点,用y(n)″阵求取
步骤4:将z阵写入数据文件以备后续程序使用。
本发明方法的有益效果为:
(1)提出约当因子表法,为求解常系数方程提供更多的选择方法。
(2)将约当因子表法用于求解z阵,加快z阵的求解速度。
(3)在约当因子表法中应用四角规则直接完成消元计算,无需任何消元计算公式。
(4)规格化前将对角元素取倒,大大减少程序中的除法运算。
(5)形成约当因子表对下三角元素消元时,仅计算该行的对角元素和上三角元素,而通过y阵元素的对称性获得下三角元素,大大加快前代计算速度;对上三角元素消元时,需计算该消元元素以右的所有元素。
(6)利用e阵元素结构的特点,求取zk阵或
(7)对zk阵或
(8)省去了约当因子表法的回代计算,计算过程更为简便。
附图说明
图1传统高斯因子表法求取z阵元素流程图。
图2本发明方法求取z阵元素流程图。
具体实施方式
实施例:本方法可通过实施例进一步说明。分别用高斯因子表法和本发明方法对ieee-14、-30、-57、-118节点系统的y阵求其z阵元素,并比较其计算过程的平均计算时间。计算结果如表5所示。
表5高斯因子表法和本发明方法求取z阵计算时间的比较
上述计算结果表明,本发明方法的计算速度明显快于传统的高斯因子表,计算速度约提高45%。本方法可以采用任何一种编程语言和编程环境实现。这里采用c++编程语言,开发环境是devc++。