電力系統(tǒng)短路故障的計(jì)算機(jī)算法程序設(shè)計(jì)_第1頁
電力系統(tǒng)短路故障的計(jì)算機(jī)算法程序設(shè)計(jì)_第2頁
電力系統(tǒng)短路故障的計(jì)算機(jī)算法程序設(shè)計(jì)_第3頁
電力系統(tǒng)短路故障的計(jì)算機(jī)算法程序設(shè)計(jì)_第4頁
電力系統(tǒng)短路故障的計(jì)算機(jī)算法程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、課程設(shè)計(jì)報(bào)告電力系統(tǒng)短路故障的計(jì)算機(jī)算法程序設(shè)計(jì)專 業(yè):電氣工程及其自動(dòng)化 班 級: 設(shè) 計(jì) 者: 學(xué) 號: 華中科技大學(xué)電氣與電子工程學(xué)院目錄一課程設(shè)計(jì)說明-(3)二選用所用語言的理由-(3)三程序主框圖子框圖及主要數(shù)據(jù)變量的說明-(3)四程序說明(計(jì)算公式及出處)-(4)五設(shè)計(jì)實(shí)際應(yīng)用-(4)六.設(shè)計(jì)體會-(10)七參考資料-(10)八附錄(程序源代碼)-(10)一課程設(shè)計(jì)說明1.課程設(shè)計(jì)題目為:電力系統(tǒng)短路故障的計(jì)算機(jī)算法程序設(shè)計(jì)。2.實(shí)際任務(wù)為:編寫計(jì)算機(jī)程序完成三相對稱短路電流的實(shí)際計(jì)算。要求形成可執(zhí)行文件,程序合格,輸入輸出數(shù)據(jù)以文件形式。其中,輸入數(shù)據(jù)為:節(jié)點(diǎn)數(shù),支路數(shù),故障節(jié)點(diǎn)

2、,支路首段號,支路末端號,支路電抗值。輸出數(shù)據(jù)為:節(jié)點(diǎn)導(dǎo)納矩陣,阻抗矩陣,故障點(diǎn),故障點(diǎn)電流,支路電流,各節(jié)點(diǎn)電壓。并以電力系統(tǒng)分析課本例題6-1,習(xí)題6-10,6-11為例進(jìn)行計(jì)算和驗(yàn)算。二選用所用語言的理由 這次課程設(shè)計(jì)我選用的語言是C語言,原因是在大學(xué)階段只接觸過C語言,C語言有一定的基礎(chǔ),而且C語言完全能勝任這次編程任務(wù)。三程序主框圖子框圖及主要數(shù)據(jù)變量的說明從duanlu.txt輸入數(shù)據(jù)根據(jù)輸入形成導(dǎo)納矩陣對導(dǎo)納矩陣求逆,得到阻抗矩陣通過課本上的公式,通過阻抗矩陣求故障時(shí)各點(diǎn)電壓,各支路電流用戶輸入短路點(diǎn)和短路前電壓(設(shè)負(fù)荷電流無影響)輸出結(jié)果到result.txt文件主要變量說明如

3、下:init ();(數(shù)據(jù)輸入函數(shù),形成節(jié)點(diǎn)導(dǎo)納矩陣)brinv(double a, int n);(矩陣求逆函數(shù))out_Y();(形成節(jié)點(diǎn)阻抗矩陣)short_Select();(輸入短路點(diǎn))Count_If();(計(jì)算出短路時(shí)各節(jié)點(diǎn)電壓和各支路電流)float yyMM(導(dǎo)納矩陣),zzMM(阻抗矩陣); float IfM(短路節(jié)點(diǎn)電流);float VolM(各節(jié)點(diǎn)電壓);float IIIM(各支路電流);struct powernet BYTE node; BYTE line; BYTE hanghao; int head_node;int end_node;float reac

4、t;netN;(電力網(wǎng)絡(luò) 結(jié)構(gòu)體,用來表示電力網(wǎng)絡(luò)各參數(shù))四程序說明(計(jì)算公式及出處) 短路計(jì)算過程如下:輸入數(shù)據(jù)形成節(jié)點(diǎn)導(dǎo)納矩陣并求逆節(jié)點(diǎn)阻抗矩陣選擇短路點(diǎn)f, 輸入短路前電壓通過公式(6-10)計(jì)算短路電流If通過公式(6-11)計(jì)算節(jié)點(diǎn)電壓用公式(6-9)計(jì)算短路后支路電流。IfVf(0)/Zff (6-10)ViVi(0)-Zif* If (6-11)Ipq=(Vp-Vq)*(-Ypq) ( 6-9 )各公式引自電力系統(tǒng)分析上冊第六章。五設(shè)計(jì)實(shí)際應(yīng)用例6-3題輸入數(shù)據(jù)如下:5 5 71,1,0.151,2,0.1052,3,0.0652,4,0.083,4,0.054,5,0.1845

5、,5,0.22.txt文件輸出數(shù)據(jù):節(jié)點(diǎn)導(dǎo)納矩陣為:-16.19047546*j9.52380943*j0.00000000*j0.00000000*j0.00000000*j9.52380943*j-37.40842819*j15.38461590*j12.50000000*j0.00000000*j0.00000000*j15.38461590*j-35.38461685*j20.00000000*j0.00000000*j0.00000000*j12.50000000*j20.00000000*j-37.93478394*j5.43478251*j0.00000000*j0.000000

6、00*j0.00000000*j5.43478251*j-9.98023701*j節(jié)點(diǎn)阻抗矩陣為:0.11813837*j0.09583523*j0.09017095*j0.08581381*j0.04673029*j0.09583523*j0.16291989*j0.15329060*j0.14588347*j0.07944150*j0.09017095*j0.15329060*j0.18598767*j0.16113926*j0.08774910*j0.08581381*j0.14588347*j0.16113926*j0.17287450*j0.09413958*j0.04673029*

7、j0.07944150*j0.08774910*j0.09413958*j0.15146215*j短路節(jié)點(diǎn)為: 3短路前電壓為(忽略負(fù)荷電流的影響):1.000000短路點(diǎn)的電流為: If3=-5.376700*j短路節(jié)點(diǎn)電壓為:Vol1= 0.515178Vol2= 0.175802Vol3= 0.000000Vol4= 0.133602Vol5= 0.528199各支路電流為:III11= -3.232147*jIII12= -3.232147*jIII23= -2.704651*jIII24= -0.527499*jIII34= 2.672048*jIII45= 2.144548*jII

8、I55= -2.144548*j習(xí)題610輸入數(shù)據(jù):5 5 71,1,0.231,3,0.1052,2,0.282,4,0.213,4,0.435543,5,0.29044,5,0.2541輸出數(shù)據(jù):節(jié)點(diǎn)導(dǎo)納矩陣為:-13.87163544*j 0.0000000*j9.52380943*j0.00000000*j 0.0000000*j0.00000000*j-8.33333302*j0.00000000*j4.76190472*j0.00000000*j9.52380943*j0.000000*j -15.26333618*j 2.29600048*j 3.44352627*j0.0000

9、0000*j4.76190472*j2.29600048*j-10.99336338*j3.93545866*j0.00000000*j0.00000000*j3.44352627*j3.93545866*j-7.37898493*j節(jié)點(diǎn)阻抗矩陣為:0.18042089*j0.06035720*j0.15778695*j0.10562509*j0.12996729*j0.06035720*j0.20652170*j0.08791157*j0.15141298*j0.12177899*j0.15778695*j0.08791157*j0.22982012*j0.15384525*j0.18930

10、019*j0.10562509*j0.15141298*j0.15384525*j0.26497272*j0.21311322*j0.12996729*j0.12177899*j0.18930019*j0.21311322*j0.33752048*j短路節(jié)點(diǎn)為: 5短路前電壓為(忽略負(fù)荷電流的影響):1.000000短路點(diǎn)的電流為: If5=-2.962783*j短路節(jié)點(diǎn)電壓為:Vol1= 0.614935Vol2= 0.639195Vol3= 0.439145Vol4= 0.368592Vol5= 0.000000各支路電流為:III11= -1.674195*jIII13= -1.6741

11、95*jIII22= -1.288588*jIII24= -1.288588*jIII34= -0.161989*jIII35= -1.512206*jIII45= -1.450577*j習(xí)題611312輸入數(shù)據(jù):3 3 41,1,0.21,2,0.22,3,0.13,3,0.15輸出數(shù)據(jù):節(jié)點(diǎn)導(dǎo)納矩陣為:-10.00000000*j5.00000000*j0.00000000*j5.00000000*j-15.00000000*j10.00000000*j0.00000000*j10.00000000*j-16.66666603*j節(jié)點(diǎn)阻抗矩陣為:0.13846155*j0.07692308

12、*j0.04615385*j0.07692308*j0.15384616*j0.09230770*j0.04615385*j0.09230770*j0.11538462*j短路節(jié)點(diǎn)為: 3短路前電壓為(忽略負(fù)荷電流的影響):1.050000短路點(diǎn)的電流為: If3=-9.099999*j短路節(jié)點(diǎn)電壓為:Vol1= 0.630000Vol2= 0.210000Vol3= -0.000000各支路電流為:III11= -2.100000*jIII12= -2.100000*jIII23= -2.100000*jIII33= -7.000000*j六設(shè)計(jì)體會這次設(shè)計(jì)體會良多,首先是通過短路電流的計(jì)算

13、,熟悉了以前電力系統(tǒng)分析的課程,鞏固了專業(yè)知識,同時(shí)通過C語言的使用也使幾乎已經(jīng)忘干凈的C語言技能得以回復(fù)和鞏固。七參考資料 電力系統(tǒng)分析上冊,第三版,何仰贊 溫增銀 華中科技大學(xué)出版社程序設(shè)計(jì)基礎(chǔ)(C語言) 王載新 曾大亮 楊有安 崔珂梅 清華大學(xué)出版社八附錄(程序源代碼)#include <stdio.h>#include <math.h>#include <conio.h>#include <string.h>#include <stdlib.h>#include <malloc.h>#define N 100#de

14、fine M 100#define BYTE unsigned charinit ();int brinv(double a, int n);out_Y();int short_Select();Count_If();struct powernet BYTE node; BYTE line; BYTE hanghao; int head_node; int end_node; float react;netN;float yyMM,zzMM; float IfM;float VolM;float IIIM;void main() init(); /輸入原始數(shù)據(jù) out_Y(); /形成節(jié)點(diǎn)導(dǎo)納

15、、節(jié)點(diǎn)阻抗 Count_If(); /計(jì)算短路電流,節(jié)點(diǎn)電壓,支路電流init() int i,j; float temp=0; FILE *fp; if (fp = fopen ("duanlu.txt","r") = NULL) printf ("程序使用方法:nn在與程序的同一文件夾下建立duanlu.txt文本文件nduanlu.txt文本文件第一行輸入的是:節(jié)點(diǎn)數(shù) 支路數(shù) 輸入數(shù)據(jù)的行數(shù)。n(例如: 3 3 5)。表示3個(gè)節(jié)點(diǎn),3個(gè)支路 ,txt文件里輸入有5行數(shù)據(jù)(不包括本行)。n回車另起一行為:首節(jié)點(diǎn),末節(jié)電,支路電抗。(例如:

16、1,2,0.15)nn");B: goto B; fscanf(fp,"%d %d %d",&net0.node,&net0.line,&net0.hanghao); printf("本系統(tǒng)節(jié)點(diǎn)數(shù):%d, 支路數(shù):%d nn",net0.node,net0.line); printf ("以下為線路阻抗:nn"); printf ("始節(jié)點(diǎn) 末節(jié)電 電抗n"); for (i=0; i<net0.hanghao; i+ ) fscanf (fp,"%d,%d,%f&

17、quot;,&neti.head_node,&neti.end_node,&neti.react); printf ("%4d,%8d,%15f*jn",neti.head_node,neti.end_node,neti.react); printf("n"); for (i=0;i<=net0.hanghao-1;i+ ) / 互導(dǎo)納形成 yyneti.head_node-1neti.end_node-1=-1/neti.react; yyneti.end_node-1neti.head_node-1=-1/neti.re

18、act; for (i=0;i<=net0.hanghao-1;i+ ) /自導(dǎo)納形成 for (j=0;j<=net0.hanghao-1;j+ ) if (netj.head_node=(i+1)|netj.end_node=(i+1) temp =1/netj.react+temp; yyii=temp; temp=0; fclose (fp); fp = fopen ("result.txt","w"); fprintf(fp,"%s","節(jié)點(diǎn)導(dǎo)納矩陣為:n"); fclose(fp); pri

19、ntf ("*節(jié)點(diǎn)導(dǎo)納矩陣為:*nn"); for (i=0; i<net0.node; i+ ) for (j=0; j<net0.node; j+ ) printf ("%.8f*jt",-yyij); fp = fopen ("result.txt","a"); fprintf(fp,"%.8f*jt",-yyij); fclose(fp);printf ("n"); fp = fopen ("result.txt","a&qu

20、ot;); fprintf(fp,"n"); fclose(fp); printf ("n");fp = fopen ("result.txt","a"); fprintf(fp,"n"); fclose(fp);int brinv(double a,int n) int *is,*js,i,j,k,l,u,v; double d,p; is=(int*)malloc(n*sizeof(int); js=(int*)malloc(n*sizeof(int); for (k=0; k<=n-

21、1; k+) d=0.0; for (i=k; i<=n-1; i+) for (j=k; j<=n-1; j+) l=i*n+j; p=fabs(al); if (p>d) d=p; isk=i; jsk=j; if (d+1.0=1.0) free(is); free(js); printf("該矩陣為奇異矩陣n"); return(0); if (isk!=k) for (j=0; j<=n-1; j+) u=k*n+j; v=isk*n+j; p=au; au=av; av=p; if (jsk!=k) for (i=0; i<=n-1

22、; i+) u=i*n+k; v=i*n+jsk; p=au; au=av; av=p; l=k*n+k; al=1.0/al; for (j=0; j<=n-1; j+) if (j!=k) u=k*n+j; au=au*al; for (i=0; i<=n-1; i+) if (i!=k) for (j=0; j<=n-1; j+) if (j!=k) u=i*n+j; au=au-ai*n+k*ak*n+j; for (i=0; i<=n-1; i+) if (i!=k) u=i*n+k; au=-au*al; for (k=n-1; k>=0; k-) i

23、f (jsk!=k) for (j=0; j<=n-1; j+) u=k*n+j; v=jsk*n+j; p=au; au=av; av=p; if (isk!=k) for (i=0; i<=n-1; i+) u=i*n+k; v=i*n+isk; p=au; au=av; av=p; free(is); free(js); return(1); out_Y() int i,j; double *a; a=(float *)malloc(net0.node*net0.node*sizeof(float);/為矩陣分配動(dòng)態(tài)存儲空間 for (i=0;i<net0.node;i

24、+)ai=(float*)malloc(net0.node*sizeof(float); FILE *fp; fp=fopen("result.txt","a"); fprintf(fp,"%s","節(jié)點(diǎn)阻抗矩陣為:n"); fclose(fp); for (i=0;i<net0.node;i+ ) for (j=0;j<net0.node;j+ ) aij=yyij; i=brinv(*a,net0.node); for (i=0;i<net0.node;i+ ) for (j=0;j<n

25、et0.node;j+ ) zzij=(float) aij; printf ("*節(jié)點(diǎn)阻抗矩陣為:*nn"); for (i=0; i<net0.node; i+ ) for (j=0; j<net0.node; j+ )printf ("%.8f*jt",zzij); fp=fopen("result.txt","a");fprintf (fp,"%.8f*jt",zzij);fclose(fp);printf ("n");fp=fopen("res

26、ult.txt","a");fprintf (fp,"n");fclose(fp); printf ("n");fp = fopen ("result.txt","a"); fprintf(fp,"n"); fclose(fp);int Short_Select() int ss; printf ("請選擇短路故障點(diǎn): "); scanf ("%d",&ss); printf(" nn"); ret

27、urn ss;/計(jì)算節(jié)點(diǎn)電流,節(jié)電電壓,短路點(diǎn)注入單位電流時(shí)解線性方程得各節(jié)電電壓Count_If() BYTE Num; /網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù) BYTE sss; int i,j;float E; FILE *fp;printf("請輸入短路前電壓,短路前為空載:");scanf("%f",&E);AAA: sss=Short_Select(); fp=fopen("result.txt","a"); fprintf(fp,"%s %dnn%s%3fnn","短路節(jié)點(diǎn)為:"

28、;,sss,"短路前電壓為(忽略負(fù)荷電流的影響):",E); fclose(fp); if (sss>net0.node|sss<1)printf ("短路點(diǎn)選擇錯(cuò)誤,");goto AAA; IIsss=1; Num=net0.node; Ifsss=E/zzsss-1sss-1;fp=fopen("result.txt","a");fprintf(fp,"%s If%d=%f*jnn%snn ","短路點(diǎn)的電流為:",sss,-Ifsss,"短路節(jié)點(diǎn)電壓為:");fclose(fp); printf ("*短路電流為*n"); printf ("If%d=%f*j nn",sss,-Ifsss); printf ("*短路節(jié)點(diǎn)電壓為:*n"); for (i=0;i<net0.node;i+ ) Voli=(float)(E-zzsss-1i*Ifsss); printf ("V

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論