logo资料库

电力系统潮流计算C++程序.doc

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
#include "stdafx.h" #include #include #include //#include //define:complex A1(1,2) cout< ^args) {ifstream f1("F:\\0812\\9.txt"); //输入数据 for(int i=0;i<9;i++) { f1>>Bus[i].ID>>Bus[i].Type>>Bus[i].U>>Bus[i].A>>Bus[i].PL>>Bus[i].QL>>Bus[i].PG>>Bus[i].QG>> Bus[i].U0>>Bus[i].G>>Bus[i].B; } for(int i=0;i<9;i++) { f1>>Branch[i].ID>>Branch[i].BusA>>Branch[i].BusB>>Branch[i].Type>>Branch[i].R>>Branch[i].X>> Branch[i].B>>Branch[i].K; } f1.close(); array^YG=gcnew array(9,9); //节点导纳阵的形成 array^YB=gcnew array(9,9); for(int i=0;i<9;i++) for(int j=0;j<9;j++) {YG[i,j]=0.0;YB[i,j]=0.0;} for(int k=0;k<9;k++) { int i=Branch[k].BusA-1; int j=Branch[k].BusB-1; double yG,yB; yG=Branch[k].R/(Branch[k].R*Branch[k].R+Branch[k].X*Branch[k].X);
yB=-Branch[k].X/(Branch[k].R*Branch[k].R+Branch[k].X*Branch[k].X); if (Branch[k].Type==1) { YG[i,i]+=yG;YG[j,j]+=yG;YG[i,j]+=-yG;YG[j,i]+=-yG; YB[i,i]+=yB+Branch[k].B/2.0; YB[j,j]+=yB+Branch[k].B/2.0; YB[i,j]+=-yB; YB[j,i]+=-yB; } else { YG[i,i]+=yG/(Branch[k].K*Branch[k].K);YG[j,j]+=yG;YG[i,j]+=-yG/Branch[k].K;YG[j,i]+=-yG/Bran ch[k].K; YB[i,i]+=yB/(Branch[k].K*Branch[k].K); YB[j,j]+=yB; YB[i,j]+=-yB/Branch[k].K; YB[j,i]+=-yB/Branch[k].K; } } for(int i=0;i<9;i++) { } YG[i,i] += Bus[i].G; YB[i,i] += Bus[i].B; ofstream file("f:\\0812\\Yresult.txt"); //导纳阵输出 for(int i=0;i<9;i++) {for(int j=0;j<9;j++) file< ^deltaU2=gcnew array(9); array ^deltaP=gcnew array(9);
array ^deltaQ=gcnew array(9); array ^H=gcnew array(9,9); array ^N=gcnew array(9,9); array ^J=gcnew array(9,9); array ^L=gcnew array(9,9); array ^R=gcnew array(9,9); array ^S=gcnew array(9,9); array^deltaUe=gcnew array(9); array^deltaUf=gcnew array(9); for(int i=0;i<9;i++) for(int j=0;j<9;j++) {H[i,j]=0.0;N[i,j]=0.0;J[i,j]=0.0;L[i,j]=0.0;R[i,j]=0.0;S[i,j]=0.0; } for(int i=0;i<9;i++) {deltaU2[i]=0.0;deltaP[i]=0.0;deltaQ[i]=0.0; deltaUe[i]=0.0;deltaUf[i]=0.0; } double aii[9]={0},bii[9]={0}; for(int i=0;i<9;i++) for(int j=0;j<9;j++) {aii[i]+=YG[i,j]*Ue[j]-YB[i,j]*Uf[j]; bii[i]+=YG[i,j]*Uf[j]+YB[i,j]*Ue[j]; } file3<<"step"<
} file5< ^jacob=gcnew array(16,16); for(int i=0;i<8;i++) { } for(int j=0;j<8;j++) { jacob[i*2,j*2]=H[i+1,j+1]; jacob[i*2,j*2+1]=N[i+1,j+1]; if(Bus[i+1].Type==2) { jacob[i*2+1,j*2]=R[i+1,j+1]; jacob[i*2+1,j*2+1]=S[i+1,j+1]; } else { jacob[i*2+1,j*2]=J[i+1,j+1]; jacob[i*2+1,j*2+1]=L[i+1,j+1]; } } file6<<"step"<
file6<
分享到:
收藏