![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/21/3b858a6f-7f53-4c23-b8bb-affd5347c46c/3b858a6f-7f53-4c23-b8bb-affd5347c46cpic.jpg)
![離線潮流計(jì)算課程設(shè)計(jì)_第1頁(yè)](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/21/3b858a6f-7f53-4c23-b8bb-affd5347c46c/3b858a6f-7f53-4c23-b8bb-affd5347c46c1.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 離線潮流計(jì)算課程設(shè)計(jì)</p><p> 班級(jí) 學(xué)號(hào) 姓名 </p><p><b> 一、課程設(shè)計(jì)的目的</b></p><p> 離線潮流計(jì)算課程設(shè)計(jì)是“電力系統(tǒng)穩(wěn)態(tài)分析”課程教學(xué)的重要實(shí)踐環(huán)節(jié),目的是使學(xué)生加深理解所學(xué)知識(shí),鍛煉應(yīng)用理論解決實(shí)際問題的能力。
2、</p><p><b> 課程設(shè)計(jì)內(nèi)容</b></p><p> 1、手算算例1(精度取10 -2),求潮流計(jì)算結(jié)果。</p><p> 2、編寫潮流計(jì)算程序,計(jì)算算例2 。</p><p><b> 三、課程設(shè)計(jì)要求</b></p><p> 計(jì)算機(jī)語言:編程語
3、言可任選,建議使用C語言,使用VC6.0平臺(tái) 。</p><p> 潮流計(jì)算方法:牛頓—拉夫遜法和P-Q分解法。</p><p> 編寫潮流計(jì)算程序,并在計(jì)算機(jī)上調(diào)試通過,運(yùn)行結(jié)果正確。</p><p> 要求潮流計(jì)算程序具有一定的通用性,基礎(chǔ)數(shù)據(jù)以數(shù)據(jù)文件的形式輸入。</p><p> 撰寫課程設(shè)計(jì)報(bào)告,內(nèi)容包括:</p>
4、;<p><b> 潮流計(jì)算的意義</b></p><p> 潮流計(jì)算幾種主要方法的比較</p><p> 手算算例1的計(jì)算過程及結(jié)果</p><p> 程序框圖、源程序及符號(hào)說明</p><p><b> 算例及計(jì)算結(jié)果</b></p><p>&l
5、t;b> 、驗(yàn)收方式</b></p><p> 以答辯的形式進(jìn)行驗(yàn)收,演示程序并回答有關(guān)問題。</p><p><b> 、算例</b></p><p> 節(jié)點(diǎn)①為平衡節(jié)點(diǎn),U1=1∠0°,節(jié)點(diǎn)②為PV節(jié)點(diǎn),P2=0.4,U2=1.1,節(jié)點(diǎn)③為PQ節(jié)點(diǎn),S3 = 0.8+ j 0.6,網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)如圖1所示
6、。</p><p> GN1節(jié)點(diǎn)為平衡節(jié)點(diǎn),V9=1.04,δ9=0.0,GEN2和GEN3為PV節(jié)點(diǎn),V7=1.025,P7=1.63,V8=1.025,P8=0.85,其它節(jié)點(diǎn)為PQ節(jié)點(diǎn),S1=1.25+j0.5,S3=0.9+j0.3,S5=1.0+j0.35,ε=0.0001,網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。</p><p><b> 圖1 算例1</b></p
7、><p><b> 圖2 算例2</b></p><p> Txt 文檔 原始數(shù)據(jù)</p><p><b> Line</b></p><p> 1 1 1 1 2 0.01 0.085000001 0.088</p><p> 2 1 1 1 6 0.032000
8、002 0.160999998 0.152999997</p><p> 3 1 1 2 3 0.017000001 0.092 0.079000004</p><p> 4 2 1 2 9 0 0.057999998 1</p><p> 5 1 1 3 4 0.039000001 0.170000002 0.179000005</p><
9、;p> 6 1 1 4 5 0.012 0.101000004 0.104999997</p><p> 7 2 1 4 8 0 0.059 1</p><p> 8 1 1 5 6 0.018999999 0.071999997 0.075000003</p><p> 9 2 1 6 7 0 0.063000001 1</p><
10、;p><b> Node</b></p><p> 1 1 -1.25 -0.5</p><p> 2 1 0.000000 0.000000</p><p> 3 1 -0.9 -0.3</p><p> 4 1 0.000000 0.000000</p><p> 5 1 -
11、1.000000 -0.35</p><p> 6 1 0.000000 0.000000</p><p> 7 2 1.63 1.025</p><p> 8 2 0.85 1.025</p><p> 9 0 1.04 0.000000</p><p><b> 上機(jī)程序:編程</b>
12、;</p><p> #include <stdafx.h></p><p> #include <string.h></p><p> #include <stdio.h></p><p> #include <stdlib.h></p><p> #incl
13、ude <conio.h></p><p> #include <float.h></p><p> #include <math.h></p><p> using namespace System;</p><p> #define LINE_TOTAL_NUM 9</p><
14、;p> #define NODE_TOTAL_NUM 9</p><p> #define NODE_DATA_FILENAME "node.txt"</p><p> #define LINE_DATA_FILENAME "line.txt"</p><p> #define B "B.txt&quo
15、t;</p><p> #define G "G.txt"</p><p> #define deltaPQ "deltapq.txt"</p><p> #define JACCOBI "jaccobi.txt"</p><p> #define PQ "pq.t
16、xt"</p><p> #define line_S "linedeltaS.txt"</p><p> #define U "u.txt"</p><p> #define line_pq "lineS.txt"</p><p> struct NodeData
17、</p><p><b> {</b></p><p> unsigned int Index; //node index</p><p> unsigned int Type; //node type: PQ:1,PV:2,balance point:0</p><p> float FirstInp
18、ut; //PQ or PV:active power,balance point:V</p><p> float SecondInput; //PQ:reactive power,PV:V,balance point:angle </p><p><b> };</b></p><p> struct NodeDat
19、a gNodeData[NODE_TOTAL_NUM]; // define a global variable of node 確定節(jié)點(diǎn)讀入結(jié)構(gòu)體</p><p> struct LineData</p><p><b> {</b></p><p> unsigned int Index; //line index</
20、p><p> unsigned int Type; //line type: Line:1,tranformer:2,line connected to ground:3</p><p> unsigned int Status; //line status: on:1,off:0</p><p> unsigned int SrcNode; //sour
21、ce node index of this line</p><p> unsigned int DestNode;//destination node index of this line</p><p> float Resistance; //resistance of the line</p><p> float Reactance;
22、 //reactance of the line</p><p> float Conductance; //Line: conductance B/2,transformer:change ratio</p><p><b> };</b></p><p> struct LineData gLineData[LINE_TOTA
23、L_NUM]; //確定支路節(jié)點(diǎn)導(dǎo)納結(jié)鉤體</p><p> struct NodeVoltage</p><p><b> {</b></p><p> float Voltage;</p><p> float Angle;</p><p><b> };</b
24、></p><p> struct NodeVoltage gNodeVoltage[NODE_TOTAL_NUM];</p><p> struct DeltaPQ</p><p> { //定義不平衡功率的結(jié)構(gòu)體</p><p> float Del
25、taP; //有功</p><p> float DeltaQ; //無功</p><p><b> };</b></p><p> struct DeltaPQ gDeltaPQ[NODE_
26、TOTAL_NUM]; //定義不平衡功率數(shù)組gUnbPower</p><p> void SolveEquation(unsigned int Dimension,float** FactorMatrix,float* ConstVector);</p><p> //void SolveEquation(unsigned int Dimension,
27、float** FactorMatrix,float* ConstVector);</p><p> float gY_G[NODE_TOTAL_NUM][NODE_TOTAL_NUM];</p><p> float gY_B[NODE_TOTAL_NUM][NODE_TOTAL_NUM];</p><p> int main(array<System
28、::String ^> ^args)</p><p><b> {</b></p><p> Console::WriteLine(L"Hello World");</p><p> float node_P[9],node_Q[9],line_deltap[9],line_deltaq[9];</p>
29、;<p> unsigned int i,j,k,n,m; //cycle variable;</p><p> FILE* fp; //file structure</p><p> unsigned int PVNum=0; //the number of PV node</p><p> fp=fopen(NODE_DATA_FILE
30、NAME,"r"); //open and read the node data</p><p> for(i=0;i<NODE_TOTAL_NUM;i++)</p><p><b> {</b></p><p> fscanf(fp," %d %d %f %f ",&gNodeDat
31、a[i].Index,</p><p> &gNodeData[i].Type,</p><p> &gNodeData[i].FirstInput, &l
32、t;/p><p> &gNodeData[i].SecondInput);</p><p> //initiate the NodeVoltage according to node type 讀入節(jié)點(diǎn)數(shù)據(jù)PQ或PV</p><p> switch(gNodeData[i].Type)</p><p><b> {&
33、lt;/b></p><p> case 1: //PQ node</p><p> gNodeVoltage[i].Voltage = 1.0;</p><p> gNodeVoltage[i].Angle = 0.0;</p><p><b> break;</b></p>&
34、lt;p> case 2: //PV node</p><p> gNodeVoltage[i].Voltage = gNodeData[i].SecondInput;</p><p> gNodeVoltage[i].Angle = 0.0;</p><p><b> PVNum++;</b></p>&
35、lt;p><b> break;</b></p><p> case 0: //balance node</p><p> gNodeVoltage[i].Voltage = gNodeData[i].FirstInput;</p><p> gNodeVoltage[i].Angle = gNodeData[i].Sec
36、ondInput;</p><p><b> break;</b></p><p><b> default:</b></p><p> printf("there is no such a node type, data has mistake");</p><p>&l
37、t;b> return 0;</b></p><p><b> }</b></p><p><b> }</b></p><p> fclose(fp);</p><p> fp=fopen(LINE_DATA_FILENAME,"r"); //ope
38、n and read the line data 讀節(jié)點(diǎn)導(dǎo)納數(shù)據(jù)</p><p> for(i=0;i<LINE_TOTAL_NUM;i++)</p><p><b> {</b></p><p> fscanf(fp," %u %u %u %u %u %f %f %f",&gLineData[i].
39、Index,</p><p> &gLineData[i].Type,</p><p> &gLineData[i].Status,</p><p> &gLineData[i].SrcNode,</p><p> &gLineData[i].DestNode,</p><p>
40、 &gLineData[i].Resistance,</p><p> &gLineData[i].Reactance,</p><p> &gLineData[i].Conductance);</p><p><b> }</b></p><p> fclose(fp);</p&
41、gt;<p> float line_g[9], line_b[9],line_g0[9], line_b0[9];</p><p> for(i=0;i<NODE_TOTAL_NUM;i++)</p><p> { line_g[i]=0;</p><p> line_b[i]=0;</p><p>
42、 line_g0[i]=0;</p><p> line_b0[i]=0;</p><p> for(j=0;j<NODE_TOTAL_NUM;j++)</p><p><b> {</b></p><p> gY_G[i][j] = 0.0;</p><p> gY_B[i][j
43、] = 0.0;</p><p><b> }</b></p><p><b> }</b></p><p> for(i=0;i<LINE_TOTAL_NUM;i++)</p><p><b> {</b></p><p> float
44、 tAbs;</p><p> float LineG,LineB;</p><p> unsigned int tSrcNode,tDestNode;</p><p> tSrcNode = gLineData[i].SrcNode - 1;//counting from zero</p><p> tDestNode = gLin
45、eData[i].DestNode - 1;</p><p> tAbs = pow(gLineData[i].Resistance,2)+pow(gLineData[i].Reactance,2);//由阻抗求導(dǎo)納</p><p> LineG = gLineData[i].Resistance/tAbs;</p><p> LineB = (-1)*gLi
46、neData[i].Reactance/tAbs;</p><p> if(gLineData[i].Type)</p><p><b> {</b></p><p> if(gLineData[i].Type == 1)//it means Line 線路</p><p><b> {</b&
47、gt;</p><p> gY_G[tSrcNode][tSrcNode]+= LineG;</p><p> gY_B[tSrcNode][tSrcNode] += LineB + gLineData[i].Conductance;</p><p> gY_G[tDestNode][tDestNode] += LineG;</p><p&
48、gt; gY_B[tDestNode][tDestNode] += LineB + gLineData[i].Conductance;</p><p> gY_G[tSrcNode][tDestNode] += (-1)*LineG;</p><p> gY_B[tSrcNode][tDestNode] += (-1)*LineB;</p><p> gY_
49、G[tDestNode][tSrcNode] += (-1)*LineG;</p><p> gY_B[tDestNode][tSrcNode] += (-1)*LineB;</p><p> line_g[i]=LineG;</p><p> line_b[i]=LineB;</p><p> line_b0[i]=gLineDat
50、a[i].Conductance;</p><p><b> }</b></p><p> else if(gLineData[i].Type == 2) //it means Transformer 變壓器</p><p><b> {</b></p><p> float VolRat
51、io = gLineData[i].Conductance;</p><p> gY_G[tSrcNode][tSrcNode] += LineG/pow(VolRatio,2);</p><p> gY_B[tSrcNode][tSrcNode] += LineB/pow(VolRatio,2);</p><p> gY_G[tDestNode][tDest
52、Node] += LineG;</p><p> gY_B[tDestNode][tDestNode] += LineB;</p><p> gY_G[tSrcNode][tDestNode] += (-1)*LineG/VolRatio;</p><p> gY_B[tSrcNode][tDestNode] += (-1)*LineB/VolRatio;&l
53、t;/p><p> gY_G[tDestNode][tSrcNode] += (-1)*LineG/VolRatio;</p><p> gY_B[tDestNode][tSrcNode] += (-1)*LineB/VolRatio;</p><p> line_g[i]=LineG/VolRatio;</p><p> line_b[
54、i]=LineB/VolRatio;</p><p><b> }</b></p><p> else if(gLineData[i].Type == 3)//it means line connected to ground</p><p><b> {</b></p><p> unsi
55、gned int tNotZeroNode;</p><p> if(gLineData[i].SrcNode != 0)</p><p> tNotZeroNode = gLineData[i].SrcNode-1;</p><p><b> else</b></p><p> tNotZeroNode = g
56、LineData[i].DestNode-1;;</p><p> gY_G[tNotZeroNode][tNotZeroNode] += LineG;</p><p> gY_B[tNotZeroNode][tNotZeroNode] += LineB;</p><p><b> }else</b></p><p&g
57、t;<b> return 0;</b></p><p><b> }</b></p><p><b> }</b></p><p> //form deltaPQ</p><p> //form Jacobin Matrix</p><p>
58、 //N-R method</p><p> fp=fopen(G,"w"); //write the ymatrix data to file</p><p> for(i=0;i<9;i++)</p><p><b> {</b></p><p> for(j=0;j<9;
59、j++)</p><p> fprintf(fp," %f ",gY_G[i][j]);</p><p> fprintf(fp,"\n");</p><p><b> }</b></p><p> fprintf(fp,"\n\n");</p&g
60、t;<p> fclose(fp);</p><p> fp=fopen(B,"w"); //write the ymatrix data to file</p><p> for(i=0;i<9;i++)</p><p><b> {</b></p><p> for
61、(j=0;j<9;j++)</p><p> fprintf(fp," %f ",gY_B[i][j]);</p><p> fprintf(fp,"\n");</p><p><b> }</b></p><p> fprintf(fp,"\n\n&quo
62、t;);</p><p> fclose(fp);</p><p> for(m=0;m<5;m++)</p><p><b> { </b></p><p> unsigned int tSrcNode,tDestNode;</p><p> float p1,p2,q1,q2
63、,line_p[9][9],line_q[9][9];</p><p> for(i=0;i<9;i++)</p><p> for(j=0;j<9;j++)</p><p><b> {</b></p><p> line_p[i][j]=line_q[i][j]=0;</p><
64、;p><b> }</b></p><p> fp=fopen(line_S,"w");</p><p> fprintf(fp,"------ 線上的網(wǎng)損功率----- ");</p><p> fprintf(fp,"\n\n");</p><p&
65、gt; for(i=0;i<LINE_TOTAL_NUM;i++)</p><p><b> { </b></p><p> tSrcNode = gLineData[i].SrcNode - 1;//counting from zero</p><p> tDestNode = gLineData[i].DestNod
66、e - 1;</p><p> p1= line_g[i]*(gNodeVoltage[tSrcNode].Voltage*gNodeVoltage[tSrcNode].Voltage-gNodeVoltage[tSrcNode].Voltage*gNodeVoltage[tDestNode].Voltage*cos(gNodeVoltage[tSrcNode].Angle-gNodeVoltage[tDest
67、Node].Angle))-gNodeVoltage[tSrcNode].Voltage*gNodeVoltage[tDestNode].Voltage* line_b[i]*sin(gNodeVoltage[tSrcNode].Angle-gNodeVoltage[tDestNode].Angle);</p><p> q1= -(line_b[i]*(gNodeVoltage[tSrcNode].Volta
68、ge*gNodeVoltage[tSrcNode].Voltage-gNodeVoltage[tSrcNode].Voltage*gNodeVoltage[tDestNode].Voltage*cos(gNodeVoltage[tSrcNode].Angle-gNodeVoltage[tDestNode].Angle))+gNodeVoltage[tSrcNode].Voltage*gNodeVoltage[tDestNode].Vol
69、tage* line_g[i]*sin(gNodeVoltage[tSrcNode].Angle-gNodeVoltage[tDestNode].Angle)+gNodeVoltage[tSrcNode].Voltage*gNodeVoltage[tSrcNode].Voltage* line_b0[i]);</p><p> p2= line_g[i]*(gNodeVoltage[tDestNode].Vol
70、tage*gNodeVoltage[tDestNode].Voltage-gNodeVoltage[tSrcNode].Voltage*gNodeVoltage[tDestNode].Voltage*cos(gNodeVoltage[tDestNode].Angle-gNodeVoltage[tSrcNode].Angle))-gNodeVoltage[tSrcNode].Voltage*gNodeVoltage[tDestNode].
71、Voltage* line_b[i]*sin(gNodeVoltage[tDestNode].Angle-gNodeVoltage[tSrcNode].Angle);</p><p> q2= -(line_b[i]*(gNodeVoltage[tDestNode].Voltage*gNodeVoltage[tDestNode].Voltage-gNodeVoltage[tSrcNode].Voltage*gN
72、odeVoltage[tDestNode].Voltage*cos(gNodeVoltage[tDestNode].Angle-gNodeVoltage[tSrcNode].Angle))+gNodeVoltage[tSrcNode].Voltage*gNodeVoltage[tDestNode].Voltage* line_g[i]*sin(gNodeVoltage[tDestNode].Angle-gNodeVoltage[tSrc
73、Node].Angle)+gNodeVoltage[tDestNode].Voltage*gNodeVoltage[tDestNode].Voltage* line_b0[i]);</p><p> line_deltap[i]=p1+p2;</p><p> line_deltaq[i]=q1+q2;</p><p> line_p[tSrcNode][tD
74、estNode]=p1;</p><p> line_p[tDestNode][tSrcNode]=p2;</p><p> line_q[tSrcNode][tDestNode]=q1;</p><p> line_q[tDestNode][tSrcNode]=q2;</p><p> fprintf(fp," 第%d 條
75、 %6.3f + j%6.3f ",i+1,line_deltap[i],line_deltaq[i]);</p><p> fprintf(fp,"\n");</p><p><b> }</b></p><p> fprintf(fp,"\n\n");</p><
76、;p> fclose(fp);</p><p> fp=fopen(line_pq,"w");</p><p> fprintf(fp,"------ 線路潮流----- ");</p><p> fprintf(fp,"\n\n");</p><p> fprint
77、f(fp,"有功 1 2 3 4 5 6 7 8 9\n");</p><p> for(i=0;i<9;i++)</p><p><b> {</b></p><p> fprintf(fp,&
78、quot; %d ", i+1 );</p><p> for(j=0;j<9;j++)</p><p><b> {</b></p><p> fprintf(fp," %6.3f ",line_p[i][j]);</p><p><b> }</b&g
79、t;</p><p> fprintf(fp,"\n");</p><p><b> }</b></p><p> fprintf(fp,"\n\n");</p><p> fprintf(fp," 無功 1 2 3
80、4 5 6 7 8 9\n");</p><p> for(i=0;i<9;i++)</p><p><b> {</b></p><p> fprintf(fp," %d ", i+1 );</p><p>
81、; for(j=0;j<9;j++)</p><p><b> {</b></p><p> fprintf(fp," %6.3f ",line_q[i][j]);</p><p><b> }</b></p><p> fprintf(fp,"\n&
82、quot;);</p><p><b> }</b></p><p> fprintf(fp,"\n\n");</p><p> fclose(fp);</p><p> float tempP[NODE_TOTAL_NUM]={0.0},tempQ[NODE_TOTAL_NUM]={0.0}
83、; //設(shè)兩個(gè)變量數(shù)組用于存儲(chǔ)兩個(gè)累加和</p><p> for(i=0;i<9;i++)</p><p><b> {</b></p><p> for(j=0;j<9;j++)</p><p><b> {</b><
84、;/p><p> tempP[i]+=gNodeVoltage[j].Voltage*(gY_G[i][j]*cos(gNodeVoltage[i].Angle-gNodeVoltage[j].Angle)+ </p><p> gY_B[i][j]*sin(gNodeVoltage[i].Angle-gNodeVoltage[j].Angle));</
85、p><p> tempQ[i]+=gNodeVoltage[j].Voltage*(gY_G[i][j]*sin(gNodeVoltage[i].Angle-gNodeVoltage[j].Angle)-</p><p> gY_B[i][j]*cos(gNodeVoltage[i].Angle-gNodeVoltage[j].Angle));</p><p>&l
86、t;b> }</b></p><p><b> }</b></p><p> for(i=0;i<9;i++) //利用公式求解每個(gè)節(jié)點(diǎn)的不平衡功率</p><p><b> {</b></p
87、><p> if(gNodeData[i].Type == 1) //如果是PQ節(jié)點(diǎn)則△P和△Q都要求</p><p><b> {</b></p><p> gDeltaPQ[i].DeltaP=gNodeData[i].FirstInput-gNodeVoltage
88、[i].Voltage*tempP[i];</p><p> gDeltaPQ[i].DeltaQ=gNodeData[i].SecondInput-gNodeVoltage[i].Voltage*tempQ[i];</p><p> node_P[i]=gNodeData[i].FirstInput;</p><p> node_Q[i]=gNodeData
89、[i].SecondInput;</p><p><b> }</b></p><p> if(gNodeData[i].Type==2) //如果是PV節(jié)點(diǎn)只需求△P</p><p><b> {</b></p><p&g
90、t; gDeltaPQ[i].DeltaP=gNodeData[i].FirstInput-gNodeVoltage[i].Voltage*tempP[i];</p><p> node_P[i]=gNodeData[i].FirstInput;</p><p> node_Q[i]=gNodeVoltage[i].Voltage*tempQ[i];</p><p
91、><b> }</b></p><p> if(gNodeData[i].Type==0) </p><p><b> {</b></p><p> node_P[i]=gNodeVoltage[i].Voltage*tempP[i];</p><p> node_Q[i]=gNo
92、deVoltage[i].Voltage*tempQ[i];</p><p><b> }</b></p><p><b> }</b></p><p> float B_Array[14];</p><p> for(i=0;i<NODE_TOTAL_NUM;i++)
93、 //向數(shù)組中放入不平衡功率的值</p><p><b> {</b></p><p> if(gNodeData[i].Type==1) //PQ節(jié)點(diǎn)兩個(gè)都要輸入</p><p><b> {</b></p>
94、<p> B_Array[i]=gDeltaPQ[i].DeltaP; </p><p> B_Array[i+NODE_TOTAL_NUM-1]=gDeltaPQ[i].DeltaQ; </p><p><b> }</b></p><p> if(gNodeData[i].Type==2)
95、 //PV節(jié)點(diǎn)只輸入△P</p><p> B_Array[i]=gDeltaPQ[i].DeltaP; </p><p> if(gNodeData[i].Type==0) //平衡節(jié)點(diǎn)不輸入數(shù)據(jù)</p><p><b> {</b></p><p><b> }<
96、;/b></p><p><b> }</b></p><p> fp=fopen(deltaPQ,"w"); </p><p> for(i=0;i<14;i++)</p><p><b> {</b></p><p> fpri
97、ntf(fp," %f ",B_Array[i]);</p><p> fprintf(fp,"\n");</p><p><b> }</b></p><p> fprintf(fp,"\n\n");</p><p> fclose(fp);</
98、p><p> float gJaccobi[14][14];</p><p> float H[8][8],N[8][6],J[6][8],L[6][6];</p><p><b> float s;</b></p><p> for(i=0;i<8;i++)</p><p> for
99、(j=0;j<8;j++)</p><p><b> {</b></p><p><b> { s=0;</b></p><p> for(k=0;k<9;k++)</p><p> s=s+gNodeVoltage[k].Voltage*(gY_G[i][k]*sin(gNo
100、deVoltage[i].Angle-gNodeVoltage[k].Angle)-gY_B[i][k]*cos(gNodeVoltage[i].Angle-gNodeVoltage[k].Angle));</p><p><b> }</b></p><p><b> if(i==j)</b></p><p><
101、;b> { </b></p><p> H[i][i]=gNodeVoltage[i].Voltage*(s-gNodeVoltage[i].Voltage*(gY_G[i][i]*sin(gNodeVoltage[i].Angle-gNodeVoltage[i].Angle)-gY_B[i][i]*cos(gNodeVoltage[i].Angle-gNodeVoltage[i].Angl
102、e)));</p><p><b> }</b></p><p> else H[i][j]=-gNodeVoltage[i].Voltage*gNodeVoltage[j].Voltage*(gY_G[i][j]*sin(gNodeVoltage[i].Angle-gNodeVoltage[j].Angle)-gY_B[i][j]*cos(gNodeVolt
103、age[i].Angle-gNodeVoltage[j].Angle));</p><p><b> }</b></p><p> for(i=0;i<8;i++)</p><p> for(j=0;j<6;j++)</p><p><b> { </b></p>
104、<p><b> s=0;</b></p><p> for(k=0;k<9;k++)</p><p><b> {</b></p><p> s=s+gNodeVoltage[k].Voltage*(gY_G[i][k]*cos(gNodeVoltage[i].Angle-gNodeVoltage
105、[k].Angle)+gY_B[i][k]*sin(gNodeVoltage[i].Angle-gNodeVoltage[k].Angle));</p><p><b> }</b></p><p><b> if(i==j)</b></p><p><b> { </b></p>
106、<p> N[i][i]=-gNodeVoltage[i].Voltage*(s-gNodeVoltage[i].Voltage*(gY_G[i][i]*cos(gNodeVoltage[i].Angle-gNodeVoltage[i].Angle)+gY_B[i][i]*sin(gNodeVoltage[i].Angle-gNodeVoltage[i].Angle)))-2*gNodeVoltage[i].Voltag
107、e*gNodeVoltage[i].Voltage*gY_G[i][i];</p><p><b> }</b></p><p> else N[i][j]=-gNodeVoltage[i].Voltage*gNodeVoltage[j].Voltage*(gY_G[i][j]*cos(gNodeVoltage[i].Angle-gNodeVoltage[j]
108、.Angle)+gY_B[i][j]*sin(gNodeVoltage[i].Angle-gNodeVoltage[j].Angle));</p><p><b> }</b></p><p> for(i=0;i<6;i++)</p><p> for(j=0;j<8;j++)</p><p><
109、;b> {</b></p><p><b> s=0;</b></p><p> for(k=0;k<9;k++)</p><p><b> { </b></p><p> s=s+gNodeVoltage[k].Voltage*(gY_G[i][k]*cos(gN
110、odeVoltage[i].Angle-gNodeVoltage[k].Angle)+gY_B[i][k]*sin(gNodeVoltage[i].Angle-gNodeVoltage[k].Angle));</p><p><b> }</b></p><p><b> if(i==j)</b></p><p>&l
111、t;b> { </b></p><p> J[i][i]=-gNodeVoltage[i].Voltage*(s-gNodeVoltage[i].Voltage*(gY_G[i][i]*cos(gNodeVoltage[i].Angle-gNodeVoltage[i].Angle)+gY_B[i][i]*sin(gNodeVoltage[i].Angle-gNodeVoltage[i].An
112、gle)));</p><p><b> }</b></p><p> else J[i][j]=gNodeVoltage[i].Voltage*gNodeVoltage[j].Voltage*(gY_G[i][j]*cos(gNodeVoltage[i].Angle-gNodeVoltage[j].Angle)+gY_B[i][j]*sin(gNodeVol
113、tage[i].Angle-gNodeVoltage[j].Angle));</p><p><b> }</b></p><p> for(i=0;i<6;i++)</p><p> for(j=0;j<6;j++)</p><p><b> {</b></p>
114、<p><b> s=0;</b></p><p> for(k=0;k<9;k++)</p><p><b> { </b></p><p> s=s+gNodeVoltage[k].Voltage*(gY_G[i][k]*sin(gNodeVoltage[i].Angle-gNodeVoltag
115、e[k].Angle)-gY_B[i][k]*cos(gNodeVoltage[i].Angle-gNodeVoltage[k].Angle));</p><p><b> }</b></p><p><b> if(i==j)</b></p><p><b> { </b></p>
116、<p> L[i][i]=-gNodeVoltage[i].Voltage*(s-gNodeVoltage[i].Voltage*(gY_G[i][i]*sin(gNodeVoltage[i].Angle-gNodeVoltage[i].Angle)-gY_B[i][i]*cos(gNodeVoltage[i].Angle-gNodeVoltage[i].Angle)))+2*gNodeVoltage[i].Voltag
117、e*gNodeVoltage[i].Voltage*gY_B[i][i];</p><p><b> }</b></p><p> else L[i][j]=-gNodeVoltage[i].Voltage*gNodeVoltage[j].Voltage*(gY_G[i][j]*sin(gNodeVoltage[i].Angle-gNodeVoltage[j]
118、.Angle)-gY_B[i][j]*cos(gNodeVoltage[i].Angle-gNodeVoltage[j].Angle));</p><p><b> }</b></p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p>
119、for(j=0;j<8;j++)</p><p> gJaccobi[i][j]=H[i][j];</p><p><b> }</b></p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p> for(
120、j=8;j<14;j++)</p><p> gJaccobi[i][j]=N[i][j-8];</p><p><b> }</b></p><p> for(i=8;i<14;i++)</p><p><b> {</b></p><p> for(
121、j=0;j<8;j++)</p><p> gJaccobi[i][j]=J[i-8][j];</p><p><b> }</b></p><p> for(i=8;i<14;i++)</p><p><b> {</b></p><p> for(j
122、=8;j<14;j++)</p><p> gJaccobi[i][j]=L[i-8][j-8];</p><p><b> }</b></p><p> fp=fopen(JACCOBI,"w"); //write the Jmatrix data to file</p><p>
123、fprintf(fp," ----------%d 次迭代之后的雅各比---------- ", m+1);</p><p> fprintf(fp,"\n");</p><p> for(i=0;i<14;i++)</p><p><b> {</b></p><p>
124、; for(j=0;j<14;j++)</p><p> fprintf(fp," %f ", gJaccobi[i][j]);</p><p> fprintf(fp,"\n");</p><p><b> }</b></p><p> fclose(fp);&l
125、t;/p><p> fp=fopen(U,"w"); </p><p> fprintf(fp,"----- %d次迭代之后的節(jié)點(diǎn)電壓和相角-----" ,m+1);</p><p> fprintf(fp,"\n\n");</p><p> for(i=0;i<9;i
126、++)</p><p><b> {</b></p><p> fprintf(fp," %6.3f ,%6.3f ",gNodeVoltage[i].Voltage,gNodeVoltage[i].Angle*180/3.14 );</p><p> fprintf(fp,"\n");</
127、p><p><b> }</b></p><p> fclose(fp);</p><p> float *Jgb[14]={0};</p><p> for(i=0;i<14;i++)</p><p> Jgb[i]=gJaccobi[i];</p><p>
128、 SolveEquation(14,Jgb,B_Array);</p><p> for(i=0;i<8;i++)</p><p> gNodeVoltage[i].Angle=gNodeVoltage[i].Angle-B_Array[i];</p><p> for(i=0;i<6;i++)</p><p> gNo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 潮流計(jì)算 課程設(shè)計(jì)
- 潮流計(jì)算課程設(shè)計(jì)
- 基于pscad潮流計(jì)算課程設(shè)計(jì)
- 電力分析課程設(shè)計(jì)--潮流計(jì)算
- 潮流計(jì)算的計(jì)算機(jī)算法課程設(shè)計(jì)
- 潮流計(jì)算的計(jì)算機(jī)算法課程設(shè)計(jì)
- 潮流計(jì)算課程設(shè)計(jì)--基于matlab的電力系統(tǒng)潮流計(jì)算
- 電力系統(tǒng)潮流計(jì)算課程設(shè)計(jì)
- 電力系統(tǒng)潮流計(jì)算課程設(shè)計(jì)
- 電力系統(tǒng)課程設(shè)計(jì)-- 潮流計(jì)算
- 電力系統(tǒng)課程設(shè)計(jì)-----潮流計(jì)算
- 電力系統(tǒng)潮流計(jì)算課程設(shè)計(jì)
- 電力系統(tǒng)潮流計(jì)算課程設(shè)計(jì)
- 電力系統(tǒng)潮流計(jì)算課程設(shè)計(jì)
- 電力系統(tǒng)潮流計(jì)算課程設(shè)計(jì)
- 電力系統(tǒng)課程設(shè)計(jì)--潮流計(jì)算
- 課程設(shè)計(jì)--電力系統(tǒng)設(shè)計(jì)潮流計(jì)算
- 電力系統(tǒng)穩(wěn)態(tài)潮流計(jì)算課程設(shè)計(jì)
- 電力系統(tǒng)穩(wěn)態(tài)課程設(shè)計(jì)--潮流計(jì)算
- 電力系統(tǒng)潮流短路計(jì)算課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論