【正文】
對角元素故雅克比矩陣是稀疏矩 當在極坐標系內時由功率方程 327 可知節(jié)點 i 的注入功率是各節(jié)點電壓幅值和相角的函數代入式 327 可以 求出節(jié)點 i 的有功功率和無功功率它們與給定的 PQ 節(jié)點的注入功率的差值滿足下面方程 333 式中 i 與 j 節(jié)點電壓的相角差 在有 n 個節(jié)點的系統(tǒng)中假定第號節(jié)點為 PQ 節(jié)點第 m1n1 號節(jié)點為 PV節(jié)點第 n 號節(jié)點為平衡節(jié)點和是給定的 PV 節(jié)點的電壓幅值也是給定的因此只剩下 n1 個節(jié)點的電壓相角和 m 個節(jié)點的電壓幅值是未知量由 333 可知一共包含了 n1m 方程式正好同未知量的數目相等而直角坐標形式的方程少了 n1m 個 由方程 333 可以寫出修正方程 334 式中 335 其中 H是階方陣其元素為 N是階矩陣其元素為 K是階矩陣其元素為 L是階矩陣其元素為 對式 333 求偏導數可得雅克比矩陣元素的表達式如下 非對角元素 336 對角元素 337 牛頓法潮流計算主要流程 形成節(jié)點導納矩陣 給各節(jié)點電壓設初值 將節(jié)點電壓初值代入 328329 求出修正方程式的常數項向量 將節(jié)點電壓初值代 入 331332 求出雅可比矩陣元素 求解修正方程式 330 求出變量的修正向量 求出節(jié)點電壓的新值 如有 PV 節(jié)點則檢查該類節(jié)點的無功功率是否越限 檢查是否收斂由式 319 可知若電壓趨近于真解時功率偏移量將趨于零如不收斂則以各節(jié)點電壓的新值作為初值自第 3 步重新開始下一次迭代否則轉入下一步 計算支路功率分布 PV 節(jié)點無功功率和平衡節(jié)點注入功率最后輸出結果并結束 牛頓 拉夫遜潮流計算程序框圖如圖 32 所示 基于 matlab 潮流計算軟件的實現 登陸界面的設計實現 登陸界面是用戶對軟件進行操作的門戶也對用戶身份進行驗 證本設計的登陸界面設計如圖 41 所示 圖 41 登陸界面 當用戶輸入正確的用戶信息是進入潮流計算主界面否則彈出錯誤提示對話框錯誤對話框如圖 42 所示 圖 42 錯誤提示對話框 潮流計算主界面設計實現 421 主界面介紹 主界面是進行潮流計算的的操作界面能完成數據的初始化進行潮流計算并顯示潮流計算的相關結果以供用戶分析具體來講就是點擊第一個彈出框選擇潮流計算數據組并在主界面上顯示所選擇數據組的電路接線圖單擊計算按鈕就能完成潮流計算并將潮流計算結果保存下來單擊第二個彈出框可以查看具體的結果同時還將畫出潮流計算電 壓迭代曲線潮流計算主界面如圖 43 所示 圖 43 主界面 422 數據初始化 本設計將數據保存在 excel 表格里在主界面上單擊彈出框選擇數據組從而從 excel表格里調入數據完成數據初始化本設計定義了 7個數據供主程序調用他們分別是節(jié)點數 n 支路數 n1 平衡節(jié)點標號 isb 精度值 pr節(jié)點參數矩陣 B1 支路參數矩陣 B2 和節(jié)點號及其對地阻抗形成的舉證 X 從 excel表格中調入數據采用 xlsread函數這樣 excel表格中的數據就以矩陣的形式存放在 matlab 中但 xlsread 函數不能讀入虛數其將虛數標記符 i 當做字符處理所以 本設計把數據的實部和虛部分開分別讀入然后在 matlab 中將其轉化回去數據初始化程序如下所示 val get hObjectvalue str get hObjectstring switch str val case 電力系統(tǒng) 1 M 1 case 電力系統(tǒng) 2 M 2 end if M 1 a xlsread efirxls handlesn a 1 handles a 2 handlesisb a 3 handlespr a 4 b xlsread ebrxls c xlsread ebixls handlesB1 b 16 jc 16 handlesB2 b 712 jc 712 d xlsread exxls handlesX d 12 jd 34 elseif M 2 a xlsread efir2xls handlesn a 1 handlesn1 a 2 handlesisb a 3 handlespr a 4 b xlsread ebr2xls c xlsread ebi2xls handlesB1 b 16 jc 16 handlesB2 b 712 jc 712 d xlsread ex2xls handlesX d 12 jd 34 end guidata hObjecthandles 423 潮流計算 本設計通過計算按鈕調用潮流計算主程序完成潮流計算潮流計算程序根據牛頓拉夫遜法編制對主程序介紹如下 1 導納矩陣的形成 ①求導納矩陣 Y中的非對角元元素 Yij若無變壓器則 Yij直接為線路阻抗分之一取負值若有變壓器 Yij 為線路阻抗乘以 KT 后分之一再取負值 ②求導納矩陣 Y中對角元元素 Yii無變壓器時 Yii為 Yij加上線路對地電導的一半乘 j 有變壓器時對角元元素就與所輸入的折算到哪一側有關如果支路起始端處于高壓側支路起始節(jié)點的自導納中要加上變壓器等值導納模型的對地支路的 1KT KT2 倍支路終止節(jié)點的自導納要加上變壓器等值導納模型的對地支路的 KT1 KT 倍如果支路起始端處于低壓側情況正好相反支路起始節(jié)點的自導納中要加上變壓器等 值導納模型的對地支路的 KT1 KT 倍支路終止節(jié)點的自導納要加上變壓器等值導納模型的對地支路的 1KT KT2 倍導納矩陣形成程序如下所示 for i 1n if X i2 0 p X i1 Y pp X i2 end end for i 1n1 if B1 i6 0 p B1 i1 q B1 i2 else p B1 i2 q B1 i1 end Y pq Y pq 1 B1 i3 B1 i5 Y qp Y pq Y Y 1 B1 i3 B1 i5 2 B1 i4 2 Y pp Y pp 1B1 i3 B1 i4 2 end 2 迭代修正初始值 這一部分是程序的主題部分通過迭代求取修正量從而修正電壓直至修正量達到給定的精度本程序通過 while 循環(huán)實現迭代運算迭代循環(huán)條件為未達到精度要求的個數即如果未達到精度要求的個數為零就停止迭代否則繼續(xù)迭代 3 各節(jié)點功率的求取 節(jié)點功率等于電壓的平方與導納的乘積程序如下所示 for p 1n c p 0 for q 1n c p c p conj Y pq conj UU q end s p UU p c p end 4 支路首端功率和末端功率的求取 for i 1n1 if B1 i6 0 p B1 i1 q B1 i2 else p B1 i2 q B1 i1 end Si pq UU p conj UU p conj B1 i4 2 conj UU p B1 i5 conj UU q conj 1 B1 i3 B1 i5 f i1end [pqSi pq ] end 這是首端功率的求取程序末端功率的求取與此相似故不再贅述 5 各支路功率損耗的求取 for i 1n1 if B1 i6 0 p B1 i1 q B1 i2 else p B1 i2 q B1 i1 end Ds i Si pq Sj qp end 424 數據處理 為了使用戶能方便的查看潮流計算結果主界面上設彈出框用戶可以根據需要選擇所要查看的數據選中之后數據 即顯示在界面里的表格里 同時為了使用戶能更好的處理數據本軟件還將計算所得結果存入 excel 表格中以供用戶隨時查看調用把數據寫入 excel 中使用 xlswrite 函數下面是將功率寫入 excel 中的程序段 rf real f imf imag f imf imf 3 f [rf imf] xlswrite sdglxlsf 其他數據類似于此不再贅述 425 數據的傳遞問題 潮流計算主程序要調用數據初始化程序段的初始化數據查看主程序潮流計算所得的數據都涉及到數據傳遞問題一個函數里的數據是局部變量它不能被其他函 數調用然而初始化所得的數據要被主程序所調用主程序運行后計算所得結果要被數據顯示這邊的函數所調用這就要求數據共享 matlab GUI 編程里的handles結構體很好的解決了這一問題 handles結構體是運行 GUI 時自動生成的它就像是一個數據的容器它可以將存放在里邊的函數作為每個函數的第三個輸入參數隨意地傳給每個函數下面是將潮流計算結果定義為 handles 結構體的程序段 handlesUU UU handlesxj xj handlesf f handlesff ff handlesDs Ds handlesS S handlesICT2 ICT2 handlesY Y guidata hObjecthandles 這樣后面的函數就可以很好的隨意的調用這些數據 實例仿真與分析 實例仿真 本設計設計了兩個仿真實例此處就對其中之一做說明電力系統(tǒng)模型的接線圖如圖 51 所示 圖 51 接線圖 選擇此仿真實例計算結果如下所示 圖 52 仿真結果 通過彈出框選擇要顯示的數據運行結果如圖 52 所示 圖 52 運行結果分析 該算例包含平衡節(jié)點 PV節(jié)點 PQ節(jié)點這三種類型的存在于電力系統(tǒng)中既含有長度 l 100km 的一字形架空線 路又包含有長度 100km l 300km 的形架空線路最重要的是該線路還包含有非標準的變壓器實際電力系統(tǒng)中所包含的情況本線路基本上一一提到只是在節(jié)點個數上有所減少但是不影響基本計算該算例可以基本上模擬電力系統(tǒng)中的所有線路因此如果該程序可以成功實現算例所要求的內容那么該程序對電力系統(tǒng)中的大多數線路都 MATLABMATLAB 是完成畢業(yè)設計的工具 MATLAB 有著強大的數值計算的功能它的編程語言同樣簡短而強大特別是它的 GUI 設計窗口為潮流計算軟件的實現提供極大的好處這種可視化設計工具極大的減少了編程的工作量 熟悉 理論知識后就進入了畢業(yè)設計的設計階段首先要完成的潮流計算程序段的編制這是一件繁瑣的工作它需要不斷的編譯調試直到完美為止但這也鍛煉我處理問題的能力增強了我的工作耐性完成程序的編程之后就是軟件的具體實現階段在這一階段首先完成了軟件登陸界面的設計與實現然后就是軟件主界面的設計實現事實證明基于 MATLAB 的電力系統(tǒng)潮流計算使計算機在計算分析研究復雜的電力系統(tǒng)潮流分布問題上又前進了一步不管采用什么算法所有的潮流計算都是基于矩陣的迭代運算而 MATLAB語言正是以處理矩陣見長實踐證明 MATLAB語言在電力系統(tǒng)潮流計算軟件 的實現是可行的而且由于其強大的矩陣處理功能完全可以應用于電力系統(tǒng)的其它分析計算中而且 MATLAB 語言編程效率高程序調試十分方便可大大縮減軟件開發(fā)周期 雖然畢業(yè)設計過程中經歷了很多付出了很多但由于能力和時間的有限仍有許多值得改進的地方例如登陸界面及潮流計算主界面的美觀性有待提高軟件與用戶的互動交流還不夠好這些問題都有待改善 總之通過這次畢業(yè)設計使我學會了如何更好的學習如何更好的查資料如何更好的找信息 襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆 袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆 袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞