2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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í)際問(wèn)題的能力。

2、</p><p><b>  課程設(shè)計(jì)內(nèi)容</b></p><p>  1、手算算例1(精度取10 -2),求潮流計(jì)算結(jié)果。</p><p>  2、編寫(xiě)潮流計(jì)算程序,計(jì)算算例2 。</p><p><b>  三、課程設(shè)計(jì)要求</b></p><p>  計(jì)算機(jī)語(yǔ)言:編程語(yǔ)

3、言可任選,建議使用C語(yǔ)言,使用VC6.0平臺(tái) 。</p><p>  潮流計(jì)算方法:牛頓—拉夫遜法和P-Q分解法。</p><p>  編寫(xiě)潮流計(jì)算程序,并在計(jì)算機(jī)上調(diào)試通過(guò),運(yùn)行結(jié)果正確。</p><p>  要求潮流計(jì)算程序具有一定的通用性,基礎(chǔ)數(shù)據(jù)以數(shù)據(jù)文件的形式輸入。</p><p>  撰寫(xiě)課程設(shè)計(jì)報(bào)告,內(nèi)容包括:</p>

4、;<p><b>  潮流計(jì)算的意義</b></p><p>  潮流計(jì)算幾種主要方法的比較</p><p>  手算算例1的計(jì)算過(guò)程及結(jié)果</p><p>  程序框圖、源程序及符號(hào)說(shuō)明</p><p><b>  算例及計(jì)算結(jié)果</b></p><p>&l

5、t;b>  、驗(yàn)收方式</b></p><p>  以答辯的形式進(jìn)行驗(yàn)收,演示程序并回答有關(guān)問(wè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; //無(wú)功</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," 無(wú)功 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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論