课程课程设计报告
fprintf(fp,\ fprintf(fp,\}
fclose(fp);*/
/*得到电压值*/ h=1;
for(i=1;i /* 输出电压值 if((fp=fopen(\电压值.txt\{ printf(\电压值.txt' \\n\exit(0); } fprintf(fp,\电压初值---\\n\for(i=1;i fprintf(fp,\if(fp!=NULL) fclose(fp);*/ /*求最大变化值*/ w=0; for(i=1;i if(w<0.00001) { 15 课程课程设计报告 break; } } /* 输出电压终值 if((fp=fopen(\电压终值.txt\{ printf(\电压终值.txt' \\n\exit(0); } fprintf(fp,\电压终值---\\n\ fprintf(fp,\循环%d次\\n\for(i=1;i fprintf(fp,\if(fp!=NULL) fclose(fp);*/ ps=0; qs=0; for(i=1;i for(i=1;i for(l=0; l 16 课程课程设计报告 j=sL[l].NumJ; r=sL[l].R; x=sL[l].X; d1=r*r+x*x; g=r/d1; b=-x/d1; if(fabs(sL[l].K-1.0)<0.000001) {/*Normal lines or transformers*/ sP[i][j]=V[i][1]*V[i][1]*g-V[i][1]*V[j][1]*(g*cos(V[i][0]-V[j][0])+b*sin(V[i][0]-V[j][0])); sQ[i][j]=-(V[i][1]*V[i][1]*sL[l].B+V[i][1]*V[i][1]*b+V[i][1]*V[j][1]*(g*sin(V[i][0]-V[j][0])-b*cos(V[i][0]-V[j][0]))); sP[j][i]=V[j][1]*V[j][1]*g-V[i][1]*V[j][1]*(g*cos(V[j][0]-V[i][0])+b*sin(V[j][0]-V[i][0])); sQ[j][i]=-(V[j][1]*V[j][1]*sL[l].B+V[j][1]*V[j][1]*b+V[i][1]*V[j][1]*(g*sin(V[j][0]-V[i][0])-b*cos(V[j][0]-V[i][0]))); } else {/*abnormal transformer ratio*/ sP[i][j]=V[i][1]*V[i][1]*g/sL[l].B/sL[l].B-V[i][1]*V[j][1]*(g*cos(V[i][0]-V[j][0])/sL[l].B+b*sin(V[i][0]-V[j][0])/sL[l].B); sQ[i][j]=-(V[i][1]*V[i][1]*b/sL[l].B/sL[l].B+V[i][1]*V[j][1]*(g*sin(V[i][0]-V[j][0])/sL[l].B-b*cos(V[i][0]-V[j][0])/sL[l].B)); sP[j][i]=V[j][1]*V[j][1]*g-V[i][1]*V[j][1]*(g*cos(V[j][0]-V[i][0])/sL[l].B+b*sin(V[j][0]-V[i][0])/sL[l].B); sQ[j][i]=-(V[i][1]*V[i][1]*b+V[i][1]*V[j][1]*(g*sin(V[j][0]-V[i][0])/sL[l].B-b*cos(V[j][0]-V[i][0])/sL[l].B)); } } dsp=ps; dsq=qs; sumgen=ps; for(i=0;i dp=dsp/sumgen*100; /* 输出功率情况 */ if((fp=fopen(\功率情况.txt\ 17 课程课程设计报告 { printf(\功率情况.txt' \\n\exit(0); } fprintf(fp,\功率情况---\\n\ fprintf(fp,\平衡节点功率S=.5f+ j.5f\\n\for(i=1;i /* 输出最终结果 */ if((fp=fopen(\最终结果.txt\{ printf(\最终结果.txt' \\n\exit(0); } fprintf(fp,\最终结果---\\n\fprintf(fp,\ fprintf(fp,\一共循环迭代计算%d次\\n\fprintf(fp,\ fprintf(fp,\电压终值---\\n\ for(i=1;i fprintf(fp,\ fprintf(fp,\ fprintf(fp,\平衡节点功率S=%8.5f+j%7.5f\\n\fprintf(fp,\ fprintf(fp,\各节点间功率---\\n\ for(i=1;i fprintf(fp,\网损为:%7.5f+j%7.5f。\\n\\n网损率为:百分之%7.5f\\n\if(fp!=NULL) fclose(fp); } 18