第一篇:電力系統(tǒng)三種潮流計算方法的比較
電力系統(tǒng)三種潮流計算方法的比較
一、高斯-賽德爾迭代法:
以導納矩陣為基礎,并應用高斯--塞德爾迭代的算法是在電力系統(tǒng)中最早得到應用的潮流計算方法,目前高斯一塞德爾法已很少使用。將所求方程
f(x)
?
0
改寫為
x??(x)不能直接得出方程的根,給一個猜測值 x0得 x1??(x0)又可取x1為猜測值,進一步得:
x2??(x1)
迭代 反復猜測
xk?1??(xk)
*mxk則方程的根 x?lik??
優(yōu)點:
1.原理簡單,程序設計十分容易。
2.導納矩陣是一個對稱且高度稀疏的矩陣,因此占用內(nèi)存非常節(jié)省。
3.就每次迭代所需的計算量而言,是各種潮流算法中最小的,并且和網(wǎng)絡所包含的節(jié)點數(shù)成正比關系。缺點:
1.收斂速度很慢。
2.對病態(tài)條件系統(tǒng),計算往往會發(fā)生收斂困難:如節(jié)點間相位角差很大的重負荷系統(tǒng)、包含有負電抗支路(如某些三繞組變壓器或線路串聯(lián)電容等)的系統(tǒng)、具有較長的輻射形線路的系統(tǒng)、長線路與短線路接在同一節(jié)點上,而且長短線路的長度比值又很大的系統(tǒng)。
3.平衡節(jié)點所在位置的不同選擇,也會影響到收斂性能。
二、牛頓-拉夫遜法:
求解 f(x)?0??設
x
?
x 0
x
,則
f(x0??x)?0
按牛頓二項式展開:
f(x)?f?(x)?x?1f??(x)(?x)2?1f???(x)(?x)3???000002!3!
當△x不大,則取線性化(僅取一次項)
f(x0)?f?(x0)?x?0
?1則可得修正量 ?x???f?(x0)?f(x0)
x1?x0??x
x對
f
()
?
0
得: f?(x0)?x??f(x0)作變量修正:
k ?
1?
x
k
?
?
x
k,求解修正方程
x牛頓法是數(shù)學中求解非線性方程式的典型方法,有較好的收斂性。自從20世紀60年代中期采用了最佳順序消去法以后,牛頓法在收斂性、內(nèi)存要求、計算速度方面都超過了其他方法,成為直到目前仍被廣泛采用的方法。優(yōu)點:
1.收斂速度快,若選擇到一個較好的初值,算法將具有平方收斂特性,一般迭代4—5次便可以收斂到一個非常精確的解。而且其迭代次數(shù)與所計算網(wǎng)絡的規(guī)?;緹o關。
2.具有良好的收斂可靠性,對于前面提到的對以節(jié)點導納矩陣為基礎的高斯一塞德爾法呈病態(tài)的系統(tǒng),牛頓法均能可靠地收斂。
3.牛頓法所需的內(nèi)存量及每次迭代所需時間均較前述的高斯一塞德爾法為多,并與程序設計技巧有密切關系。缺點:
牛頓法的可靠收斂取決于有一個良好的啟動初值。如果初值選擇不當,算法有可能根本不收斂或收斂到一個無法運行的解點上。解決方法:
對于正常運行的系統(tǒng),各節(jié)點電壓一般均在額定值附近,偏移不會太大,并且各節(jié)點間的相位角差也不大,所以對各節(jié)點可以采用統(tǒng)一的電壓初值(也稱為“平直電壓”),“平直電壓”法假定:
Ui0?1?i0?0?
或
ei0?1fi0?0(i?1,2,...,n;i?s)
這樣一般能得到滿意的結(jié)果。但若系統(tǒng)因無功緊張或其它原因?qū)е码妷嘿|(zhì)量很差或有重載線路而節(jié)點間角差很大時,仍用上述初始電壓就有可能出現(xiàn)問題??梢韵扔酶咚挂蝗聽柗ǖ?-2次;以此迭代結(jié)果作為牛頓法的初值,也可以先用直流法潮流求解一次以求得一個較好的角度初值,然后轉(zhuǎn)入牛頓法迭代。
三、P-Q分解法:
電力系統(tǒng)中常用的PQ分解法派生于以極坐標表示的牛頓—拉夫遜法,其基本思想是把節(jié)點功率表示為電壓向量的極坐標形式,以有功功率誤差作為修正電壓向量角度的依據(jù),以無功功率誤差作為修正電壓幅值的依據(jù),把有功和無功分開進行迭代其主要特點是以一個(n-1)階和一個m階不變的、對稱的系數(shù)矩陣B?,B??代替原來的(n+m-1)階變化的、不對稱的系數(shù)矩陣M,以此提高計算速度,降低對計算機貯存容量的要求。P-Q分解法在計算速度方面有顯著的提高,迅速得到了推廣。原理:
??P??H修正方程為:??????Q??KN???????V? L???V???雅克比矩陣元素的表達如下: a)當i≠j時
Hij??ViVj(Gijsin?ij?Bijcos?ij)??Nij??ViVj(Gijcos?ij?Bijsin?ij)??
Kij?ViVj(Gijcos?ij?Bijsin?ij)?Lij??ViVj(Gijsin?ij?Bijcos?ij)??b)當i=j時
Hii?Vi2Bii?Qi??2Nii??ViGii?Pi?? 2Kii?ViGii?Pi?Lii?Vi2Bii?Qi?? 對修正方程的第一個簡化是:
??P??H0???????Q???0L???V? ?????V???上式可分別寫成以下兩式
??P???H?????
??Q???L???VV?
在一般情況下,線路兩端電壓的相角差是不大的(不超過100~200),因此可以認為 cos?ij?1,Gijsin?ij《Bij
因此可得:Hij?ViVjBij
(i,j=1,2,?,n-1)
Lij?ViVjBij
(i,j=1,2,?,m)Hii?Vi2Bii?QiLii?VBii?Qi2i
經(jīng)一系列化簡得P—Q分解法的修正方程式:
?P?B?????
???Q?B?V??B?V???V?原P—Q分解法的修正方程的簡化形式為:
?
?Q?B???V?V?
?PPQ分解法的修正方程式的特點:
1.以一個(n-1)階和一個(m-1)階系數(shù)矩陣B?、B??替代原有的系數(shù)矩陣J,提高了計算速度,降低了對貯存容量的要求。
2.以迭代過程中保持不變的系數(shù)矩陣B?、B??替代原有的系數(shù)矩陣J,顯著的提高了計算速度。
3.以對稱的系數(shù)矩陣B?、B??替代原有的系數(shù)矩陣J,使求逆等運算量和所需的儲存容量都大為減少。P-Q分解法兩個主要特點:
1.降階在潮流計算的修正方程中利用了有功功率主要與節(jié)點電壓相位有關,無功功率主要與節(jié)點電壓幅值有關的特點,實現(xiàn)P-Q分解,使系數(shù)矩陣由原來的2N×2N階降為N×N階,N為系統(tǒng)的節(jié)點數(shù)(不包括緩沖節(jié)點)。
2.因子表固定化利用了線路兩端電壓相位差不大的假定,使修正方程系數(shù)矩陣元素變?yōu)槌?shù),并且就是節(jié)點導納的虛部。
由于以上兩個特點,使快速分解法每一次迭代的計算量比牛頓法大大減少。P-Q分解法只具有一次收斂性,因此要求的迭代次數(shù)比牛頓法多,但總體上快速分解法的計算速度仍比牛頓法快??焖俜纸夥ㄖ贿m用于高壓網(wǎng)的潮流計算,對中、低壓網(wǎng),因線路電阻與電抗的比值大,線路兩端電壓相位差不大的假定已不成立,用快速分解法計算,會出現(xiàn)不收斂問題。
第二篇:不同風機接入電力系統(tǒng)的潮流計算方法比較
不同風機接入電力系統(tǒng)的潮流計算方法比較
中文摘要:各類風機由于其結(jié)構(gòu)特點的不同決定了其接入電力系統(tǒng)的潮流計算方法的差異,通過對普通異步風機、永磁直驅(qū)同步風機、雙饋異步風機接入電力系統(tǒng)的潮流計算方法討論和比較,可以更加清楚的掌握對各類風機的使用。
關鍵詞:普通異步風機永磁直驅(qū)同步風機雙饋異步風機電力系統(tǒng)潮流計算 正文:
近年來“隨著人們對可持續(xù)發(fā)展戰(zhàn)略的認識”風力發(fā)電在全球獲得了迅猛發(fā)展,截止2005年,全球風電裝機容量已達,59332MW,排名前幾位分別為德國18428MW,西班牙10027MW,美國9149MW,中國以1246MW排第8位/。風電場建設包括風資源測量評估、風場選址、發(fā)電機選型、風場內(nèi)部微觀選址、風電場升壓站建設、接入電網(wǎng)線路建設等一系列問題、其中“風電場選址與接入系統(tǒng)設計都是規(guī)劃階段的重要問題” 其重要性不言而喻、對含風電場電力系統(tǒng)進行潮流計算“是規(guī)劃階段的基礎工作”是風電場升壓站、接入系統(tǒng)線路方案確定的考慮因素之一,另外“在風電系統(tǒng)動態(tài)仿真中”狀態(tài)變量的初值也由潮流計算獲得,因此"對含風電場電力系統(tǒng)進行潮流計算是非常有意義的。
風電場的潮流計算主要是對風電并網(wǎng)后根據(jù)給定的網(wǎng)絡結(jié)構(gòu)和運行條件確定整個網(wǎng)絡的電氣狀態(tài),主要是對風電并網(wǎng)后的電網(wǎng)中各個節(jié)點的電壓幅值和相角、網(wǎng)絡中功率的分布及功率損耗等,并進行越界檢查,以了解和評價風電場并網(wǎng)后的運行情況。常用于評估風電機組并網(wǎng)后對電網(wǎng)穩(wěn)態(tài)運行的影響,同時也為分析風電場并網(wǎng)后分析對電網(wǎng)影響等其他理論研究工作的基礎,具有重要的意義。國內(nèi)外對風電潮流的研究有著幾十年的歷史,風電場的潮流計算主要包括
含普通異步電機的風電場潮流計算、含永磁直驅(qū)風機的潮流計算和含雙饋異步電機的風電場潮流計算。風電場的潮流計算關鍵是正確建立風電機組的數(shù)學模型。電力系統(tǒng)中節(jié)點分為PQ節(jié)點、PV節(jié)點和平衡節(jié)點。一般異步發(fā)電機本身沒有勵磁調(diào)節(jié)裝置,不具有調(diào)整節(jié)點電壓的能力,因此不能像常規(guī)的同步發(fā)電機一樣將它視為電壓幅值恒定的PV節(jié)點,它只能依靠無功補償裝置才能保持風電場出口電壓恒定。同樣風電場中的異步發(fā)電機向系統(tǒng)注入有功功率的同時還要從系統(tǒng)吸收一定的無功功率,吸收的無功大小與發(fā)電機的機端電壓、發(fā)出的有功功率以及滑差有著密切相關,因此不能把它處理為恒功率的PQ節(jié)點。
一、異步電機計算潮流的方法 首先給出了風電場的簡化PQ模型、簡化RX模型的潮流計算模型,根據(jù)兩種模型的缺點,提出了一種新的風電場潮流計算模型即為擴展潮流模型。擴展潮流模型將異步發(fā)電機直接納入電力網(wǎng)絡,同時將異步發(fā)電機等值電路模型的中間激磁支路的端點作為一個虛擬PQ節(jié)點進行計算,建立約束方程;建立異步發(fā)電機轉(zhuǎn)子側(cè)和定子側(cè)之間的轉(zhuǎn)矩平衡方程。模型建立詳細潮流約束方程,推導雅可比矩陣元素,建立擴展風電潮流算法,最后通過算例分析驗證算法的有效性異步風力發(fā)電機潮流建?!nD拉夫遜法潮流計算,牛頓法是解非線性方程的有效的方法。它把非線性方程的求解變成反復的求解線性方程,逐步接近非線性方程的解的過程,通常稱為逐次線性化過程。而且牛頓一拉夫遜法求解潮流計算具有平方項收斂的速度,能夠使潮流快速收斂。極坐標的牛頓拉夫遜法求解潮流問題的步驟如下:(1)計算有功功率和無功功率的不平衡量 假設系統(tǒng)中有n號節(jié)點,第1-m號節(jié)點為PQ節(jié)點,第m+1~n-1號為PV節(jié)點,n號為平衡節(jié)點。PQ節(jié)點不平衡量為: PV節(jié)點的功率不平衡量為:(2)計算雅可比矩陣 修正方程如下: 當i≠j時: 當i=j時:(3)潮流方程的求解化成下面的方程 根據(jù)上述步驟進行潮流計算,直至潮流熟練,輸出結(jié)果。風電機組容量等值計算,等值后的風電機組容量為: 簡化結(jié)構(gòu)異步電機潮流算法: 對于常規(guī)的含普通異步電機的風電場潮流計算時,一般只考慮風力發(fā)電機和所連接的電網(wǎng),忽略了風力機部分以及風力機與發(fā)電機之間的聯(lián)系。同時,在進行潮流計算時,只考慮風機發(fā)出的功率全部輸送到與風機連接電網(wǎng)中,不考慮風機由于漿矩角的變化對輸出功率的影響。在進行風電場的潮流計算時,由于風機的機械部分的變化跟不上電氣部分的變化速度,一般將風電場節(jié)點作為PQ節(jié)點進行處理,但PQ節(jié)點的無功功率與風機自身的參數(shù)以及風場節(jié)點電壓有關。忽略空間和時間諧波、忽略勵磁飽和、忽略鐵損,將轉(zhuǎn)子電阻和轉(zhuǎn)子電抗折算到定子側(cè),圖3.1(a)給出異步電機穩(wěn)態(tài)Ⅱ等值電路,其中是定子和轉(zhuǎn)子電阻,是定子和轉(zhuǎn)子電抗,是激磁回路電抗,S為異步發(fā)電機的滑差,是對地并聯(lián)電容。由于激磁電抗遠大于定子電抗,且定子電阻較小。因此把勵磁支路外移,合并定子和轉(zhuǎn)子支路。采用簡化等值電路時,型簡化 等值電路如圖3.1(b)所示。大型風電場中的普通異步發(fā)電機以超同步轉(zhuǎn)速情況下發(fā)電運行,發(fā)電機將風力機提供的機械功率轉(zhuǎn)化為電磁功率輸出,同時從電網(wǎng)或無功補償裝置中吸 收無功功率來維持勵磁電流的大小。圖3—1(b)所示簡化等值電路中,定子電抗與轉(zhuǎn)子電抗合并式。定義電納容性為正,電抗感性為負,將激磁支路式。的電抗與對地電容并聯(lián)等值電抗為 假定異步風機流向電網(wǎng)功率為正,則將異步風機視為發(fā)電機處理,定義風機的輸出有功功率如下:、發(fā)電機滑差以及無功功率 無功功率對節(jié)點電壓求導得: 將風電場節(jié)點作為PQ節(jié)點,根據(jù)風機出力曲線確定不同風速下的風機的出力,根據(jù)潮流建模公式代入潮流計算,采用算例分析,計算出潮流結(jié)果。簡化RX模型: 采用RX模型進行潮流計算的基本思想是兩個迭代步驟:(1)通過常規(guī)潮流計算計算出發(fā)電機的端電壓;(2)通過異步發(fā)電機的滑差迭代計算出發(fā)電機的滑差。采用簡化RX模型避免了潮流計算的兩步迭代,能夠節(jié)省潮流計算的計算時間。圖3.1(a)為普通異步發(fā)電機的穩(wěn)態(tài)等值電路圖,計算出普通異步發(fā)電機的電磁功率。由異步發(fā)電機原理知道,異步發(fā)電機發(fā)出的電磁功率式為 由此可見異步發(fā)電機的輸送到電網(wǎng)的電磁功率B隨著滑差s的變化而變化,同時風力機的轉(zhuǎn)速、葉尖速比、風能利用系數(shù)以及機械功率也與滑差s有關。根據(jù)系統(tǒng)的功率平衡的關系,風力機的機械功率等于輸送到電網(wǎng)的有功功率相等。由于初始的功率不相等,通過滑差s的迭代使兩個功率最終達到平衡。采用牛頓拉夫遜計算潮流,引入風力機的機械功率與送到電網(wǎng)的有功功率的差和滑差修正量,修正方程為:。與轉(zhuǎn)子電流、滑差s等有關,其表達 程序框圖如下:
二、雙饋異步風機的潮流計算方法
本節(jié)在對雙饋風機進行潮流建模時,將雙饋風電機組的風電場作為恒定功率因數(shù)的PQ節(jié)點進行處理,功率因數(shù)值設為0。98。然后根據(jù)雙饋異步發(fā)電機的穩(wěn)態(tài)等值電路以及雙饋風機的發(fā)電系統(tǒng)示意圖分析各個功率之間的關系,及轉(zhuǎn)矩平衡關系,建立約束方程,推導雅可比矩陣元素,建立潮流計算模型。圖4—1(a)為雙饋異步發(fā)電機的穩(wěn)態(tài)等值電路,圖4.1(b)為雙饋異步電機系統(tǒng)發(fā)電示意圖。在圖4.1(a),所為定子電壓,復功率,以為轉(zhuǎn)子電壓為轉(zhuǎn)子端到中間節(jié)點的為定子端到中間節(jié)點的復功率,其他參數(shù)同普通異步電機等值電路的參數(shù)意義相同。在圖4—1(b)中,風電場的節(jié)點設為i節(jié)點,為網(wǎng)側(cè)變流器出口電壓,分別為風機輸入到電網(wǎng)的有功功率和無功功率,為變壓器的阻抗。系統(tǒng)中的普通節(jié)點的潮流計算約束方程按照節(jié)點類型建立約束方程,推導雅可比矩陣元素。風電場節(jié)點的潮流計算變量的約束方程根據(jù)雙饋風電機組的功率平衡關系以及風力機與發(fā)電機之間的轉(zhuǎn)矩平衡條件來建立,并推導出對應的雅可比矩陣元素。令,以下定義類似。節(jié)點i流向節(jié)點W的復功率: 節(jié)點w流向定子側(cè)的復功率為: 節(jié)點w流向轉(zhuǎn)子側(cè)的復功率為: 轉(zhuǎn)子端流向節(jié)點w的復功率為: 網(wǎng)側(cè)變流器端口流出的復功率為: 節(jié)點i流向變流器的復功率為:(1)風機與外網(wǎng)之間的連接 根據(jù)基爾霍夫電流定律,流入節(jié)點電流之和為零。分別注入i節(jié)點的有功功率和無功功率。節(jié)點i對應于電網(wǎng)有功功率平衡約束方程為: 對應變量的雅可比矩陣的元素為: 節(jié)點i對應于電網(wǎng)的無功功率平衡約束方程為: 對應變量的雅可比矩陣元素為:(2)雙饋電機的等值電路 在雙饋異步電機穩(wěn)態(tài)等值電路中,虛擬內(nèi)節(jié)點w連接定子支路和轉(zhuǎn)子支路,以及激磁支路,圖4.2為虛擬節(jié)點的電路結(jié)構(gòu)。相比較普通異步電機,轉(zhuǎn)子電壓值不為零。根據(jù)節(jié)點功率平衡,建立內(nèi)節(jié)點w有功功率平衡約束方程: 推導對應變量的雅可比矩陣元素為: 虛擬節(jié)點w的無功平衡約束方程為: 對應變量的雅可比矩陣的元素為:(3)雙饋風機的外部電路 對于風電場出口節(jié)點來講,不僅連接外電網(wǎng)和雙饋異步發(fā)電機的定子側(cè),還通過變壓器連接著網(wǎng)側(cè)變流器,變壓器的阻抗為為風電場出口處的結(jié)構(gòu),根據(jù)基爾霍夫電流原理,對i節(jié)點注入功率之和為0。建立i節(jié)點與發(fā)電機之間功率平衡約束方程。對i節(jié)點與發(fā)電機部分建立有功功率平衡約束方程: 對應的雅可比矩陣元素為: 節(jié)點i對與發(fā)電機部分建立無功功率平衡約束方程: 對應變量的雅可比矩陣的元素為: 在穩(wěn)態(tài)運行時,忽略變換器的開關損耗。根據(jù)能量守恒原理,背靠背變流器輸出有功功率之和等于零,即向兩側(cè)流出(或注入)的有功功率不變。網(wǎng)側(cè)變流器輸出無功為給定值一般取零,以防止PV控制方式下,電網(wǎng)需求無功過小,網(wǎng)側(cè)變流器輸出無功倒流至異步電機。對變流器建立約束方程,并推導雅可比 矩陣元素。背靠背變流器有功功率的約束方程如下: 對應變量的雅可比矩陣的元素為: 由于變流器之間不考慮無功功率的傳輸,網(wǎng)側(cè)變流器采用單位功率因數(shù)的控制方式運行,的值設為0。對應的網(wǎng)側(cè)變流器的無功功率約束方程為: 對應變量的雅可比矩陣為:(4)轉(zhuǎn)矩平衡簡化模型 雙饋異步發(fā)電機的電磁功率為: 轉(zhuǎn)矩平衡方程為: 雙饋風機的機械功率采用最大功率跟蹤計算,其表達式為: 和普通異步電機相比,在雙饋異步電機的轉(zhuǎn)矩平衡方程時,考慮了轉(zhuǎn)子電壓對功率平衡的影響。對應變量的雅可比矩陣元素為: 根據(jù)潮流計算約束方程以及推導雅可比矩陣元素,建立潮流計算模型: 雙饋風電機組潮流計算的程序框圖:
三、永磁直驅(qū)同步風機的潮流計算
牛頓法是解非線性方程的有效的方法。它把非線性方程的求解變成反復的求解線性方程,逐步接近非線性方程的解的過程,通常稱為逐次線性化過程。這是牛頓法的核心。用牛頓法解三相潮流問題的步驟如下:(1)、計算功率不平衡方程
式中表示了一個有n+1個母線的系統(tǒng)功率不平衡矩陣,其中有m個PQ母線,n-m個PV母線,1個平衡節(jié)點。
PQ節(jié)點的功率不平衡量為該節(jié)點的功率給定值與當前電壓計算出來的實際功率差,可表示為:
其中i=1,2,3….,p=a,b,c。
而對PV節(jié)點來說,節(jié)點電壓幅值是給定的,不再作為變量。同時,該點無法預先給定無功功率。這樣,該點的無功不平衡量也就失去了約束作用。因此,在迭代過程中無須計算與PV節(jié)點有關的無功功率方程式。
只有當?shù)Y(jié)束后,即各節(jié)點的電壓向量求得后,再求PV節(jié)點應當維持的無功功率。(2)計算雅可比矩陣
(4)含風電場的電力系統(tǒng)三相潮流的求解最終能化成求解下列方程
風電場在牛頓法中的處理
風電場等各種分布式電源可以建立成PQ節(jié)點,PV節(jié)點,PI節(jié)點和P-Q(V)節(jié)點這四種節(jié)點類型。對PQ類型的分布式電源只需將它們簡單處理成功率值是負的負荷即可。本節(jié)主要分析其他三種類型的分布式電源在程序中的處理。(1)P恒定,V恒定的PV節(jié)點
PV節(jié)點可以直接代入牛頓法中處理。若PV母線與系統(tǒng)通過n(n=l,2,3…)相線路連接,則母線上各節(jié)點注入功率為母線總注入功率的n分之一。在每次迭代后,可以求出節(jié)點的電壓相角和無功功率。若計算出的節(jié)點無功越限,則將其轉(zhuǎn)換成對應的PQ節(jié)點,Q值等于該分布式電源能發(fā)出的最大無功值。如果在后續(xù)迭代中,又出現(xiàn)該節(jié)點電壓越界,重新將其轉(zhuǎn)換成PV節(jié)點。(2)P恒定,電流幅值I恒定的PI節(jié)點
PI節(jié)點不可以直接代入牛頓法中處理,所以在每次迭代前須做一定的處理。若PI母線與系統(tǒng)通過n(n=l,2,3…)相線路連接,則母線上各節(jié)點注入功率為母線總注入功率的n分之一。相應的無功功率可以由上一次迭代得到的電壓,給定的電流幅值和有功功率計算得出:
其中,為第k+1次迭代的分布式電源的無功功率值;
五分別為第k次迭代得到的電壓的實部和虛部;I為恒定的分布式電源的電流相量的幅值;尸為恒定的有功功率值。
因此在進行潮流計算時,第抖1次迭代前可以把PI節(jié)點的無功注入量求出,在第k+l迭代過程中便可將PI節(jié)點處理成有功和無功輸出分別為P和的PQ節(jié)點。在每次迭代后,可以求出節(jié)點的電壓相角和無功功率。PI型的分布式電源也有無功輸出的限制,但從式(3-6)可以看出,的標幺值一般在1.0附近,P和,是
。值的只是該PI兩個必需維持的值,所以影響最后計算出來的節(jié)點的給定有功功率和電流幅值,即P和,若給定得合理,則計算得出的無功功率不會越限。
(3)P恒定,V不定,Q受P、V限定的P—Q(V)節(jié)點P-Q(V)節(jié)點不可以直接代入牛頓法中處理,所以在每次迭代前須做一定的處理。P-Q(V)節(jié)點給定的輸出有功功率只為異步電機的輸出有功功率,節(jié)點電壓U在每次迭代后都得到修正,節(jié)點的注入無功功率Q計算公式如下:
其中,s為異步電機的轉(zhuǎn)差率;為發(fā)電機定子電抗與轉(zhuǎn)子電抗之和:為勵磁電抗;r為轉(zhuǎn)子電阻;Q’為異步電機的吸收無功;為異步電機的功率因數(shù):
仍為并聯(lián)電容器后節(jié)點的功率因數(shù);一般要求在0.9以上;鱗為并聯(lián)電容器需要補償?shù)臒o功;刀為投入的并聯(lián)電容器組數(shù);
為每組電容器補償?shù)臒o功;Q’為電容器組實際補償?shù)臒o功;Q為參與潮流迭代的節(jié)點注入無功。這里提出的動態(tài)調(diào)整并聯(lián)電容器組接入組數(shù)的方法,相比于將風機視為功率因數(shù)恒定的考慮,更加符合實際異步風機運行的情況,因而,基于該模型的分析計算結(jié)果更為精確。P-Q(V)母線與系統(tǒng)通過n(n=l,2,3…)相線路連接,則母線上各節(jié)點注入功率為母線總注入功率的n分之一。在進行潮流計算時,第k次迭代后可以把P-Q(V)節(jié)點的無功吸收量求出,在第k+l迭代過程中便可將P-Q(V)節(jié)點處理成有功和無功輸出分別為P和的PQ節(jié)點。
通過對以上三種風機的潮流計算方法的分析,我們對風機接入電力系統(tǒng)有了更深入的了解,對比各風機的特點,可得到不同的結(jié)論。首先普通異步風機具有一般異步電機的特點,只是對PQ節(jié)點的處理方法稍有不同。通過對雙饋風電機組的潮流建模建立及驗證,計及雙饋電機詳細內(nèi)部結(jié)構(gòu)和各種穩(wěn)態(tài)安全約束,采用優(yōu)化算法求解不同風速下無功出力范圍;基于電機有功損耗最小,求解無功最優(yōu)分布。根據(jù)雙饋風電機組的潮流計算,獲得風電機組的穩(wěn)態(tài)運行情況和發(fā)電機運行參數(shù),驗證了雙饋風電機組潮流算法的有效性。在進行無功優(yōu)化時,發(fā)出無功時,最大無功出力受轉(zhuǎn)子繞組電流限制。吸收無功時,最小無功出力當定子繞組電流限制。調(diào)整網(wǎng)側(cè)變流器參考無功出力,可以增加雙饋電機無功出力范圍,但是在恒PQ運行方式下,可能引起無功環(huán)流,增加電機的損耗。隨風速增加或者定子電壓下降,雙饋異步電機無功出力范圍變窄。采用恒功率因數(shù)方式運行時,低風速下雙饋電機無功出力得不到充分利用,而高風速、低定子電壓下可能達不到給定功率因數(shù)要求。根據(jù)最小有功損耗優(yōu)化計算出的無功功率,作為雙饋異步電機穩(wěn)態(tài)運行時的輸出無功功率值,可提高雙饋異步電機的運行效率。而雖然雙饋異步電機占主導地位,但永磁直驅(qū)也解決了一些雙饋電機解決不了的問題。參考文獻:
第三篇:電力系統(tǒng)潮流計算
南 京 理 工 大 學
《電力系統(tǒng)穩(wěn)態(tài)分析》
課程報告
姓名
XX
學 號: 5*** 自動化學院 電氣工程
基于牛頓-拉夫遜法的潮流計算例題編程報學院(系): 專
業(yè): 題
目: 任課教師 碩士導師 告
楊偉 XX
2015年6月10號
基于牛頓-拉夫遜法的潮流計算例題編程報告
摘要:電力系統(tǒng)潮流計算的目的在于:確定電力系統(tǒng)的運行方式、檢查系統(tǒng)中各元件是否過壓或者過載、為電力系統(tǒng)繼電保護的整定提供依據(jù)、為電力系統(tǒng)的穩(wěn)定計算提供初值、為電力系統(tǒng)規(guī)劃和經(jīng)濟運行提供分析的基礎。潮流計算的計算機算法包含高斯—賽德爾迭代法、牛頓-拉夫遜法和P—Q分解法等,其中牛拉法計算原理較簡單、計算過程也不復雜,而且由于人們引入泰勒級數(shù)和非線性代數(shù)方程等在算法里從而進一步提高了算法的收斂性和計算速度。同時基于MATLAB的計算機算法以雙精度類型進行數(shù)據(jù)的存儲和運算, 數(shù)據(jù)精確度高,能進行潮流計算中的各種矩陣運算,使得傳統(tǒng)潮流計算方法更加優(yōu)化。
一 研究內(nèi)容
通過一道例題來認真分析牛頓-拉夫遜法的原理和方法(采用極坐標形式的牛拉法),同時掌握潮流計算計算機算法的相關知識,能看懂并初步使用MATLAB軟件進行編程,培養(yǎng)自己電力系統(tǒng)潮流計算機算法編程能力。
例題如下:用牛頓-拉夫遜法計算下圖所示系統(tǒng)的潮流分布,其中系統(tǒng)中5為平衡節(jié)點,節(jié)點5電壓保持U=1.05為定值,其他四個節(jié)點分別為PQ節(jié)點,給定的注入功率如圖所示。計算精度要求各節(jié)點電壓修正量不大于10-6。
二 牛頓-拉夫遜法潮流計算 1 基本原理
牛頓法是取近似解x(k)之后,在這個基礎上,找到比x(k)更接近的方程的根,一步步地迭代,找到盡可能接近方程根的近似根。牛頓迭代法其最大優(yōu)點是在方程f(x)=0的單根附近時誤差將呈平方減少,而且該法還可以用來求方程的重根、復根。電力系統(tǒng)潮流計算,一般來說,各個母線所供負荷的功率是已知的,各個節(jié)點的電壓是未知的(平衡節(jié)點外)可以根據(jù)網(wǎng)絡結(jié)構(gòu)形成節(jié)點導納矩陣,然后由節(jié)點導納矩陣列寫功率方程,由于功率方程里功率是已知的,電壓的幅值和相角是未知的,這樣潮流計算的問題就轉(zhuǎn)化為求解非線性方程組的問題了。為了便于用迭代法解方程組,需要將上述功率方程改寫成功率平衡方程,并對功率平衡方程求偏導,得出對應的雅可比矩陣,給未知節(jié)點賦電壓初值,將初值帶入功率平衡方程,得到功率不平衡量,這樣由功率不平衡量、雅可比矩陣、節(jié)點電壓不平衡量(未知的)構(gòu)成了誤差方程,解誤差方程,得到節(jié)點電壓不平衡量,節(jié)點電壓加上節(jié)點電壓不平衡量構(gòu)成節(jié)點電壓新的初值,將新的初值帶入原來的功率平衡方程,并重新形成雅可比矩陣,然后計算新的電壓不平衡量,這樣不斷迭代,不斷修正,一般迭代三到五次就能收斂。2 基本步驟和設計流程圖
形成了雅克比矩陣并建立了修正方程式,運用牛頓-拉夫遜法計算潮流的核心問題已經(jīng)解決,已有可能列出基本計算步驟并編制流程圖。由課本總結(jié)基本步驟如下:
1)形成節(jié)點導納矩陣Y;
2)設各節(jié)點電壓的初值,如果是直角坐標的話設電壓的實部e和虛部f;如果是極坐標的話則設電壓的幅值U和相角a;
3)將各個節(jié)點電壓的初值代入公式求修正方程中的不平衡量以及修正方程的系數(shù)矩陣的雅克比矩陣;
4)解修正方程式,求各節(jié)點電壓的變化量,即修正量; 5)計算各個節(jié)點電壓的新值,即修正后的值;
6)利用新值從第(3)步開始進入下一次迭代,直至達到精度退出循環(huán); 7)計算平衡節(jié)點的功率和線路功率,輸出最后計算結(jié)果; ① 公式推導
② 流程圖
三
matlab編程代碼
clear;
% 如圖所示1,2,3,4為PQ節(jié)點,5為平衡節(jié)點
y=0;
% 輸入原始數(shù)據(jù),求節(jié)點導納矩陣
y(1,2)=1/(0.07+0.21j);
y(4,5)=0;y(1,3)=1/(0.06+0.18j);
y(1,4)=1/(0.05+0.10j);
y(1,5)=1/(0.04+0.12j);
y(2,3)=1/(0.05+0.10j);
y(2,5)=1/(0.08+0.24j);
y(3,4)=1/(0.06+0.18j);
for i=1:5
for j=i:5
y(j,i)=y(i,j);
end
end
Y=0;
% 求節(jié)點導納矩陣中互導納
for i=1:5
for j=1:5
if i~=j
Y(i,j)=-y(i,j);
end
end
end
% 求節(jié)點導納矩陣中自導納
for i=1:5
Y(i,i)=sum(y(i,:));
end
Y
% Y為導納矩陣
G=real(Y);
B=imag(Y);% 輸入原始節(jié)點的給定注入功率
S(1)=0.3+0.3j;
S(2)=-0.5-0.15j;
S(3)=-0.6-0.25j;
S(4)=-0.7-0.2j;
S(5)=0;
P=real(S);
Q=imag(S);
% 賦初值,U為節(jié)點電壓的幅值,a為節(jié)點電壓的相位角
U=ones(1,5);
U(5)=1.05;
a=zeros(1,5);
x1=ones(8,1);
x2=ones(8,1);
k=0;
while max(x2)>1e-6
for i=1:4
for j=1:4
H(i,j)=0;
N(i,j)=0;
M(i,j)=0;
L(i,j)=0;
oP(i)=0;
oQ(i)=0;
end
end
% 求有功、無功功率不平衡量
for i=1:4
for j=1:5
oP(i)=oP(i)-U(i)*U(j)*(G(i,j)*cos(a(i)-a(j))+B(i,j)*sin(a(i)-a(j)));
oQ(i)=oQ(i)-U(i)*U(j)*(G(i,j)*sin(a(i)-a(j))-B(i,j)*cos(a(i)-a(j)));
end
oP(i)=oP(i)+P(i);
oQ(i)=oQ(i)+Q(i);
end
x2=[oP,oQ]';
% x2為不平衡量列向量
% 求雅克比矩陣
% 當i~=j時,求H,N,M,L
for i=1:4
for j=1:4
if i~=j
H(i,j)=-U(i)*U(j)*(G(i,j)*sin(a(i)-a(j))-B(i,j)*cos(a(i)-a(j)));
N(i,j)=-U(i)*U(j)*(G(i,j)*cos(a(i)-a(j))+B(i,j)*sin(a(i)-a(j)));
L(i,j)=H(i,j);
M(i,j)=-N(i,j);
end
end
end
% 當i=j時,求H,N,M,L
for i=1:4
for j=1:5
if i~=j H(i,i)=H(i,i)+U(i)*U(j)*(G(i,j)*sin(a(i)-a(j))-B(i,j)*cos(a(i)-a(j)));N(i,i)=N(i,i)-U(i)*U(j)*(G(i,j)*cos(a(i)-a(j))+B(i,j)*sin(a(i)-a(j)));
M(i,i)=M(i,i)-U(i)*U(j)*(G(i,j)*cos(a(i)-a(j))+B(i,j)*sin(a(i)-a(j)));
L(i,i)=L(i,i)-U(i)*U(j)*(G(i,j)*sin(a(i)-a(j))-B(i,j)*cos(a(i)-a(j)))
end
end
N(i,i)=N(i,i)-2*(U(i))^2*G(i,i);
L(i,i)=L(i,i)+2*(U(i))^2*B(i,i);
end
J=[H,N;M,L]
% J為雅克比矩陣
x1=-((inv(J))*x2);
% x1為所求△x的列向量
% 求節(jié)點電壓新值,準備下一次迭代
for i=1:4
oa(i)=x1(i);
oU(i)=x1(i+4)*U(i);
end
for i=1:4
a(i)=a(i)+oa(i);
U(i)=U(i)+oU(i);
end
k=k+1;
end
k,U,a
% 求節(jié)點注入功率
i=5;
for j=1:5
P(i)=U(i)*U(j)*(G(i,j)*cos(a(i)-a(j))+B(i,j)*sin(a(i)-a(j)))+P(i);
Q(i)=U(i)*U(j)*(G(i,j)*sin(a(i)-a(j))-B(i,j)*cos(a(i)-a(j)))+Q(i);
end
S(5)=P(5)+Q(5)*sqrt(-1);
S
% 求節(jié)點注入電流
I=Y*U'
四
運行結(jié)果
節(jié)點導納矩陣
經(jīng)過五次迭代后的雅克比矩陣
迭代次數(shù)以及節(jié)點電壓的幅值和相角(弧度數(shù))
節(jié)點注入功率和電流
五 結(jié)果分析
在這次學習和實際操作過程里:首先,對電力系統(tǒng)分析中潮流計算的部分特別是潮流計算的計算機算法中的牛頓-拉夫遜法進行深入的研讀,弄明白了其原理、計算過程、公式推導以及設計流程。牛頓-拉夫遜法是求解非線性方程的迭代過程,其計算公式為?F?J?X,式中J為所求函數(shù)的雅可比矩陣;?X為需要求的修正值;?F為不平衡的列向量。利用x(*)=x(k+1)+?X(k+1)進行多次迭代,通過迭代判據(jù)得到所需要的精度值即準確值x(*)。六 結(jié)論
通過這個任務,自己在matlab編程,潮流計算,word文檔的編輯功能等方面均有提高,但也暴漏出一些問題:理論知識儲備不足,對matlab的性能和特點還不能有一個全面的把握,對word軟件也不是很熟練,相信通過以后的學習能彌補這些不足,達到一個新的層次。
第四篇:電力系統(tǒng)潮流計算程序設計
電力系統(tǒng)潮流計算程序設計
姓名:韋應順
學號:2011021052 電力工程學院
牛頓—拉夫遜潮流計算方法具有能夠?qū)⒎蔷€性方程線性化的特點,而使用MATLAB語言是由于MATLAB語言的數(shù)學邏輯強,易編譯。
【】【】1.MATLAB程序12
Function tisco %這是一個電力系統(tǒng)潮流計算的程序 n=input(‘n請輸入節(jié)點數(shù):n=’); m=input(‘請輸入支路數(shù):m=’);ph=input(‘n請輸入平衡母線的節(jié)點號:ph=’); B1=input(‘n請輸入支路信號:B1=’);%它以矩陣形式存貯支路的情況,每行存貯一條支路 %第一列存貯支路的一個端點 %第二列存貯支路的另一個端點 %第三列存貯支路阻抗
%第四列存貯支路的對地導納
%第五列存貯變壓器的變比,注意支路為1 %第六列存貯支路的序號
B2=input(‘n請輸入節(jié)點信息:B2=’); %第一列為電源側(cè)的功率 %第二列為負荷側(cè)的功率 %第三列為該點的電壓值
%第四列為該點的類型:1為PQ,2為PV節(jié)點,3為平衡節(jié)點 A=input(‘n請輸入節(jié)點號及對地阻抗:A=’); ip=input(‘n請輸入修正值:ip=’); %ip為修正值);Y=zeros(n);
Y(p,q)=Y(p,q)-1./(B1(i3)*B1(i5);e=zeros(1,n);
Y(p,q)=Y(p,q);f=zeros(1,n);
no=2*ph=1; Y(q,q)=Y(q,q)+1./B1(i3)+B1(i4)/2;
End for i=1:n
G=real(Y);if A(i2)=0
B=imag(Y);p=A(i1);
Y(p p)=1./A(i2);for i=1:n End e(i)=real(B2(i3));End f(i)=imag(B2(i3));For i=1:m S(i)=B2(i1)-B2(i2);p=B1(i1);V(i)=B2(i3);p=B1(i2);end Y(p,p)=Y(p,p)+1./(B1(i3)*B1(i5)^2+B1(i4)./2P=real(S);Q=imag(S);[C,D,DF]=xxf(G,B,e,f,P,Q,n,B2,ph,V,no);J=jacci(Y,G,B,P,Q,e,f,V,C,D,B2,n,ph,no);[De,Di]=hxf(J,D,F,ph,n,no);t=0;while
max(abs(De))>ip&max(abs(Dfi)>ip
t=t+1;
e=e+De;
f=f+Df;
[C,D,DF]=xxf(G,B,e,f,P,Q,n,B2,ph,V,no);
J=jacci(Y,G,B,P,Q,e,f,V,C,D,B2,n,ph,no);
[De,Df]=hxf(J,Df,ph,n,no);end v=e+f*j;for i=1:n hh(i)=conj(Y(ph,i)*v(i));end S(ph)=sum(hh)*v(ph);B2(ph,1)=S(ph);V=abs(v);
jd=angle(v)*180/p;resulte1=[A(:,1),real(v),imag(v),V,jd,real(S’),imag(S’),real(B2(:1)),imag(B2(:1)),real(B2(:2)),imag(B2(:,2))];for i=1:m
a(i)=conj((v(B1(i1))/B1(i5)-v(B1(i2))/B1(i3));
b(i)=v(B1(i1))*a(i)-j*B1(i4)*v(B1(i))^2/2;
c(i)=-v(B1(i2))*a(i)-j*B1(i4)*v(B1(i2))^2/2;end result2=[B1(:,6),B1(:,1),B1(:,2),real(b’),imag(b’),real(c’),imag(c’), real(b’+c’),imag(b’+c’)];printcut(result1,S,b,c,result2);type resultm function [C,D,Df]=xxf(G,B,e,f,P,Q,n,B2,ph,V,no)%該子程序是用來求取Df for i=1:n
If
i=ph
C(i)=0;
D(i)=0;
For j=i:n
C(i)=C(i)+G(i,j)*e(j)-B(i,j)*f(j);D(i)=D(i)+G(i,j)*f(j)+B(i,j)*e(j);end
P1=C(i)*e(i)+D(i)*f(i);Q1=C(i)*f(i)-D(i)*e(i);V1=e(i)^2+f(i)^2;If
B2(i4)=2 p=2*i-1;
Df(p)=P(i)-P1;p=p+1;else p=2*i-1;
Df(p)=P(i)-P1;p=p+1;
Df(p)=Q(i)-Q1;end end end Df=Df’;If ph=n Df(no?=[];end
function [De,Df]=hxf(J,Df,ph,n,no)%該子函數(shù)是為求取De Df DX=JDf;DX1=DX;
x1=length(DX1);if ph=n DX(no)=0;DX(no+1)=0;
For i=(no+2):(x1+2)DX(i)=DX1(i-2);End Else
DX=[DX1,0,0];End k=0;
[x,y]=size(DX);For i=1:2:x K=k+1;
Df(k)=DX(i);De(k)=DX(i+1);End End case 2 Function for j=1:n J=jacci(Y,G,B,PQ,e,f,V,C,D,B2,n,ph,no)X1=G(i,j)*f(i)-B(i,j)*e(i);
X2=G(i,j)*e(i)+B(i,j)*f(i);%該子程序是用來求取jacci矩陣
for i=1:n X3=0;switch B2(i4)X4=0;case 3 P=2*i-1;continue q=2*j-1;case 1 J(p,q)=X1;for j=1:n m=p+1;if
J=&J=ph J(m,q)=X3;X1=G(i)*f(i)-B(i,j)*e(i);q=q+1;X2=G(i,j)*e(i)+B(i,j)*f(i);J(p,q)=X2;X3=-X2;J(m,q)=X4;X4=X1;X1=D(i)+G(i,j)*f(i)-B(i,j)*e(i);p=2*i-1;X2=C(i)+G(i,j)*e(i)+B(i,j)*f(i);q=2*j-1;X3=0;J(p,q)=X1;X4=0;m=p+1;P=2*i-1;J(p,q)=X2;q=2*j-1;J(m,q)=X4;J(p,q)=X1;Else if j=&j=jph m=p+1;X1=D(i)+G(i,j)*f(i)-B(i,j)*e(i);J(m,q)=X3;X2=C(i)+G(i,j)*e(i)+B(i,j)*f(i);q=q+1;X3= C(i)+G(i,j)*e(i)-B(i,j)*f(i);J(p,q)=X2;X4= C(i)+G(i,j)*f(i)-B(i,j)*e(i);J(m,q)=X4;P=2*i-1;end q=2*j-1;end J(p,q)=X1;end m=p+1;end J(m,q)=X3;if ph=n q=q+1;J(no:)=[];J(p,q)=X2;J(no:)=[];J(m,q)=X4;J(:,no)=[];End J(:,no)=[];End
2實例驗證 【例題】設有一系統(tǒng)網(wǎng)絡結(jié)線見圖1,各支路阻抗和各節(jié)點功率均已以標幺值標示于圖1中,其中節(jié)點2連接的是發(fā)電廠,設節(jié)點1電壓保持U1=1.06定值,試計算其中的潮流分布,請輸入節(jié)點數(shù):n=5 請輸入支路數(shù):m=7 請輸入平衡母線的節(jié)點號:ph=l 請輸入支路信息:
BI=[ l 2 0.02+0.06i O l 1;1 3 0.08+0.24i 0 1 2;2 3 0.06+0.18i 0 l 3: 2 4 0.06+0.18i O l 4: 2 5 0.04+0.12i 0 l 5: 3 4 0.01+0.03i 0 l 6: 4 5 0.08+0.24i O 1 7] 請輸入節(jié)點信息:
B2=[ 0 0 1.06 3;0.2+0.20i 0 1 1;一O.45一O.15i 0 l l;一0.4-0.05i 0 l 1;一0.6—0.1i 0 1 l] 請輸入節(jié)點號及對地阻抗: A=[l 0;2 0;3 0;4 0;5 O ] 請輸入修正值:ip=0.000 0l
參考文獻
[1]陳珩.電力系統(tǒng)穩(wěn)定分析[M].北京:中國電力出版社,2002:139—187.
[2]鄭阿奇.MATLAB實用教程[M].北京:電子工業(yè)出版社,2005:1-243.
[3] 束洪春,孫士云,等.云電送粵交商流混聯(lián)系統(tǒng)全過 程動態(tài)電壓研究[J】.中國電力,2008,4l(10):l-4. SHU Hong—ch吼,SUN Shi-yun,et a1.Research on fun prc'cess dyn鋤ic Voltage stabil時of hybrid AC/DC poWer tmnsmission System舶m Yu衄an proVince to G啪gdong province【J】.Electric Power,2008,4l(10): l-4.
[4] 朱新立,湯涌,等.大電網(wǎng)安全分析的全過程動態(tài)仿 真技術(shù)[J】.電網(wǎng)技術(shù),2008,32(22):23—28. SONG Xin—Ii,TANG Yof唱,et a1. Full dyn鋤ic simulation for the stabilhy a眥lysis of large power system【J】.Power System融IlrIolo影,2008,32(22): 23.28.
[5]Roytelm鋤I,Shallidehpour S M.A comprehcnsivc long teml dynaIIlic simulation for powcr system recoVery【J】. IEEE Transactions 0n Power Systems,1994,9(3). [6] 石雩梅,汪志宏,等.發(fā)電機勵磁系統(tǒng)數(shù)學模型及參 數(shù)對電網(wǎng)動態(tài)穩(wěn)定性分析結(jié)果影響的研究[J】.繼電 器,2007,35(21):22-27.
SHI Xue.mei,WANG Zlli-hon舀et a1.Iksearch on the innuence of g鋤e翰to璐baScd ∞de詛iled excitation system models柚d parameterS t0 power鏟id dyn鋤ic stabil時【J】.Relay,2007,35(2 1):22-27.
[7] 方思立,朱方.快速勵磁系統(tǒng)對系統(tǒng)穩(wěn)定的影響[J】.中 國電機工程學報,1986,6(1):20.28.
FANG Si.1i,ZHU Fang.The effbct of f弧t.respon∞
excitation system on the stability of power netwofk【J】. Proceedings ofthe CSEE,1986,6(1):20-28.
[8] 劉取.電力系統(tǒng)穩(wěn)定性及發(fā)電機勵磁控制[M】.北京: 中國電力出版社,2007.
LIU Qu.Power system S詛bility鋤d generator excitation control【M】.BeUing:ChiIla Electric Powef Press,2007. [9] Dallachy J L,Anderson T.EXperience with rcplacing ro詛ting exciters wim static exciters【J】.1k InStitution of Electrical Engineers,1 996.
[10] 陳利芳,陳天祿.淺談自并勵勵磁系統(tǒng)在大容量機組 中的應用【J】.繼電器,2007,35(1):8l培4. CHEN Li-f抽島CHEN Tian—lIL Application of 辯l仁exci組tion mode in large capacity髫memtor unit【J】. ReIay'2007,35(1):81-84.
[11] 方思立,劉增煌,孟慶和.大型汽輪發(fā)電機自并勵勵 磁系統(tǒng)的應用條件【J].中國電力,1994,27(12):61.63. FANG Si.Ii,LIU Zeng-hu鋤g,MENG Qin爭hc.m application conditions of large turbine generator self-excitation system【J】.Electric Powef,1994,27(12): 61.63.
[12]梁小冰,黃方能.利用EMTDC進行長持續(xù)時間過程 的仿真研究【J】.電網(wǎng)技術(shù),2002,26(9):55.57. LIANG Xiao-bing,HUANG Fan爭眥ng.How to cany out simulalion of long dul‘a(chǎn)tion processes by use of EMTDC【J】.Power System 11echnology,2002,26(9): 55-57.
[13]王卉,陳楷,彭哲,等.數(shù)字仿真技術(shù)在電力系統(tǒng)中 的應用及常用的幾種數(shù)字仿真工具【J】.繼電器,2004,32(21):7l一75.
wANG Hui,CHEN Kai,PENG zhe,et a1.Application of digital simulation眥hniques棚d severaJ simulation tools in power system[J】.Relay,2004,32(21):71·75.
[14]IEEE Power Engmeering Socie哆.IEEE std 421.5.2005 IEEE玎ccOmmended practice for excitation system models for power system stabiI時studies【s】.
第五篇:電力系統(tǒng)潮流計算程序
電力系統(tǒng)潮流計算c語言程序,兩行,大家可以看看,仔細研究,然后在這個基礎上修改。謝謝
#include “stdafx.h” #include #include“Complex.h” #include“wanjing.h” #include“gauss.h” using namespace std; int _tmain(int argc, _TCHAR* argv[]){ int i; //i作為整個程序的循環(huán)變量 int N=Bus::ScanfBusNo();//輸入節(jié)點個數(shù) int L=Line::ScanflineNo();//輸入支路個數(shù) if((L&&N)==0){return 0;} //如果找不到兩個文件中的任意一個,退出 Line *line=new Line[L];//動態(tài)分配支路結(jié)構(gòu)體 Line::ScanfLineData(line);//輸入支路參數(shù) Line::PrintfLineData(line,L);//輸出支路參數(shù) Bus *bus=new Bus[N];//動態(tài)分配結(jié)點結(jié)構(gòu)體 for(int i=0;i bus[i].Sdelta.real=0; bus[i].Sdelta.image=0;} Bus::ScanfBusData(bus);//輸入節(jié)點參數(shù) Bus::PrintfBusData(bus,N);//輸出結(jié)點參數(shù) Complex **X;X=new Complex *[N];for(i=0;i Bus::JisuanNodeDnz(X,line,bus,L,N);//計算節(jié)點導納矩陣 Bus::PrintfNodeDnz(X,N);//輸出節(jié)點導納矩陣 int NN=(N-1)*2;double **JacAug;JacAug=new double *[NN];for(i=0;i double *x;x=new double[NN];int count=1; LOOP: Bus::JisuanNodeI(X,bus,N);//計算節(jié)點注入電流 Bus::JisuanNodeScal(X,bus,N);//計算節(jié)點功率 Bus::JisuanNodeScal(X,bus,N);//計算節(jié)點功率 Bus::JisuanNodeSdelta(bus,N);//計算節(jié)點功率差值 Bus::PrintfNodeScal(X,bus,N);//輸出節(jié)點功率差值 int icon=wehcon1(bus,N);//whether converbence看迭代是否結(jié)束 if(icon==1){ cout<<“icon=”< Bus::JisuanJacAug(JacAug,X,bus,N);//計算雅可比增廣矩陣 // Bus::PrintfJacAug(JacAug,N); gauss::gauss_slove(JacAug,x,NN);//解方程組求出電壓差值 Bus::ReviseNodeV(bus,x,N);//修正節(jié)點電壓 // Bus::PrintfNodeV(bus,N); count++; goto LOOP;} else { for(i=0;i { int statemp,endtemp; Complex aa,bb,cc,dd,B; B.real=0; B.image=-line[i].B; statemp=line[i].start; endtemp=line[i].end; aa=Complex::productComplex(Complex::getconj(bus[statemp-1].V), B); bb=Complex::subComplex (Complex::getconj(bus[statemp-1].V), Complex::getconj(bus[endtemp-1].V)); cc=Complex::productComplex(bb , Complex::getconj(line[i].Y)); dd=Complex::CaddC(aa,cc); line[i].stoe=Complex::productComplex(bus[statemp-1].V,dd); aa=Complex::productComplex(Complex::getconj(bus[endtemp-1].V), B); bb=Complex::subComplex (Complex::getconj(bus[endtemp-1].V), Complex::getconj(bus[statemp-1].V)); cc=Complex::productComplex(bb , Complex::getconj(line[i].Y)); dd=Complex::CaddC(aa,cc); line[i].etos=Complex::productComplex(bus[endtemp-1].V,dd); } cout<<“icon=”< Bus::JisuanNodeScal(X,bus,N);//計算節(jié)點功率 for(i=0;i { bus[i].Scal.real = bus[i].Scal.real + bus[i].Load.real;//發(fā)電機功率=注入功率+負荷功率 bus[i].Scal.image= bus[i].Scal.image+ bus[i].Load.image; bus[i].V=Complex::Rec2Polar(bus[i].V); } cout<<“====節(jié)點電壓===============發(fā)電機發(fā)出功率======”< for(i=0;i { cout<<“節(jié)點”<<(i+1)<<'t'; Complex::PrintfComplex(bus[i].V); coutt(bus[i].Scal.real); coutt(bus[i].Scal.image); cout< } cout<<“======線路傳輸功率==========”< for(i=0;i { int statemp,endtemp; statemp=line[i].start; endtemp=line[i].end; cout< Complex::PrintfComplex(Complex::ComDivRea(line[i].stoe,0.01)); Complex::PrintfComplex(Complex::ComDivRea(line[i].etos,0.01)); cout< } } return 0;} #include “stdafx.h” #include #include“Complex.h” #include“wanjing.h” #include“gauss.h” using namespace std; int _tmain(int argc, _TCHAR* argv[]){ int i; //i作為整個程序的循環(huán)變量 int N=Bus::ScanfBusNo();//輸入節(jié)點個數(shù) int L=Line::ScanflineNo();//輸入支路個數(shù) if((L&&N)==0){return 0;} //如果找不到兩個文件中的任意一個,退出 Line *line=new Line[L];//動態(tài)分配支路結(jié)構(gòu)體 Line::ScanfLineData(line);//輸入支路參數(shù) Line::PrintfLineData(line,L);//輸出支路參數(shù) Bus *bus=new Bus[N];//動態(tài)分配結(jié)點結(jié)構(gòu)體 for(int i=0;i bus[i].Sdelta.real=0; bus[i].Sdelta.image=0;} Bus::ScanfBusData(bus);//輸入節(jié)點參數(shù) Bus::PrintfBusData(bus,N);//輸出結(jié)點參數(shù) Complex **X;X=new Complex *[N];for(i=0;i Bus::JisuanNodeDnz(X,line,bus,L,N);//計算節(jié)點導納矩陣 Bus::PrintfNodeDnz(X,N);//輸出節(jié)點導納矩陣 int NN=(N-1)*2;double **JacAug;JacAug=new double *[NN];for(i=0;i double *x;x=new double[NN];int count=1; LOOP: Bus::JisuanNodeI(X,bus,N);//計算節(jié)點注入電流 Bus::JisuanNodeScal(X,bus,N);//計算節(jié)點功率 Bus::JisuanNodeScal(X,bus,N);//計算節(jié)點功率 Bus::JisuanNodeSdelta(bus,N);//計算節(jié)點功率差值 Bus::PrintfNodeScal(X,bus,N);//輸出節(jié)點功率差值 int icon=wehcon1(bus,N);//whether converbence看迭代是否結(jié)束 if(icon==1){ cout<<“icon=”< Bus::JisuanJacAug(JacAug,X,bus,N);//計算雅可比增廣矩陣 // Bus::PrintfJacAug(JacAug,N); gauss::gauss_slove(JacAug,x,NN);//解方程組求出電壓差值 Bus::ReviseNodeV(bus,x,N);//修正節(jié)點電壓 // Bus::PrintfNodeV(bus,N); count++; goto LOOP;} else { for(i=0;i { int statemp,endtemp; Complex aa,bb,cc,dd,B; B.real=0; B.image=-line[i].B; statemp=line[i].start; endtemp=line[i].end; aa=Complex::productComplex(Complex::getconj(bus[statemp-1].V), B); bb=Complex::subComplex (Complex::getconj(bus[statemp-1].V), Complex::getconj(bus[endtemp-1].V)); cc=Complex::productComplex(bb , Complex::getconj(line[i].Y)); dd=Complex::CaddC(aa,cc); line[i].stoe=Complex::productComplex(bus[statemp-1].V,dd); aa=Complex::productComplex(Complex::getconj(bus[endtemp-1].V), B); bb=Complex::subComplex (Complex::getconj(bus[endtemp-1].V), Complex::getconj(bus[statemp-1].V)); cc=Complex::productComplex(bb , Complex::getconj(line[i].Y)); dd=Complex::CaddC(aa,cc); line[i].etos=Complex::productComplex(bus[endtemp-1].V,dd); } cout<<“icon=”< Bus::JisuanNodeScal(X,bus,N);//計算節(jié)點功率 for(i=0;i { bus[i].Scal.real = bus[i].Scal.real + bus[i].Load.real;//發(fā)電機功率=注入功率+負荷功率 bus[i].Scal.image= bus[i].Scal.image+ bus[i].Load.image; bus[i].V=Complex::Rec2Polar(bus[i].V); } cout<<“====節(jié)點電壓===============發(fā)電機發(fā)出功率======”< for(i=0;i { cout<<“節(jié)點”<<(i+1)<<'t'; Complex::PrintfComplex(bus[i].V); coutt(bus[i].Scal.real); coutt(bus[i].Scal.image); cout< } cout<<“======線路傳輸功率==========”< for(i=0;i { int statemp,endtemp; statemp=line[i].start; endtemp=line[i].end; cout< Complex::PrintfComplex(Complex::ComDivRea(line[i].stoe,0.01)); Complex::PrintfComplex(Complex::ComDivRea(line[i].etos,0.01)); cout< } } return 0;} #include class Complex//定義復數(shù)類 { public: double real;double image;int RecPolar;//0表示直角坐標,1表示極坐標 static Complex CaddC(Complex c1,Complex c2);//求兩個復數(shù)和 static Complex subComplex(Complex c1,Complex c2);//求兩個復數(shù)差 static Complex productComplex(Complex c1,Complex c2);//求兩個復數(shù)積 static Complex divideComplex(Complex c1,Complex c2);//求兩個復數(shù)商 static Complex ComDivRea(Complex c1,double r2);//除數(shù) static Complex getconj(Complex c1);//求一個復數(shù)共軛 static Complex getinverse(Complex c1);//取倒數(shù) static double getComplexReal(Complex c1);//求一個復數(shù)實部 static double getCompleximage(Complex c1);//求一個復數(shù)虛部 static void PrintfComplex(Complex c1);//顯示一個復數(shù) static void PrintfmultiComplex(Complex C,int N);//顯示多個復數(shù) static void zeroComplex(Complex c1);//將復數(shù)復零 static Complex Rec2Polar(Complex c1);//取極坐標 Complex(){ RecPolar=0;} }; Complex Complex::Rec2Polar(Complex c1)//極坐標表示 { Complex Node;Node.real=sqrt(c1.real*c1.real+c1.image*c1.image);Node.image=atan2(c1.image,c1.real)*180/3.1415926;Node.RecPolar=1;return Node;} Complex Complex::CaddC(Complex c1,Complex c2)//復數(shù)加法 { Complex Node; Node.real=c1.real+c2.real; Node.image=c1.image+c2.image; return Node;} Complex Complex::subComplex(Complex c1,Complex c2)//復數(shù)減法 { Complex Node; Node.real=c1.real-c2.real; Node.image=c1.image-c2.image; return Node;} Complex Complex::productComplex(Complex c1,Complex c2)//復數(shù)乘法 { Complex Node; Node.real=c1.real*c2.real-c1.image*c2.image; Node.image=c1.image*c2.real+c2.image*c1.real; return Node;} Complex Complex::divideComplex(Complex c1,Complex c2)//復數(shù)除法 { Complex Node; Node.real=(c1.real*c2.real+c1.image*c2.image)/(pow(c2.real,2)+pow(c2.image,2));Node.image=(c1.image*c2.real-c1.real*c2.image)/(pow(c2.real,2)+pow(c2.image,2));return Node;} Complex Complex::ComDivRea(Complex c1,double r1)//復數(shù)除數(shù) { Complex Node;Node.real=c1.real/(r1);Node.image=c1.image/(r1);return Node;} Complex Complex::getconj(Complex c1)//取共軛 { Complex Node; Node.real=c1.real;Node.image=-c1.image; return Node;} Complex Complex::getinverse(Complex c1)//取倒數(shù) { Complex Node;Node.real=1;Node.image=0;Node=(Complex::divideComplex(Node,c1));return Node;} double Complex::getComplexReal(Complex c1)//取實部 { return c1.real;} double Complex::getCompleximage(Complex c1)//取虛部 { return c1.image;} void Complex::PrintfComplex(Complex c1)//按直角坐標輸出 { if(c1.RecPolar==0){ cout.precision(6); cout.width(8); cout.setf(ios::right); cout< ”; cout.precision(6); cout.width(8); cout.setf(ios::left); cout< ”;} else { cout< Complex::zeroComplex(Complex c1)//清零 { c1.real=0;c1.image=0;} class gauss { public: static void gauss_slove(double **a,double *x,int NN);static void gauss_output();}; void gauss::gauss_slove(double **a,double *x,int NN){ int n,i,j,k,*pivrow,**pivcol;double eps,pivot,sum,aik,al; n=NN;pivrow=new int[n];pivcol=new int *[n]; for(i=0;i pivot= fabs(a[k][k]); pivrow[k]=k;//行 pivcol[k][0]=k;pivcol[k][1]=k;//列n*2矩陣 for(i=k;i { for(j=k;j { if(pivot { pivot=fabs(a[i][j]); pivrow[k]=i;//行 pivcol[k][1]=j;//列 } } } if(pivot { cout<<“error”< getchar(); exit(0); } if(pivrow[k]!=k)//行變換 { for(j=k;j<(n+1);j++) { al=a[pivrow[k]][j]; a[pivrow[k]][j]=a[k][j]; a[k][j]=al; } } if(pivcol[k][1]!=k)//列變換 { for(i=0;i { al=a[i][pivcol[k][1]]; a[i][pivcol[k][1]]=a[i][k]; a[i][k]=al; } } if(k!=(n-1))//將矩陣化為上三角形 式 { for(i=(k+1);i { aik=a[i][k]; for(j=k;j<(n+1);j++) { a[i][j]-=aik*a[k][j]/a[k][k]; } } } } x[n-1]=a[n-1][n]/a[n-1][n-1];//解方程 for(i=(n-2);i>=0;i--){ sum=0; for(j=(i+1);j { sum +=a[i][j]*x[j];0.182709 0.016894-0.0310701 -0.0402051 0.156702 -0.0355909-0.0668055 -0.00703229-0.0886481 -0.0129814-0.0390805 -0.0135062-0.1023 -0.0460568 -0.0342827 -0.00382402-0.102896 -0.0184062 } x[i]=(a[i][n]-sum)/a[i][i];} for(k=(n-2);k>=0;k--){ al=x[pivcol[k][1]]; x[pivcol[k][1]]=x[pivcol[k][0]]; x[pivcol[k][0]]=al;} cout<<“節(jié)點電壓修正量”< cout< } ====節(jié)點功率計算值==== 0.935261 -0.159048 0.573909 0.0789973-0.00289889 -0.00796623-0.0791247 -0.0168362-0.436255 -0.0580392 0.0359139 -0.0106592-0.229118 -0.0885419-0.136179 -0.148207 0.0446243 0.0111298-0.0223764 -0.00695775-0.0237482 -0.198318 -5.24266e-015 -0.0354071 -0.0925078 -1.05629e-015 -0.0391348 0.014529 0.00158644 -0.0258771 -0.109514 icon=1進行第2次迭代 節(jié)點電壓修正量 =================-0.00164889-0.000540034-0.00261067-0.00532027-0.00235315-0.00600971-0.00189677-0.00643874-0.0023631-0.00650659-0.00170949-0.0074907-0.00164545-0.00485415-0.00493977-0.0119042-0.00331285-0.0175611-0.00207908 -0.00347744-0.0869347-9.48909e-015-0.0110778-0.0538236-7.53784e-016-0.0168097 7.049e-005-0.00146487-0.00458276 0.00251645 -0.00336375-0.00530645-0.0147816-0.000326161-0.00640487-0.00251701-0.0169829-0.00175286-0.0174333-0.0239063 -0.0119192-0.076014 -0.0160104-0.441997 -0.0750285 0.000250012 3.72542e-005-0.228052 -0.108844-0.100078 -0.105634 0.000410707 0.000378067-0.057497 -0.0195879 0.200039 0.0582563-0.00307326-0.0163809-0.00232773-0.0175806 8.74293e-005-0.0192018 0.000558996-0.0197776-0.000247851-0.0193784-0.00115346-0.0185848-0.00127275-0.0186244-0.00010108-0.0188966 0.000553585-0.0200901-3.76315e-005-0.0208303 0.00308341-0.0219386-0.00195916-0.0205356-0.00184757-0.0076401 0.00197593-0.0245534 0.00434657-0.027534 ====節(jié)點功率計算值==== 0.98623 -0.134163 0.583136 0.166278-0.111173 0.199792 -0.0621041 -0.0821379 -0.0350785 -0.0902383 -0.0320461 -0.0951562 -0.0220362 -0.175458 4.72557e-015 -0.0320661 -0.0871134 -7.03489e-017 -0.0350769 0.000273455 1.51804e-005 -0.0240417 -0.10604 icon=1進行第3次迭代 節(jié)點電壓修正量 =================-2.67079e-005-2.30128e-006-2.20543e-005-6.00686e-005-2.33043e-005-6.85601e-005-3.22294e-005-2.61107e-005-2.80198e-005-6.6167e-005-2.34528e-005 -0.0739846 0.0227868-0.0158709-0.0248173-0.0179447-0.0578368-0.00890719-0.0337091-0.00693706-0.111601 1.21429e-014-0.0159145-0.0667319 9.24355e-016-0.0228592 7.10354e-005-6.6188e-006-0.00889343-0.0184098 -5.66132e-005-4.4646e-005-1.74668e-005-4.50947e-005-0.000181763-3.81763e-006-0.000286581-6.68993e-005-1.28441e-005-5.17172e-005-0.000223284-4.54717e-005-2.47586e-005 4.32335e-007-0.000258494 1.82635e-005-0.000272051-6.95195e-006-0.000251969 1.11318e-005-0.000279418 5.74737e-005-0.000307368 6.86998e-005-0.000320274 5.38112e-005-0.00031447 3.59531e-005-0.00030494 3.37607e-005-0.000307449 5.26532e-005-0.000310721 6.92761e-005-0.000350373 5.60942e-005-0.00040977 0.000123641-0.000440259 1.36149e-005-0.000426973-1.70227e-005-9.37794e-005 0.000113675-0.000544011 0.000176034-0.000636202 ====節(jié)點功率計算值==== 0.986878 -0.133979 0.583 0.167193-0.024 -0.012-0.076 -0.016-0.442 -0.0748606 1.43501e-008 1.07366e-008-0.228 -0.109 -0.0999999 -0.104049 4.51318e-008 8.98835e-008-0.0579999 -0.0199999 0.2 0.0591018-0.112 -0.0749997 0.2 0.0242519-0.062 -0.016-0.082 -0.025-0.035 -0.018 -0.0900001 -0.058-0.032 -0.00899997-0.095 -0.0339999-0.022 -0.00699998-0.175 -0.112 -6.07156e-015 -1.19217e-014-0.032 -0.016-0.087 -0.0669999 7.03078e-017 -9.23979e-016-0.035 -0.0229999 1.09492e-007 4.45699e-008 1.54958e-009 -2.01531e-010-0.024 -0.00899994-0.106 -0.0189996 icon=0,迭代結(jié)束。 ====節(jié)點電壓===============發(fā)電機發(fā)出功率====== 節(jié)點1 1.05 0。 98.6878-13.3979 節(jié)點2 1.045 -1.846。 29.4193 節(jié)點3 1.02384-3.83352。 0 節(jié) 點25 1.01216-9.68486。 0 0 0 節(jié)點4 1.01637-4.55698。 0 節(jié) 點26 0.994393 -10.1089。 0 0 0 節(jié)點5 1.01 -6.48617。 節(jié) 點27 1.02012-9.42025。 0 11.5139 0 節(jié)點6 1.01332-5.38073。 0 節(jié) 點28 1.00992-5.86244。 0 0 0 節(jié)點7 1.00489-6.38368。 0 節(jié) 點29 1.00022-10.6579。 0 0 節(jié)點8 19.5951 節(jié)點9 0 節(jié)點10 0 節(jié)點11 5.91018 節(jié)點12 0 節(jié)點13 2.42519 節(jié)點14 0 節(jié)點15 0 節(jié)點16 0 節(jié)點17 0 節(jié)點18 0 節(jié)點19 0 節(jié)點20 0 節(jié)點21 0 節(jié)點22 0 節(jié)點23 0 節(jié)點24 0 1.01 -5.62974。 1.03905-6.78143。 1.03595-8.69362。 -4.5962。 1.04711-7.80323。 1.05 -6.34392。 1.03242-8.7401。 1.02788-8.86784。 1.03458-8.45044。 1.03051-8.83678。 1.01845-9.5141。 1.01604-9.70326。 1.02022-9.50938。 1.0237-9.17478。 1.02432-9.17024。 1.01802-9.36719。 1.01339-9.68362。 0 20 節(jié) 點30 0.988705 -11.5464。 0 0 0 ====== 線路傳輸功率========== 2to1 -57.7373 5.41674i 58.3454 0 -15.1827i 3to1 -39.659 -7.75964i 40.3424 1.78481i 4to2 -30.87 -9.74186i 31.4153 0 3.58352i 4to3 -37.0772 -7.78596i 37.259 6.55964i 5to2 -44.3717 -9.78456i 45.2968 0 4.84242i 6to2 -38.4766 -8.22625i 39.3252 0 2.87667i 6to4 -34.946 1.92384i 35.0885 0 -3.28202i 7to5 -0.16304 -6.41767i 0.171702 0 2.2985i 7to6 -22.637 -4.48233i 22.7745 0 1.44238i 8to6 -11.8939 -5.48098i 11.913 0 3.70557i 6to9 12.3737 -12.3826i -12.3737 0 13.0033i 6to10 10.9107 -3.80907i -10.9107 0 4.53223i 11to9 5.91018i 0 -5.08963i 10to9 -32.652 -2.3712i 32.652 0 3.46974i 4to12 23.5411 -11.5375i -23.5411 0 13.2407i 13to12 2.42519i 1.05 -1.90978i 1.66484i 14to12 -7.9019 -2.06732i 7.97894 30to29 -3.6702 -0.542564i 3.70398 2.22749i 0.606393i 15to12 -18.254 -5.74885i 18.4835 28to8 -1.89152 -3.79982i 1.89395 6.20089i-4.9239i 16to12-7.53872 -2.90237i 7.59633 28to6 -14.7868 -2.82565i 14.8234 3.02352i 0.294601i 15to14-1.69544 -0.461488i 1.70189 請按任意鍵繼續(xù)...0.467323i 17to16-4.03014 1.10238i 18to15-6.08074 1.46028i 19to18-2.87549 0.478389i 20to19 6.6418-2.93222i 20to10 -8.8418 3.85077i 17to10-4.96987 4.76656i 21to10-16.1562 9.42843i 22to10-7.87782 4.21401i 22to21 1.34443-2.01837i 23to15-5.59369 2.25006i 24to22-6.48186 2.08163i 24to23-2.38596 0.579814i 25to24-0.167617 0.281364i 26to25 -3.5 2.3674i 27to25 3.39433-2.08638i 28to27 16.1446 3.13006i 29to27-6.10398 1.67047i 30to27-6.92979-1.07089i-1.37839i-0.467767i 2.96679i-3.66679i-4.72911i-9.18162i-4.10132i 2.01969i-2.17981i-2.00141i-0.56401i -0.28102i-2.29999i 2.11848i-2.10093i-1.50639i -1.3574i 4.03872 6.12096 2.88074 -6.62452 8.9242 4.98423 16.2709 7.93248 -1.34378 5.62846 6.53339 2.39369 0.167814 3.54513 -3.37751 -16.1446 6.19083 7.09313 高等電力系統(tǒng)分析 IEEE30節(jié)點潮流程序 班級:電研114班 姓名:王大偉 學號:2201100151