用牛頓拉夫遜法線性化了的潮流功率方程組可表達(dá)為:
其中稱為函數(shù)
的雅各比矩陣。在各種電力系統(tǒng)分析的教材中,雅各比矩陣的形成方法都是根據(jù)功率方程:
將每個(gè)節(jié)點(diǎn)的注入功率表達(dá)式求出,然后再分成P,Q兩個(gè)分量的函數(shù)表達(dá)式司草,再對(duì)節(jié)點(diǎn)電壓的實(shí)部和虛部或幅值和相角求偏導(dǎo)數(shù),并得出一長(zhǎng)串復(fù)雜的偏導(dǎo)數(shù)表達(dá)式。有時(shí)候還需要考察對(duì)這個(gè)雅各比矩陣的記憶情況小腊,那么多元素記憶得死去活來(lái)。
但是久窟,這部分內(nèi)容應(yīng)該是計(jì)算機(jī)潮流計(jì)算的介紹秩冈,上面那種推導(dǎo)方法是否適合計(jì)算機(jī)計(jì)算呢?答案肯定是否定的斥扛,不僅沒(méi)有性能優(yōu)勢(shì)入问,還造成了巨大的編程壓力。要知道現(xiàn)在大部分編程環(huán)境都可以直接進(jìn)行復(fù)數(shù)計(jì)算稀颁,支持復(fù)數(shù)類型了芬失。即使沒(méi)有支持,也可以自己建立復(fù)數(shù)類型來(lái)計(jì)算匾灶。
但這還不是主要的棱烂,書上所描述的雅各比矩陣推導(dǎo)過(guò)程和計(jì)算方法更不是計(jì)算機(jī)所采用的主流方法。現(xiàn)在的線性代數(shù)計(jì)算庫(kù)十分健全阶女,完全可以用矩陣的計(jì)算來(lái)得出雅各比矩陣颊糜。然而書上的作法相當(dāng)于把矩陣運(yùn)算的一部分手動(dòng)完成了,變成了極為繁雜的公式秃踩,而且這種繁瑣的辦法并沒(méi)有減輕計(jì)算負(fù)擔(dān)衬鱼。而得出的雅各比矩陣存在著2x2子矩陣的分塊對(duì)稱性,一方面是原本是復(fù)數(shù)的偏導(dǎo)數(shù)被分為實(shí)部和虛部憔杨,復(fù)功率被表達(dá)為有功和無(wú)功所以從兩個(gè)復(fù)數(shù)變?yōu)?個(gè)實(shí)數(shù)鸟赫,另一方面,是因?yàn)閷?dǎo)納矩陣為對(duì)稱陣芍秆,因此分塊對(duì)稱惯疙。
下面,將以直角坐標(biāo)系下的潮流計(jì)算為例妖啥,推導(dǎo)潮流計(jì)算雅各比矩陣的矩陣表達(dá)形式:
首先要介紹一些向量求導(dǎo)的知識(shí):為了使向量和向量
相乘得到相同維度的向量
(即
),可以采用以下形式:
然后霉颠,向量的導(dǎo)數(shù)就可以用下面公式表達(dá):
""是取向量的對(duì)角化矩陣。
設(shè)是潮流計(jì)算所要求的實(shí)數(shù)解向量荆虱,即:
為了方便起見蒿偎,先用一個(gè)全部為PQ節(jié)點(diǎn)的系統(tǒng)舉例朽们。
設(shè)是一個(gè)
的向量,表示各節(jié)點(diǎn)電壓,其中每個(gè)元素
诉位,其對(duì)向量
的偏導(dǎo)為:
其中為
的單位矩陣骑脱。之所以這個(gè)向量對(duì)向量的偏導(dǎo)是一個(gè)矩陣,是因?yàn)槠渲忻總€(gè)元素
都要對(duì)
這個(gè)向量求偏導(dǎo)苍糠,這樣才符合向量求導(dǎo)的定義叁丧。
潮流計(jì)算中,復(fù)功率可表示為
其中
雅各比矩陣其實(shí)就是
其中
下面是程序驗(yàn)證岳瞭,用書上的例子進(jìn)行對(duì)比:
import numpy as np
# 陳珩《電力系統(tǒng)穩(wěn)態(tài)分析》教材例4-3
Y=np.array([[6.25-18.75j,-5+15j,-1.25+3.75j,0,0],
[-5+15j,10.834-32.5j,-1.667+5j,-1.667+5j,-2.5+7.5j],
[-1.25+3.75j,-1.667+5j,12.917-38.75j,-10+30j,0],
[0,-1.667+5j,-10+30j,12.917-38.75j,-1.25+3.75j],
[0,-2.5+7.5j,0,-1.25+3.75j,3.75-11.25j]])
U=np.array([1.06,1,1,1,1])
#注入功率計(jì)算式
Ibus=Y.dot(U)
P0=U*np.conj(Ibus)
P1=np.diag(np.conj(U))*Ibus
#N,L
J1=np.diag(U).dot((Y.conj()))+np.diag(Ibus.conj())
#H,J
J2=1j*(np.conj(np.diag(Ibus))-np.conj(Y).dot(np.diag(U)))
L=(len(J1)-1)*2
J=np.zeros((L,L))
J[0::2,1::2]=J1[1:,1:].real
J[::2,::2]=J2[1:,1:].real
J[1::2,1::2]=J1[1:,1:].imag
J[1::2,::2]=J2[1:,1:].imag
print(J)
[[ 33.4 10.534 -5. -1.667 -5. -1.667 -7.5 -2.5 ]
[-11.134 31.6 1.667 -5. 1.667 -5. 2.5 -7.5 ]
[ -5. -1.667 38.975 12.842 -30. -10. 0. 0. ]
[ 1.667 -5. -12.992 38.525 10. -30. 0. 0. ]
[ -5. -1.667 -30. -10. 38.75 12.917 -3.75 -1.25 ]
[ 1.667 -5. 10. -30. -12.917 38.75 1.25 -3.75 ]
[ -7.5 -2.5 0. 0. -3.75 -1.25 11.25 3.75 ]
[ 2.5 -7.5 0. 0. 1.25 -3.75 -3.75 11.25 ]]
可見結(jié)果與教材完全一致拥娄。
顯然對(duì)于PV節(jié)點(diǎn)由于方程形式不同,應(yīng)變量由單純的復(fù)功率變?yōu)榱擞泄β屎碗妷旱钠椒酵ぃ淦珜?dǎo)數(shù)也不同稚瘾,但我們可以知道,有功功率的偏導(dǎo)和上面的結(jié)論一致姚炕,而電壓平方的偏導(dǎo)很容易求出摊欠,即:
與教材結(jié)論完全一致。