




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
c語(yǔ)言編寫(xiě)的牛頓拉夫遜法解潮流程序閑來(lái)無(wú)事,最近把牛拉法用c語(yǔ)言重寫(xiě)一遍,和matlab相比,c語(yǔ)言編寫(xiě)潮流程序最大的難點(diǎn)在于矩陣求逆,我使用的求逆方法是初等行變換法,程序段如下:#include<stdio.h>#defineN3voidmain(){inti,j,k;floatt;floatJacob[N][N]={{122},{1,3,4},{2,3,4}};/澈進(jìn)行求逆的矩陣floatinv_J[N][N];//逆矩陣存儲(chǔ)于此〃初始化inv_J[N][N]for(i=0;i<N;i++)for(j=0;j<N;j++){if(i!=j)inv_J[i][j]=0;elseinv_J[i][j]=1;}〃將原矩陣化簡(jiǎn)為對(duì)角陣for(i=0;i<N;i++){for(j=0;j<N;j++){if(i!=j){t=Jacob[j][i]/Jacob[i][i];for(k=0;k<N;k++){Jacob[j][k]-=Jacob[i][k]*t;inv_J[j][k]-=inv_J[i][k]*t;}}}}//原矩陣各對(duì)角元素化為1,畫(huà)出逆矩陣for(i=0;i<N;i++)if(Jacob[i][i]!=1){t=Jacob[i][i];for(j=0;j<N;j++)inv_J[i][j]=inv_J[i][j]/t;
}〃輸出逆矩陣for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%9.4f",inv_J[i][j]);printf("\n");}}整個(gè)程序?yàn)椋?/牛拉法解潮流程序〃節(jié)點(diǎn)數(shù)//PQ〃節(jié)點(diǎn)數(shù)//PQ節(jié)點(diǎn)數(shù)//PV節(jié)點(diǎn)數(shù)〃串聯(lián)支路數(shù)#definen_PV1#definen_br5voidmain(){〃矩陣顯示函數(shù)〃電壓初值〃矩陣顯示函數(shù)〃電壓初值〃有功初值〃無(wú)功初值//各幾點(diǎn)電導(dǎo)//阻floatUs[2*N]={1.0,0,1.0,0,1.05,0,1.05,0};floatPs[N]={0,-0.5,0.2};floatQs[N]={0,-0.3};floatG[N][N],B[N][N];電納struct抗參數(shù){intnl;//左節(jié)點(diǎn)intnr;//右節(jié)點(diǎn)floatR;//串聯(lián)電阻值floatX;//串聯(lián)電抗值floatBl;〃左節(jié)點(diǎn)并聯(lián)電導(dǎo)floatBr;//右節(jié)點(diǎn)并聯(lián)電納}ydata[n_br]={{120,0.1880,-0.6815,0.6040},{1,3,0.1302,0.2479,0.0129,0.0129},{1,4,0.1736,0.3306,0.0172,0.0172},{3,4,0.2603,0.4959,0.0259,0.0259},{2,2,0,0.05,0,0}};
floatZ2;//Z^2=RA2+XA2各串聯(lián)阻抗值的平方floate[N],f[N],dfe[2*(N-1)]; //e,f存儲(chǔ)電壓的x軸分量和y軸分量,dfe存儲(chǔ)電壓修正值floatmid1[N],mid2[N],dS[2*(N-1)]; //mid1、mid2存儲(chǔ)計(jì)算雅克比行列式對(duì)角線元素的中間值dS存儲(chǔ)PQU的不平衡量floatJacob[2*(N-1)][2*(N-1)],inv_J[2*(N-1)][2*(N-1)]; //雅克比行列式float dPQU=1.0;//PQU不平衡量最大值int kk=0;〃迭代次數(shù)inti,j,k;floatt;floatPij[n_br]; //存儲(chǔ)線路i->j的有功floatQij[n_br]; 〃存儲(chǔ)線路i->j的無(wú)功floatPji[n_br]; 〃存儲(chǔ)線路j->i的有功floatQji[n_br]; 〃存儲(chǔ)線路j->i的無(wú)功floatdPij[n_br]; 〃存儲(chǔ)線路i->j的有功損耗floatdQij[n_br]; 〃存儲(chǔ)線路i->j的無(wú)功損耗floatAA,BB,CC,DD; 〃存儲(chǔ)線路潮流計(jì)算時(shí)的中間值//形成導(dǎo)納矩陣 for(i=0;i<N;i++)for(j=0;j<N;j++) G[i][j]=0;B[i][j]=0;}for(i=0;i<n_br;i++){if(ydata[i].nl!=ydata[i].nr){Z2=(ydata[i].R)*(ydata[i].R)+(ydata[i].X)*(ydata[i].X);〃串聯(lián)阻抗等效導(dǎo)納值〃非對(duì)角元素G[ydata[i].nl-1][ydata[i].nr-1]=(-ydata[i].R)/Z2;B[ydata[i].nl-1][ydata[i].nr-1]=ydata[i].X/Z2;G[ydata[i].nr-1][ydata[i].nl-1]=(-ydata[i].R)/Z2;B[ydata[i].nr-1][ydata[i].nl-1]=ydata[i].X/Z2;〃對(duì)角元素G[ydata[i].nl-1][ydata[i].nl-1]+=ydata[i].R/Z2;G[ydata[i].nr-1][ydata[i].nr-1]+=ydata[i].R/Z2;B[ydata[i].nl-1][ydata[i].nl-1]+=(-ydata[i].X/Z2);B[ydata[i].nr-1][ydata[i].nr-1]+=(-ydata[i].X/Z2);〃并聯(lián)導(dǎo)納等效導(dǎo)納值B[ydata[i].nl-1][ydata[i].nl-1]+=ydata[i].Bl;B[ydata[i].nr-1][ydata[i].nr-1]+=ydata[i].Br;}else{G[ydata[i].nl-1][ydata[i].nr-1]+=ydata[i].R;B[ydata[i].nl-1][ydata[i].nr-1]+=ydata[i].X;}}printf("G=\n");disp_matrix(*G,N,N);printf("B=\n");disp_matrix(*B,N,N);//分離e,ffor(i=0;i<N;i++){e[i]=Us[2*i];f[i]=Us[2*i+1];}// 主 程 序while(dPQU>0.00001){〃計(jì)算功率不平衡量for(i=0;i<N-1;i++){mid1[i]=0;mid2[i]=0;for(j=0;j<N;j++){mid1[i]=mid1[i]+G[i][j]*e[j]-B[i][j]*f[j];mid2[i]=mid2[i]+G[i][j]*f[j]+B[i][j]*e[j];}dS[2*i]=Ps[i]-(e[i]*mid1[i]+f[i]*mid2[i]);if(i<n_PQ)dS[2*i+1]=Qs[i]-(f[i]*mid1[i]-e[i]*mid2[i]);elsedS[2*i+1]=Us[2*i]*Us[2*i]-(e[i]*e[i]+f[i]*f[i]);}dPQU=0;for(i=0;i<2*(N-1);i++){if(dS[i]<0&&dPQU<-dS[i])dPQU=-dS[i];elseif(dS[i]>0&&dPQU<dS[i])dPQU=dS[i];}if(dPQU>0.00001){kk++;〃形成雅克比行列式 for(i=0;i<2*(N-1);i++)for(j=0;j<2*(N-1);j++)Jacob[i][j]=0;for(j=0;j<N-1;j++){//求H,Nfor(i=0;i<N-1;i++){if(i!=j){Jacob[2*i][2*j]=B[i][j]*e[i]-G[i][j]*f[i];Jacob[2*i][2*j+1]=-G[i][j]*e[i]-B[i][j]*f[i];}else{Jacob[2*i][2*i]=B[i][i]*e[i]-G[i][i]*f[i]-mid2[i];Jacob[2*i][2*i+1]=-G[i][j]*e[i]-B[i][j]*f[i]-mid1[i];}}〃求J,Lfor(i=0;i<n_PQ;i++){if(i!=j){Jacob[2*i+1][2*j]=G[i][j]*e[i]+B[i][j]*f[i];Jacob[2*i+1][2*j+1]=B[i][j]*e[i]-G[i][j]*f[i];}else{Jacob[2*i+1][2*i]=G[i][j]*e[i]+B[i][j]*f[i]-mid1[i];Jacob[2*i+1][2*i+1]=B[i][j]*e[i]-G[i][j]*f[i]+mid2[i];}}〃求R,Sfor(i=n_PQ;i<N-1;i++){if(i==j){Jacob[2*i+1][2*i]=-2*f[i];Jacob[2*i+1][2*i+1]=-2*e[i];}}}〃雅克比行列式求逆 for(i=0;i<2*(N-1);i++)for(j=0;j<2*(N-1);j++){if(i!=j)inv_J[i][j]=0;elseinv_J[i][j]=1;}for(i=0;i<2*(N-1);i++){for(j=0;j<2*(N-1);j++){if(i!=j){t=Jacob[j][i]/Jacob[i][i];for(k=0;k<2*(N-1);k++){Jacob[j][k]-=Jacob[i][k]*t;inv_J[j][k]-=inv_J[i][k]*t;}}}}for(i=0;i<2*(N-1);i++)if(Jacob[i][i]!=1){t=Jacob[i][i];for(j=0;j<2*(N-1);j++)inv_J[i][j]=inv_J[i][j]/t;}//求電壓修正值------for(i=0;i<2*(N-1);i++){dfe[i]=0;for(j=0;j<2*(N-1);j++)dfe[i]-=inv項(xiàng)i][j]*dS[j];}for(i=0;i<N-1;i++){e[i]+=dfe[2*i+1];f[i]+=dfe[2*i];}}elsebreak;}〃循環(huán)結(jié)束 //求平衡節(jié)點(diǎn)功率 mid1[N-1]=0;mid2[N-1]=0;for(j=0;j<N;j++){mid1[N-1]=mid1[N-1]+G[N-1][j]*e[j]-B[N-1][j]*f[j];mid2[N-1]=mid2[N-1]+G[N-1][j]*f[j]+B[N-1][j]*e[j];}Ps[N-1]=e[N-1]*mid1[N-1]+f[N-1]*mid2[N-1];Qs[N-1]=f[N-1]*mid1[N-1]-e[N-1]*mid2[N-1];for(i=n_PQ;i<N-1;i++)Qs[i]=f[i]*mid1[i]-e[i]*mid2[i];// //顯示輸出結(jié)果printf("kk=%d\n",kk);printf("P=");for(i=0;i<N;i++)printf("%9.4f”,Ps[i]);printf("\nQ=");for(i=0;i<N;i++)printf("%9.4f”,Qs[i]);printf("\ne=");for(i=0;i<N;i++)printf("%9.4f”,e[i]);printf("\nf=");for(i=0;i<N;i++)printf("%9.4f",f[i]);printf("\n");//求線路上的潮流//計(jì)算S[i][j]for(i=0;i<n_br;i++){if(ydata[i].nl!=ydata[i].nr){Z2=(ydata[i].R)*(ydata[i].R)+(ydata[i].X)*(ydata[i].X);AA=-f[ydata[i].nl-1]*ydata[i].Bl+(e[ydata[i].nl-1]-e[ydata[i].nr-1])*ydata[i].R/Z2+(f[ydata[i].nl-1]-f[ydata[i].nr-1])*ydata[i].X/Z2;BB=-e[ydata[i].nl-1]*ydata[i].Bl-(f[ydata[i].nl-1]-f[ydata[i].nr-1])*ydata[i].R/Z2+(e[ydata[i].nl-1]-e[ydata[i].nr-1])*ydata[i].X/Z2;Pij[i]=e[ydata[i].nl-1]*AA-f[ydata[i].nl-1]*BB;Qij[i]=e[ydata[i].nl-1]*BB+f[ydata[i].nl-1]*AA;printf("S[%d][%d]=%9.4f+j%9.4f\n",ydata[i].nl,ydata[i].nr,Pij[i],Qij[i]);dPij[i]=Pij[i]+Pji[i];dQij[i]=Qij[i]+Qji[i];}}printf("\n");//計(jì)算S[j][i]for(i=0;i<n_br;i++){if(ydata[i].nl!=ydata[i].nr){Z2=(ydata[i].R)*(ydata[i].R)+(ydata[i].X)*(ydata[i].X);CC=-f[ydata[i].nr-1]*ydata[i].Br+(e[ydata[i].nr-1]-e[ydata[i].nl-1])*ydata[i].R/Z2+(f[ydata[i].nr-1]-f[ydata[i].nl-1])*ydata[i].X/Z2;DD=-e[ydata[i].nr-1]*ydata[i].Br-(f[ydata[i].nr-1]-f[ydata[i].nl-1])*yda
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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í)下冊(cè)《不等式的性質(zhì)》課件與練習(xí)
- 2025年電子金融相關(guān)設(shè)備合作協(xié)議書(shū)
- 電子文檔訪問(wèn)權(quán)限管理策略
- 2025年機(jī)房溫控節(jié)能項(xiàng)目建議書(shū)
- 通信信息保密協(xié)議
- 2025年玩具加工設(shè)備項(xiàng)目發(fā)展計(jì)劃
- 電商倉(cāng)庫(kù)運(yùn)作流程
- 5-1-4-Bipiperidin-1-yl-2-2-4-dimethylphenylsulfonamido-benzoic-acid-dihydrochloride-生命科學(xué)試劑-MCE
- 2025年工業(yè)用橡膠制品:膠管項(xiàng)目合作計(jì)劃書(shū)
- 工作進(jìn)度管理計(jì)劃書(shū)
- 高標(biāo)準(zhǔn)農(nóng)田建設(shè)項(xiàng)目檔案資料驗(yàn)收清單
- 云南省2023年秋季學(xué)期期末普通高中學(xué)業(yè)水平考試信息技術(shù)(含答案解析)
- 2024-2030年中國(guó)螺旋藻行業(yè)市場(chǎng)發(fā)展分析及發(fā)展趨勢(shì)與投資研究報(bào)告
- 《建筑施工圖設(shè)計(jì)》課件-建筑施工圖平面圖
- 貴州省銅仁市2024年中考英語(yǔ)模擬試卷(含答案)
- DB43-T 2939-2024 醬腌菜咸胚中亞硝酸鹽的測(cè)定頂空-氣相色譜法
- 藥品不良反應(yīng)監(jiān)測(cè)工作制度及流程
- 護(hù)士延續(xù)注冊(cè)體檢表
- MOOC 中外鐵路文化之旅-華東交通大學(xué) 中國(guó)大學(xué)慕課答案
- 《電力系統(tǒng)自動(dòng)化運(yùn)維綜合實(shí)》課件-通信設(shè)備接地線接頭制作
- 國(guó)際標(biāo)準(zhǔn)《風(fēng)險(xiǎn)管理指南》(ISO31000)的中文版
評(píng)論
0/150
提交評(píng)論