chaoliujisuanC++.docx
- 文档编号:29985815
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:27
- 大小:65.28KB
chaoliujisuanC++.docx
《chaoliujisuanC++.docx》由会员分享,可在线阅读,更多相关《chaoliujisuanC++.docx(27页珍藏版)》请在冰豆网上搜索。
chaoliujisuanC++
电力系统潮流计算方法
2007年01月03日星期三09:
57P.M.
电力系统潮流计算
——9结点算例-PQ法
原始数据录入data.txt文档:
标号,起始结点,终止结点,支路电阻参数,支路电抗参数,支路对地导纳参数
1,2,5,0.0,0.063,0.0,
2,5,9,0.019,0.072,0.075,
3,6,9,0.012,0.101,0.105,
4,3,6,0.0,0.059,0.0,
5,6,8,0.039,0.17,0.179,
6,4,8,0.017,0.092,0.079,
7,5,7,0.032,0.161,0.153,
8,4,7,0.01,0.085,0.088,
9,1,4,0.0,0.058,0.0,
潮流程序chaoliu.txt文档:
#include
#include
#defineN9 /*总结点数*/
#defineM6 /*PQ结点数*/
#defineK9 /*线路数*/
#defineeps1e-4
voidguass(intn,intm,floatc[],floatb[][N],floatx[]) /*高斯函数*/
{
floata[N][N],y[N];
inti,j,k;
for(i=0;i { y[i]=c[i]; for(j=0;j } for(k=0;k for(i=k+1;i { for(j=k+1;j y[i]=y[i]-y[k]*a[i][k]/a[k][k]; } for(i=m-1;i>=0;i--) { for(j=i+1;j x[i]=y[i]/a[i][i]; } } structline {intLindex; intHeadnode; intEndnode; floatR; floatX; floatb; }line[K]; structline*t; main() { floatr[N]={0.0}; floatu[N]={1.04,1.025,1.025,1.0,1.0,1.0,1.0,1.0,1.0}; floatp[N]={1,1.63,0.85,0.0,0.0,0.0,-1.25,-0.9,-1.0}; floatq[N]={1,1,1,0.0,0.0,0.0,-0.5,-0.3,-0.35}; floatg[N][N]={0.0},b[N][N]={0.0}; floath[N][N]={0.0}; floatB[N][N]={0.0}; floattemp; floatH[K][6]; floatlr,lx,lb1,lg,lb; inti,j; intku=0,kr=0,kp=1,kq=1; voidval(floatu[N],floatg[N][N],floatb[N][N],floatr[N],intku,intkr,floath[N][N]); /*函数申明*/ FILE*fp; fp=fopen("data.txt","r"); for(i=0;i { for(j=0;j<6;j++) {fscanf(fp,"%f,",&temp); H[i][j]=temp; } } fclose(fp); for(i=0;i { line[i].Lindex=(int)H[i][0];line[i].Headnode=(int)H[i][1];line[i].Endnode=(int)H[i][2]; line[i].R=H[i][3];line[i].X=H[i][4];line[i].b=H[i][5];} for(t=line;t {i=t->Headnode-1; j=t->Endnode-1; lr=t->R; lx=t->X; lb1=t->b; lg=lr/(lr*lr+lx*lx); lb=-lx/(lr*lr+lx*lx); g[i][i]+=lg; g[j][j]+=lg; b[i][i]+=lb+lb1; b[j][j]+=lb+lb1; h[i][j]=h[j][i]=-lb1; g[i][j]-=lg; g[j][i]-=lg; b[i][j]-=lb; b[j][i]-=lb; } getch(); printf("\n=====jiediandaonajuzhen=====\n"); for(i=0;i { for(j=0;j { B[i][j]=b[i][j]; printf("%8f,",B[i][j]); } printf("\n"); } printf("\n"); getch(); printf("\n=====geidingchuzhi=====\n"); for(i=0;i printf("u[%d]=%8f p[%d]=%8f q[%d]=%8f\n",i+1,u[i],i+1,p[i],i+1,q[i]); printf("\n=====diedaiqiujie=====\n"); while(kp==1) { floatip,iq,max; floatdp[N],dq[N],dr[N]; floatdpu[N],dqu[N]; floaty1[N-1],y2[M]; floatx1[N-1],x2[M]; for(i=1;i { ip=0; for(j=0;j ip=ip+u[j]*(g[i][j]*cos(r[i]-r[j])+b[i][j]*sin(r[i]-r[j])); dp[i]=p[i]-u[i]*ip; dpu[i]=dp[i]/u[i]; printf("dp[%d]=%8f\n",i+1,dp[i]); printf("\n"); } getch(); max=fabs(dpu[1]); for(i=1;i { if(fabs(dpu[i])>max) max=fabs(dpu[i]); } if(max>=eps) { for(i=0;i y1[i]=-dpu[i+1]; /*起值不同,为了对应,故加一*/ guass(1,N-1,y1,B,x1); for(i=1;i { dr[i]=x1[i-1]/u[i]; r[i]=r[i]+dr[i]; } printf("\n=====di%dcidiedaihoudianya xiangjiaochuzhi=====\n",kr+1); for(i=1;i printf("r[%d]=%8f\n",i+1,r[i]); getch(); printf("\n\n"); kr=kr+1;kq=1; top: for(i=N-M;i { iq=0; for(j=0;j iq=iq+u[j]*(g[i][j]*sin(r[i]-r[j])-b[i][j]*cos(r[i]-r[j])); dq[i]=q[i]-u[i]*iq; dqu[i]=dq[i]/u[i]; printf("dq[%d]=%8f\n",i+1,dq[i]); printf("\n"); } max=fabs(dqu[N-M]); for(i=N-M;i { if(fabs(dqu[i])>max) max=fabs(dqu[i]); } if(max>=eps) { for(i=0;i y2[i]=-dqu[i+N-M]; /*同上,对应加N-M*/ guass(N-M,M,y2,B,x2); for(i=N-M;i u[i]=u[i]+x2[i-(N-M)]; printf("\n=====di%dcidiedaidianyachuzhi=====\n",ku+1); for(i=N-M;i printf("u[%d]=%8f\n",i+1,u[i]); printf("\n\n"); ku=ku+1;kp=1; } else { kq=0; if(kp==0) val(u,g,b,r,ku,kr,h); } } else { kp=0; if(kq==0) val(u,g,b,r,ku,kr,h); else gototop; } } } voidval(floatu[N],floatg[N][N],floatb[N][N],floatr[N],intku,intkr,floath[N][N]) { floatps=0,pv1=0,pv2=0; floatqs=0,qv1=0,qv2=0; floatp[N][N]={0}; floatq[N][N]={0}; floats[N][N]; floatdp[N][N]={0}; floatdq[N][N]={0}; floatds[N][N]; floatdSp=0,dSq=0; inti,j; FILE*fp1; printf("\n=====pinghengjiediangonglv=====\n"); getch(); for(i=0;i { ps=ps+u[0]*u[i]*(g[0][i]*cos(r[0]-r[i])+b[0][i]*sin(r[0]-r[i])); qs=qs+u[0]*u[i]*(g[0][i]*sin(r[0]-r[i])-b[0][i]*cos(r[0]-r[i])); } printf("sp=%8f+j(%8f)\n",ps,qs); printf("\n=====PVjiediangonglv=====\n"); getch(); for(i=0;i { pv1=pv1+u[1]*u[i]*(g[1][i]*cos(r[1]-r[i])+b[1][i]*sin(r[1]-r[i])); qv1=qv1+u[1]*u[i]*(g[1][i]*sin(r[1]-r[i])-b[1][i]*cos(r[1]-r[i])); } printf("sv1=%8f+j(%8f)\n",pv1,qv1); for(i=0;i { pv2=pv2+u[2]*u[i]*(g[2][i]*cos(r[2]-r[i])+b[2][i]*sin(r[2]-r[i])); qv2=qv2+u[2]*u[i]*(g[2][i]*sin(r[2]-r[i])-b[2][i]*cos(r[2]-r[i])); } printf("sv2=%8f+j(%8f)\n",pv2,qv2); for(i=0;i for(j=0;j { p[i][j]=u[i]*u[i]*(-g[i][j])+u[i]*u[j]*(g[i][j]*cos(r[i]-r[j])+b[i][j]*sin(r[i]-r[j])); q[i][j]=u[i]*u[i]*(-h[i][j]+b[i][j])+u[i]*u[j]*(g[i][j]*sin(r[i]-r[j])-b[i][j]*cos(r[i]-r[j])); dp[i][j]=u[i]*u[i]*(-g[i][j])+u[i]*u[j]*(g[i][j]*cos(r[i]-r[j])+b[i][j]*sin(r[i]-r[j])) +u[j]*u[j]*(-g[j][i])+u[j]*u[i]*(g[j][i]*cos(r[j]-r[i])+b[j][i]*sin(r[j]-r[i])); dq[i][j]=u[i]*u[i]*(-h[i][j]+b[i][j])+u[i]*u[j]*(g[i][j]*sin(r[i]-r[j])-b[i][j]*cos(r[i]-r[j])) +u[j]*u[j]*(-h[j][i]+b[j][i])+u[j]*u[i]*(g[j][i]*sin(r[j]-r[i])-b[j][i]*cos(r[j]-r[i])); } printf("\n======diedaihoudianyayuxiangjiaozhi======\n"); getch(); for(i=0;i printf("u[%d]=%8f r[%d]=%8f\n",i+1,u[i],i+1,r[i]); printf("\n=====xianlugonglv=======\n"); for(i=0;i { getch(); {for(j=0;j {printf("s[%d][%d]=%8f+j(%8f)\n",i+1,j+1,p[i][j],q[i][j]); printf("\n"); } printf("\n"); } } printf("\n"); printf("\n=====xianlusunhao=====\n"); for(i=0;i { getch(); {for(j=i+1;j {printf("ds[%d][%d]=%8f+j%8f\n",i+1,j+1,dp[i][j],dq[i][j]); printf("\n"); } printf("\n"); } } printf("\n"); printf("\n=====wangluozongsunhao=====\n"); getch(); for(i=0;i { for(j=i+1;j {dSp+=dp[i][j]; dSq+=dq[i][j]; } } printf("dS=%8f+j(%8f)\n",dSp,dSq); printf("\n======diedaicishu========\n"); printf("ku=%d\n",ku); printf("kr=%d\n",kr); printf("\n=======shujubaocun=====\n"); fp1=fopen("jieguo.txt","w+"); { fprintf(fp1,"xianlucaoliu: \n"); for(i=0;i { for(j=0;j fprintf(fp1,"s[%d][%d]=%8f+j%8f\n",i+1,j+1,p[i][j],q[i][j]); } fprintf(fp1,"\n"); fprintf(fp1,"zhilusunhao: \n"); for(i=0;i { for(j=i+1;j fprintf(fp1,"ds[%d][%d]=%8f+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- chaoliujisuanC