




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、如果恰巧看到這篇的話,給你們幾個(gè)忠告。首先要說的是:課設(shè)老師是sb,課設(shè)老師是sb,課設(shè)老師是sb,重說三;其次,要給他看程序的話,一定要早一點(diǎn),不然你自己寫的也成抄襲的了,親身經(jīng)歷你們懂的;順帶,這sb看變量名認(rèn)程序的,自己盡量把變量名都改了。恩,基本就是這些了。 課程設(shè)計(jì)報(bào)告( 20152016年度第二學(xué)期)名 稱:電力系統(tǒng)潮流上機(jī) 院 系:電氣與電子工程學(xué)院 班 級: 學(xué) 號: 學(xué)生姓名: 指導(dǎo)教師: 毛安家 設(shè)計(jì)周數(shù): 兩周 成 績: 日期: 年 月 日 課程設(shè)計(jì)報(bào)告一、課程設(shè)計(jì)的目的與要求培養(yǎng)學(xué)生的電力系統(tǒng)潮流計(jì)算機(jī)編程能力,掌握計(jì)算機(jī)潮流計(jì)算的相關(guān)知識二、設(shè)計(jì)正文(詳細(xì)內(nèi)容見附錄)
2、1 手算節(jié)點(diǎn)1為平衡節(jié)點(diǎn),電壓,節(jié)點(diǎn)2為PQ節(jié)點(diǎn),負(fù)荷功率,節(jié)點(diǎn)3是PV節(jié)點(diǎn),兩條支路分別為,對地支路。(要求應(yīng)用牛頓-拉夫遜法或P-Q分解法手算求解,要求迭代兩次。)(手算具體過程見附錄)2 計(jì)算機(jī)計(jì)算編寫潮流計(jì)算程序,要求如下:2.1據(jù)給定的潮流計(jì)算任務(wù)書整理潮流計(jì)算的基礎(chǔ)數(shù)據(jù):節(jié)點(diǎn)的分類,線路模型,等值變壓器模型,電壓等級的歸算,標(biāo)幺值的計(jì)算;2.2基礎(chǔ)數(shù)據(jù)的計(jì)算機(jī)存儲(chǔ):節(jié)點(diǎn)數(shù)據(jù),支路數(shù)據(jù)(包括變壓器);2.3用牛頓-拉夫遜法計(jì)算;2.4根據(jù)所選潮流計(jì)算方法畫流程圖,劃分出功能模塊,有數(shù)據(jù)輸入模塊,導(dǎo)納陣形成模塊,解線性方程組模塊,計(jì)算不平衡功率模塊,形成雅可比矩陣模塊,解修正方程模塊,
3、計(jì)算線路潮流。 (1)、每次迭代的各節(jié)點(diǎn)電壓幅值、相位或者實(shí)部、虛部(2)、收斂的迭代次數(shù)(3)、收斂后各節(jié)點(diǎn)電壓幅值、相位,各支路的(4)、收斂后PV節(jié)點(diǎn)的注入Q(5)、收斂后平衡節(jié)點(diǎn)的注入功率S2.5據(jù)上述模塊編制程序并上機(jī)調(diào)試程序,得出潮流計(jì)算結(jié)果;2.6源程序及其程序中的符號說明集、程序流圖簡單系統(tǒng)如下圖所示,支路數(shù)據(jù)如下:支路14,27,39為變壓器支路,參數(shù)為,其余支路為線路支路,參數(shù)為,節(jié)點(diǎn)數(shù)據(jù)如下:,,(計(jì)算機(jī)計(jì)算過程及程序代碼等見附錄)3 思考題3.1潮流計(jì)算的方法有哪些?各有何特點(diǎn)?3.2如果交給你一個(gè)任務(wù),請你用已有的潮流計(jì)算軟件計(jì)算北京城市電網(wǎng)的潮流,你應(yīng)該做哪些工作?
4、(收集哪些數(shù)據(jù),如何整理,計(jì)算結(jié)果如何分析)3.3設(shè)計(jì)中遇到的問題和解決的辦法。(思考題回答見附錄)三、課程設(shè)計(jì)總結(jié)或結(jié)論這次課程設(shè)計(jì)不僅涉及了當(dāng)年就不懂的潮流計(jì)算的知識,還用到了荒廢已久的C語言,我一開始是迷茫緊張的。但是隨著設(shè)計(jì)的進(jìn)行,復(fù)習(xí)回想起了當(dāng)年課程的內(nèi)容,發(fā)現(xiàn)其實(shí)算法也就是把大問題分解成一個(gè)個(gè)步驟,只要把每個(gè)步驟認(rèn)真做好,一點(diǎn)點(diǎn)像搭積木一樣,最終就能做出一棟牢固的房屋。編程過程中發(fā)現(xiàn)模板還是有一些小問題的,比如導(dǎo)納矩陣的數(shù)組在模板中其實(shí)已經(jīng)越界使用了,還有高斯算法的程序存在一些參數(shù)聲明和類型轉(zhuǎn)換的問題,不過問題都不大,很容易就改好了。改動(dòng)比較大的部分,就是我發(fā)現(xiàn)文件中的節(jié)點(diǎn)和線路數(shù)
5、其實(shí)只在讀數(shù)據(jù)的時(shí)候起作用,而且更改節(jié)點(diǎn)和線路數(shù)的時(shí)候還得改動(dòng)程序,很不方便。于是使用了calloc函數(shù)動(dòng)態(tài)申請內(nèi)存空間,開頭讀取一次文件中的節(jié)點(diǎn)和線路數(shù)后,全程都可以使用這兩個(gè)參數(shù),大大提升了程序的靈活性,只需要修改文件內(nèi)容就可以計(jì)算各種情況。動(dòng)態(tài)的二維數(shù)組的構(gòu)建方法是在百度中學(xué)習(xí)的,讓人不得不佩服前人巧妙的思路。還有編程中遇到的最大的問題就是數(shù)組空間申請的不足導(dǎo)致下標(biāo)越界,從而在運(yùn)行過程中出現(xiàn)了各種奇奇怪怪的報(bào)錯(cuò),讓我頭疼了好一陣,最終發(fā)現(xiàn)還是自己粗心的問題,只要改正一個(gè)數(shù)組長度參數(shù)就好,真是讓人哭笑不得。這次課程設(shè)計(jì)幫我鞏固了潮流計(jì)算的知識,讓我對潮流計(jì)算的思路理解更加深刻了,也鍛煉了我
6、的編程能力,過程中大部分問題都是自己獨(dú)立解決的(不得不說百度是個(gè)好幫手,不過涉及到比較專業(yè)性的問題百度就非常無力),當(dāng)然與同學(xué)的交流幫我找出了不少程序的錯(cuò)漏。在自己程序基本完成之后也幫助了其他同學(xué)解決了不少問題(個(gè)人感想是:學(xué)會(huì)用debug大部分問題都能自己解決)。雖然我一向比較傾向于獨(dú)立解決問題,但實(shí)際情況告訴了我多與其他人交流會(huì)給自己很大的幫助,我以后會(huì)努力和他人交流,以更高的效率解決問題!四、參考文獻(xiàn)1. 電力系統(tǒng)分析基礎(chǔ),李庚銀,機(jī)械工業(yè)出版社,2011年,第一版;2. 電力系統(tǒng)穩(wěn)態(tài)分析,陳珩,中國電力出版社,2007年,第三版附錄(包括:1.手算過程及結(jié)果;2.計(jì)算機(jī)計(jì)算流程圖、表格
7、、數(shù)據(jù);3.思考題答案)13手算過程:第一次迭代:1.計(jì)算導(dǎo)納矩陣Y11=y13+y12= 1/(0.01+j0.04)+1/(0.05+j0.02)= 7.0588-j28.2353 Y12= -y12= -1/(0.05+j0.02)= -1.1765+j 4.7059Y13= -y13= -1/(0.01+j0.04)= -5.8824+j23.5294Y21= -y12 = -1/(0.05+j0.02)= -1.1765+j 4.7059Y22= y22= 1/(0.05+j0.02)= 1.1765-j 4.7059Y31= -y13= -1/(0.01+j0.04)= -5.88
8、24+j23.5294Y33= y13+y30=1/(0.01+j0.04)+j0.3=5.8824-j23.2294則Y=7.0588-j28.2353 -1.1765+j 4.7059-5.8824+j23.5294-1.1765+j 4.70591.1765-j 4.70590 -5.8824+j23.529405.8824-j23.22942.計(jì)算不平衡量取1=1.05+j0,2(0)=1.00+j0,3(0) =1.00+j0,2號為PQ節(jié)點(diǎn):P2(0)=j=1ne2G2jej-B2jfj+f2(G2jfj+B2jej)=1.00*(-1.1765*1.05)+1.00*(1.176
9、5*1.00)=-0.0588P2(0)=-0.8-(-0.0588)= -0.7412Q2(0)=j=1nf2G2jej-B2jfj-e2G2jfj+B2jej =-1.00*(4.7059*1.05)+-1.00*(-4.7059*1.00) = -0.2353Q2(0)=-0.5-(-0.2353)= -0.26473號為PV節(jié)點(diǎn):P3(0)=j=1ne3G3jej-B3jfj+f3(G3jfj+B3jej) =1.00*(-5.8824*1.05)+1.00*(5.8824*1.00) =-0.2941P3(0)=-0.4-(-0.2941)= -0.1059U3(0)2=e32+f3
10、2=1U3(0)2=1.052-1= 0.10253.計(jì)算雅可比矩陣H22(0)= -j=1n(G2jfj+B2jej) G22f2+B22e2=-4.9412N22(0)=-1.1176J22(0)=1.2353L22(0)=-4.4706H23(0)=N23(0)=J23(0)=L23(0)=H32(0)=N32(0)=R32(0)=S32(0)=0H33(0)=-24.7059N33(0)=-5.5882R32(0)=0S32(0)=-2.0000則J(0)=-4.9412-1.1176001.2353-4.47060000-24.7059-5.5882000-2.00004.解修正方程
11、計(jì)算略,解得修正量為:e2(0)=0.0947;f2(0)=0.1286e3(0)=-0.0513;f3(0)=0.0159則修正后的電壓量為:e2(1)=0.9053;f2(1)=-0.1286e3(1)=1.0513;f3(1)=-0.0159第二次迭代:1.計(jì)算不平衡量1=1.05+j0,2(1)= 0.9053-j0.1286,3(1) =1.0513-j0.0159,2號為PQ節(jié)點(diǎn):P2(1)=j=1ne2G2jej-B2jfj+f2(G2jfj+B2jej)=0.9053*(-1.1765*1.05) -0.1286*(4.7059*1.05)+0.9053*(1.1765*0.9
12、053-4.7059*0.1286) -0.1286*(-1.1765*0.1286-4.7059*0.9053)=-0.7700P2(1)=-0.8-(-0.7700)= -0.0300Q2(1)=j=1nf2G2jej-B2jfj-e2G2jfj+B2jej = -0.3800Q2(1)=-0.5-(-0.3800)= -0.12003號為PV節(jié)點(diǎn):P3(1)=j=1ne3G3jej-B3jfj+f3(G3jfj+B3jej) =-0.3831P3(1)=-0.4-(-0.3831)= -0.0169U3(1)2=e32+f32=1.05132+0.01592=1.1055U3(1)2=1
13、.052-1.1055= -0.00302. 計(jì)算雅可比矩陣計(jì)算得J(0)=-4.6387-0.8947002.4454-3.57890000-24.5191-6.1912000.0318-2.10253.解修正方程計(jì)算略,解得修正量為:e2(1)=0.0335;f2(1)=0e3(1)=0.0014;f3(1)=0.0003則修正后的電壓量為:e2(2)=0.8717;f2(2)=-0.1286e3(2)=1.0499;f3(2)=-0.0162最終計(jì)算結(jié)果:1號平衡節(jié)點(diǎn)功率為:S=1.2571+j0.6249;2號PQ節(jié)點(diǎn):電壓幅值為0.8812,相角為 -0.1464;3號PV節(jié)點(diǎn):電壓
14、相角為 -0.0154,無功為 -0.2274。13節(jié)點(diǎn)間線路功率S13=0.4015-j0.0971,S31=-0.4000-j0.2274,線路損耗為:0.0015-j0.3246;12節(jié)點(diǎn)間線路功率S12= 0.8555+j0.7221,S21= -0.7987-j0.4947,線路損耗為:0.0568+j0.2274;3號節(jié)點(diǎn)接地支路功率S30= -j0.6615,S03=0,線路損耗為:-j0.6615;全網(wǎng)網(wǎng)損為0.0571-j0.1025。計(jì)算機(jī)程序潮流計(jì)算:節(jié)點(diǎn)數(shù)據(jù):節(jié)點(diǎn)序號電壓幅值相角發(fā)出有功發(fā)出無功吸收有功吸收無功節(jié)點(diǎn)類型11.0400000221.02501.630001
15、31.02500.85000141000000510001.250.50610000.90.30710000008100010.35091000000線路數(shù)據(jù):線路序號左節(jié)點(diǎn)右節(jié)點(diǎn)線路電阻R線路電抗X線路等效電納B/2線路變比11400.05801.122700.06301.0533900.05901.14780.0190.0720.07515890.0120.1010.10516570.0320.1610.15317690.0390.170.17918450.010.0850.08819460.0170.0920.0791計(jì)算輸出結(jié)果:導(dǎo)納矩陣內(nèi)容:每次迭代輸出:第1次:第2次:第3次:第4
16、次:最終結(jié)果:思考題:3.1答:有高斯-塞德爾法,牛頓-拉夫遜法,P-Q分解法等。高斯-塞德爾法具有程序編制簡單、占用內(nèi)存少的優(yōu)點(diǎn),但算法收斂性差,計(jì)算時(shí)間長;牛頓-拉夫遜法不僅在多數(shù)情況下沒有發(fā)散的危險(xiǎn),而且收斂性強(qiáng),可以大大節(jié)省計(jì)算時(shí)間,但對初始值的選擇要求嚴(yán)格,必須選好恰當(dāng)?shù)某跏贾担駝t不收斂;P-Q分解法一般情況下迭代次數(shù)比牛頓-拉夫遜法多,但每次迭代時(shí)間比牛頓-拉夫遜法少,以致總速度比牛頓-拉夫遜法快。3.2 答:在進(jìn)行北京城市電網(wǎng)的潮流計(jì)算之前需要了解北京城市電網(wǎng)中所有的節(jié)點(diǎn)支路的相關(guān)數(shù)據(jù),并對節(jié)點(diǎn)和支路分類。處理PQ節(jié)點(diǎn)時(shí)要了解節(jié)點(diǎn)的注入有功和無功功率,PV節(jié)點(diǎn)要了解節(jié)點(diǎn)電壓大小
17、,注入有功功率及節(jié)點(diǎn)所能提供的最大和最小無功功率,對于平衡節(jié)點(diǎn)要了解節(jié)點(diǎn)的電壓大小、相位及節(jié)點(diǎn)所能提供的最大和最小有功無功功率,此外還需的節(jié)點(diǎn)數(shù)據(jù)有,支路的電阻電抗電納支路變壓器的變比及線路所能傳輸?shù)淖畲笕萘康取S?jì)算結(jié)果分析,應(yīng)考慮PQ節(jié)點(diǎn)的電壓是否過高或過低,分析PV節(jié)點(diǎn)的電壓幅值是否正常及無功功率是否超出范圍,分析平衡節(jié)點(diǎn)有功無功功率是否在節(jié)點(diǎn)所能提供的范圍之內(nèi),分析各支路的功率,看是否超出線路傳輸?shù)淖畲笕萘?,分析整個(gè)系統(tǒng)的網(wǎng)損是否達(dá)到標(biāo)準(zhǔn)。3.3 答:算法構(gòu)建的過程中,發(fā)現(xiàn)了自己對潮流計(jì)算了解的不足之處,各種公式掌握和理解的不夠深刻,導(dǎo)致了算法設(shè)計(jì)的困難;程序方面,我發(fā)現(xiàn)了我和大家程序運(yùn)
18、行出錯(cuò)的最大原因,還是數(shù)組分配空間的不足,以及循環(huán)中數(shù)組下標(biāo)的控制不當(dāng),導(dǎo)致數(shù)組訪問越界,最終發(fā)生了數(shù)據(jù)混亂、數(shù)據(jù)空間重疊,甚至數(shù)據(jù)堆損壞、程序崩潰的情況,最終在我的仔細(xì)檢查之下找到錯(cuò)誤(感謝debug的斷點(diǎn)和監(jiān)視神器),在以后的編程過程中,我會(huì)吸取教訓(xùn),避免再犯一樣的錯(cuò)誤。程序流程圖: 程序代碼如下:/ aaa.cpp : 定義控制臺應(yīng)用程序的入口點(diǎn)。/#include stdafx.h#include 6GAUS.Cstruct Line /線路結(jié)構(gòu)體 int Num,NumI,NumJ; /線路號 左節(jié)點(diǎn)名 右節(jié)點(diǎn)名 double R, X, B, K, P12, Q12, P21, Q
19、21; /電阻 電抗 電納 變比(K等于1為普通支路, 不等于1為變壓器支路的變比) 線路左輸入有功功率 左輸入無功功率 右輸入有功功率 右輸入無功功率 ;struct Bus /節(jié)點(diǎn)結(jié)構(gòu)體 int Num ; double Volt,Phase,GenP,GenQ,LoadP,LoadQ; /節(jié)點(diǎn)的電壓 相角 發(fā)出有功 發(fā)出無功 吸收有功 吸收無功 int Type; /節(jié)點(diǎn)類型(約定2為平衡節(jié)點(diǎn),1為PV節(jié)點(diǎn),0為PQ節(jié)點(diǎn)) ;struct ssh /節(jié)點(diǎn)結(jié)構(gòu)體(不明意義,但既然模板有就暫時(shí)留著) int NumI,Num ; double G,B; ; #includestdio.h#i
20、ncludestring.h#includemath.h#includestdlib.h#includeconio.h/#define NBUS 5/#define NLINE 7/* Global variables */int nL,nBus,nSH; /記錄線路數(shù),節(jié)點(diǎn)數(shù),?int maxtime; /記錄最大迭代次數(shù)double jd=0.0001; /默認(rèn)精度設(shè)為0.0001int _tmain(int argc, _TCHAR* argv)FILE *fp;FILE *fpout;int i, j, k, l, npv, npq, nbl, rtime = 0, maxtime =
21、 50; /迭代次數(shù)置0,最大迭代次數(shù)默認(rèn)設(shè)為50int i1, i2, i3, kp, kq;if (fp = fopen(in.txt, r) = NULL) /從文件讀取節(jié)點(diǎn)數(shù),線路數(shù),?,最大迭代次數(shù),精度值printf(Can not open the file named in.txt n); exit(0);fscanf(fp, %d,%d,%d,%d,%f, &nBus, &nL, &nSH, &maxtime, &jd);if (fp != NULL) fclose(fp);double d1, d2, d3, d4, d5, d6, r, x, g, b, g12, g10
22、, g20, b12, b10, b20, m, maxdp, maxdq, maxdu;double *detp = (double *)calloc(nBus, sizeof(double),*detq = (double *)calloc(nBus, sizeof(double),*detu = (double *)calloc(nBus, sizeof(double), /不平衡量*e = (double *)calloc(nBus, sizeof(double), /電壓實(shí)部*f = (double *)calloc(nBus, sizeof(double), /電壓虛部*bb =
23、(double *)calloc(2 * nBus, sizeof(double), /不平衡量矩陣sump, sumq, sum_hl, sum_nj; /一些中間變量double *H = (double *)calloc(nBus, sizeof(double*),*N = (double *)calloc(nBus, sizeof(double*),*J = (double *)calloc(nBus, sizeof(double*),*L = (double *)calloc(nBus, sizeof(double*),*R = (double *)calloc(nBus, size
24、of(double*),*S = (double *)calloc(nBus, sizeof(double*),/各雅可比子矩陣*jac = (double *)calloc(2 * (nBus), sizeof(double*),/儲(chǔ)存雅可比矩陣雛形*jacc = (double *)calloc(4 * (nBus - 1)*(nBus - 1), sizeof(double);/一維平鋪的雅克比矩陣(便于使用高斯算法計(jì)算)struct Line *sLine = (Line*)calloc(nL, sizeof(Line); /線路結(jié)構(gòu)體數(shù)組struct Bus *sBus = (Bus
25、*)calloc(nBus, sizeof(Bus); /節(jié)點(diǎn)結(jié)構(gòu)體數(shù)組struct ssh *sSH = (ssh*)calloc(nSH, sizeof(ssh);double *YG = (double *)calloc(nBus+1, sizeof(double*),/導(dǎo)納矩陣實(shí)部*YB = (double *)calloc(nBus+1, sizeof(double*);/導(dǎo)納矩陣虛部jac0 = (double *)calloc(4 * (nBus) *(nBus), sizeof(double); /分配第二維空間for (i = 0; i nBus; i+)Hi = (doub
26、le *)calloc(nBus, sizeof(double);Ni = (double *)calloc(nBus, sizeof(double);Ji = (double *)calloc(nBus, sizeof(double);Li = (double *)calloc(nBus, sizeof(double);Ri = (double *)calloc(nBus, sizeof(double);Si = (double *)calloc(nBus, sizeof(double);for (i = 0; i nBus+1; i+)YGi = (double *)calloc(nBus
27、 + 1, sizeof(double);YBi = (double *)calloc(nBus + 1, sizeof(double);for (i = 1; i 2 * (nBus); i+)jaci = jaci - 1 + 2 * (nBus); /分配第二維指針地址i1 = i2 = i3 = 0;d1 = d2 = d3 = d4 = d5 = d6 = 0.0; /變量初始化if (fp = fopen(in.txt, r) = NULL)printf(Can not open the file named in.txt n);exit(0);fscanf(fp, %d,%d,%
28、d,%d,%lf, &nBus, &nL, &nSH, &maxtime, &jd); /其實(shí)這里沒有讀數(shù)的必要了,只是為了換行讀數(shù)據(jù)for (i = 0; i nBus; i+) /讀取各節(jié)點(diǎn)數(shù)據(jù)sBusi.Num = sBusi.Type = 0; sBusi.Volt = 1.0;sBusi.Phase = sBusi.GenP = sBusi.GenQ = sBusi.LoadP = sBusi.LoadQ = 0.0;fscanf(fp, %d,%lf,%lf,%lf,%lf,%lf,%lf,%d, &i1, &d1, &d2, &d3, &d4, &d5, &d6, &i2);sB
29、usi.Num = i1; sBusi.Volt = d1; sBusi.Phase = d2; sBusi.GenP = d3; sBusi.GenQ = d4; sBusi.LoadP = d5, sBusi.LoadQ = d6; sBusi.Type = i2;for (i = 0; i nL; i+) /讀取各線路數(shù)據(jù)sLinei.Num = sLinei.NumI = sLinei.NumJ = 0;sLinei.R = sLinei.X = sLinei.B = 0.0; sLinei.K = 1.0;fscanf(fp, %2d %3d %3d %lf %lf %lf %lf,
30、 &i1, &i2, &i3, &d1, &d2, &d3, &d4);sLinei.Num = i1; sLinei.NumI = i2; sLinei.NumJ = i3; sLinei.R = d1; sLinei.X = d2; sLinei.B = d3; sLinei.K = d4;for (i = 0; i nSH; i+) sSHi.Num = sSHi.NumI = 0; sSHi.G = sSHi.B = 0.0;fscanf(fp, %2d %3d %lf, &i1, &i2, &d1);sSHi.Num = i1; sSHi.NumI = i2; sSHi.B = d1
31、;if (fp != NULL) fclose(fp);/-生成導(dǎo)納矩陣-for (i = 0; i nBus+1; i+)for (j = 0; j nBus+1; j+)YGij = 0;YBij = 0;for (l = 0; l nL; l+) i = sLinel.NumI ;j = sLinel.NumJ ;r = sLinel.R;x = sLinel.X;d1 = r*r + x*x;g = r / d1;b = -x / d1;m = sLinel.K;if (fabs(sLinel.K - 1.0) 0.000001) /普通支路YGii = YGii + g;YGjj =
32、 YGjj + g;YBii = YBii + b + sLinel.B;YBjj = YBjj + b + sLinel.B;YGij = YGij - g;YGji = YGji - g;YBij = YBij - b;YBji = YBji - b;else /變壓器支路g12 = g / m;g10 = (m - 1)*g / (m);g20 = (1 - m)*g / (m*m);b12 = b / m;b10 = (m - 1)*b / (m);b20 = (1 - m)*b / (m*m);YGii = YGii + g10 + g12;YGjj = YGjj + g20 + g
33、12;YBii = YBii + b12 + b10;YBjj = YBjj + b12 + b20;YGij = YGij - g12;YGji = YGji - g12;YBij = YBij - b12;YBji = YBji - b12;/-輸出導(dǎo)納矩陣-if (fp = fopen(GGBB.txt, w) = NULL) printf(Can not open the file named GGBB.txt n); exit(0);fprintf(fp, -Y Matrix-n);for (i = 1; i nBus+1; i+)for (j = 1; j 0.000001)/d1
34、= YGij* YGij+YBij*YBij;d1 = YGij;d2 = YBij;fprintf(fp, Y(%3d,%-3d)=(%8.4lf,%8.4lf)n, i, j, d1, d2);/fprintf(fp, (%8.4lf,%8.4lf), d1, d2);/fprintf(fp, n);if (fp != NULL) fclose(fp);/-節(jié)點(diǎn)電壓賦初值-npv = 0;for (i = 0; i nBus; i+)if (sBusi.Type = 0 | sBusi.Type = 2)ei = sBusi.Volt*cos(sBusi.Phase);fi = sBusi
35、.Volt*sin(sBusi.Phase);else if (sBusi.Type = 1)npv+; /統(tǒng)計(jì)pv節(jié)點(diǎn)個(gè)數(shù)ei = 1;fi = 0;npq = nBus - npv - 1;/pq節(jié)點(diǎn)個(gè)數(shù)/-計(jì)算不平衡量-(迭代入口)domaxdp = 0;maxdq = 0;maxdu = 0;k = 0;l = 0;for (i = 0; i nBus; i+)sump = 0;sumq = 0;for (j = 0; j maxdp) maxdp = fabs(detpi); /記錄不平衡量的最大值(為比較精度做準(zhǔn)備)if (fabs(detqi) maxdq) maxdq = fa
36、bs(detqi); /記錄不平衡量的最大值(為比較精度做準(zhǔn)備)else if (sBusi.Type = 1) /計(jì)算pv節(jié)點(diǎn)的不平衡量detpi = sBusi.GenP - sBusi.LoadP - sump;detui = (sBusi.Volt*sBusi.Volt) - (ei * ei + fi * fi);if (fabs(detpi) maxdp) maxdp = fabs(detpi); /記錄不平衡量的最大值(為比較精度做準(zhǔn)備)if (fabs(detui) maxdu) maxdu = fabs(detui); /記錄不平衡量的最大值(為比較精度做準(zhǔn)備)if (max
37、dp jd & maxdq jd & maxdu jd)break;/精度滿足結(jié)束迭代/-形成雅可比矩陣-for (i = 0; i nBus; i+)for (j = 0; j nBus; j+)if (sBusi.Type != 2)if (i != j) /非對角線的雅可比子矩陣計(jì)算Hij = YBi+1j+1 * ei - YGi+1j+1 * fi;Nij = -YGi+1j+1 * ei - YBi+1j+1 * fi;Jij = YBi+1j+1 * fi + YGi+1j+1 * ei;Lij = -YGi+1j+1 * fi + YBi+1j+1 * ei;else/對角線的
38、雅可比子矩陣計(jì)算sum_hl = sum_nj = 0;for (k = 0; k nBus; k+)sum_hl += YGi+1k+1 * fk + YBi+1k+1 * ek;sum_nj += YGi+1k+1 * ek - YBi+1k+1 * fk;Hij = -sum_hl - YGi+1j+1 * fi + YBi+1j+1 * ei;Nij = -sum_nj - YGi+1j+1 * ei - YBi+1j+1 * fi;Jij = -sum_nj + YBi+1j+1 * fi + YGi+1j+1 * ei;Lij = sum_hl - YGi+1j+1 * fi +
39、YBi+1j+1 * ei;Rij = -2 * fi;Sij = -2 * ei;elsenbl = i;/記錄平衡節(jié)點(diǎn)的序號/計(jì)算各子矩陣for (i = 0; i nBus; i+)if (sBusi.Type = 2)/平衡節(jié)點(diǎn)不參與計(jì)算else if (sBusi.Type = 1)/pv節(jié)點(diǎn)的雅可比矩陣填充for (j = 0; j nBus; j+)jaci * 2j * 2 = Hij; jaci * 2j * 2 + 1 = Nij;jaci * 2 + 1j * 2 = Rij; jaci * 2 + 1j * 2 + 1 = Sij;else/pq節(jié)點(diǎn)的雅可比矩陣填充fo
40、r (j = 0; j nBus; j+)jaci * 2j * 2 = Hij; jaci * 2j * 2 + 1 = Nij;jaci * 2 + 1j * 2 = Jij; jaci * 2 + 1j * 2 + 1 = Lij;/形成雅可比矩陣雛形for (i = 2 * nbl; i 2 * (nBus - 1); i+)for (j = 0; j 2 * (nBus); j+)jacij = jaci + 2j;for (j = 2 * nbl; j 2 * (nBus - 1); j+)for (i = 0; i 2 * (nBus); i+)jacij = jacij + 2
41、; /調(diào)整雅可比矩陣(去除平衡節(jié)點(diǎn))k = 0;for (i = 0; i 2 * (nBus - 1); i+)for (j = 0; j 2 * (nBus - 1); j+)jacck = jacij;k+;/雅可比矩陣寫入連續(xù)的數(shù)組for (i = 0; i nBus; i+)/形成不平衡量矩陣if (sBusi.Type = 2)bb2 * i = 0;bb2 * i + 1 = 0;else if (sBusi.Type = 1)bb2 * i = detpi;bb2 * i + 1 = detui;elsebb2 * i = detpi;bb2 * i + 1 = detqi;f
42、or (i = nbl; i 2 * (nBus - 1); i+)bbi = bbi + 2;/調(diào)整不平衡量矩陣/-解修正方程-if (gaus(jacc, bb, 2 * (nBus - 1) = 0)printf(修正方程無法解出n);exit(0);/-修正節(jié)點(diǎn)電壓值以進(jìn)行下一輪迭代-k = 0;for (i = 0; i nBus; i+)if (sBusi.Type != 2)ei -= bbk * 2 + 1;fi -= bbk * 2;k+;rtime+;/迭代次數(shù)+1/-每輪迭代的輸出數(shù)據(jù)-if (fp = fopen(GGBB.txt, a) = NULL) printf(
43、Can not open the file named GGBB.txt n); return(0);fprintf(fp, n*第%d次迭代結(jié)果*n,rtime);fprintf(fp, -節(jié)點(diǎn)電壓-n);for (i = 0; i nBus; i+)fprintf(fp, %d號節(jié)點(diǎn):(e=%9.4lf,f=%9.4lf)(U=%9.4lf,=%9.4lf)n, sBusi.Num, ei, fi,sqrt(ei*ei+fi*fi),atan(fi/ei);fprintf(fp, n-雅克比矩陣-n);for (i = 0; i 2 * (nBus - 1); i+) for (j = 0
44、; j 2 * (nBus - 1); j+)fprintf(fp, %9.4lf, jacij);fprintf(fp, n);fprintf(fp, n-修正方程的解-n);for (i = 0; i 2 * (nBus - 1); i+)fprintf(fp, x(%d)=%lfn, i, bbi);if (fp != NULL) fclose(fp);while (rtime = maxtime) printf(達(dá)到最大迭代次數(shù),方程可能不收斂n);for (i = 0; i nBus; i+)sBusi.Volt = sqrt(ei * ei + fi * fi);sBusi.Phase = atan(fi/ei);if (sBusi.Type = 2) /平衡節(jié)點(diǎn)的計(jì)算sump = 0;sumq = 0;for (j = 0; j nBus; j+) sump += ei
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商鋪設(shè)計(jì)裝修合同范本
- 合同范本歌曲傷感
- 單位門衛(wèi)雇傭合同范本
- 印花加工生產(chǎn)合同范本
- 供樂合同范本
- 合作炒股協(xié)議合同范例
- 乙二醇車輛運(yùn)輸合同范本
- 商鋪轉(zhuǎn)讓租合同范本
- 國際技術(shù)進(jìn)口合同范例
- 賣船委托中介合同范例
- 蜜柚種植基地新建項(xiàng)目可行性研究報(bào)告
- 霧化吸入療法合理用藥專家共識(2024版)解讀
- (2024)江西省公務(wù)員考試《行測》真題卷及答案解析
- CSB事故案例專欄丨BP德克薩斯州煉油廠火災(zāi)爆炸事故
- 社會(huì)管理和公共服務(wù)標(biāo)準(zhǔn)化試點(diǎn)實(shí)施細(xì)則范文(2篇)
- 結(jié)直腸肛管疾病(共105張課件)
- 第三單元 音樂與民族-說唱 課件-2024-2025學(xué)年高中音樂粵教花城版(2019)必修音樂鑒賞
- 數(shù)字藝術(shù)微噴印畫產(chǎn)業(yè)深度調(diào)研及未來發(fā)展現(xiàn)狀趨勢
- 2024-2030年中國菜籽油行業(yè)供需趨勢及投資潛力分析報(bào)告權(quán)威版
- 黑龍江省哈爾濱工業(yè)大學(xué)附屬中學(xué)2024-2025學(xué)年八年級上學(xué)期期中考試地理試題(含答案)
- 輸變電工程施工質(zhì)量驗(yàn)收統(tǒng)一表式(電纜工程土建專業(yè))
評論
0/150
提交評論