潮流计算C++程序

合集下载

电力系统潮流计算C语言程序及说明

电力系统潮流计算C语言程序及说明

程序的稳定性分析
程序在不同计算机上的运行 结果是否一致。
程序运行过程中,输入数据 的变化对输出结果的影响程 度。
程序在长时间运行过程中, 输出结果是否保持稳定。
程序在处理异常情况时的表 现和稳定性。
程序的扩展性分析
代码可读性:C语言程序应具备良好的可读性,方便后续维护和修改 算法效率:C语言程序应采用高效的算法,提高计算速度 内存占用:C语言程序应合理利用内存,避免内存泄漏和不必要的内存占用 扩展性:C语言程序应具备良好的扩展性,方便添加新功能和优化性能
THANK YOU
汇报人:XX
程序的异常处理说明
异常类型:输入 错误、计算错误、 内存不足等
异常处理方式: 使用try-catch 语句进行异常捕 获和处理
异常处理流程: 当异常发生时, 程序会输出错误 信息并终止运行
异常处理结果: 确保程序在遇到 异常时能够正确 处理并给出相应 的提示信息
C语言程序应用示例
示例程序的输入数据格式
添加标题
添加标题
添加标题Βιβλιοθήκη 输入输出函数:用于数据的输入和 输出
函数:可重复使用的代码块,具有 特定的功能
C语言程序中电力系统模型的建立
定义节点和支路:根 据电力系统网络结构, 定义节点和支路,为 潮流计算做准备。
建立数学模型:根据 电力系统的物理特性 和元件参数,建立数 学模型,包括节点电 压、支路电流等。
实际运行时 间测试
程序的内存占用性能分析
内存占用情况:分 析程序运行过程中 内存的占用情况, 包括堆内存和栈内 存。
内存泄漏检测:检 查程序是否存在内 存泄漏,即程序运 行结束后未正确释 放的内存。
内存使用优化:根 据内存占用情况, 优化程序中的数据 结构或算法,降低 内存占用。

电力系统潮流计算完整c语言程序(含网损计算的最终版)

电力系统潮流计算完整c语言程序(含网损计算的最终版)
for(j=0;j<Bus_Num;j++)
{
ia[i]=ia[i]+gY_G[n][j]*ge[j]-gY_B[n][j]*gf[j];
ib[i]=ib[i]+gY_G[n][j]*gf[j]+gY_B[n][j]*ge[j];
}
}
for(i=0,n=1;i<Bus_Num-1;i++,n++)
{
gDelta_PQ[2*i]=gDelta_P[i];
gDelta_PQ[2*i+1]=gDelta_Q[i];
}
if((fp=fopen("C:\\Documents and Settings\\Zorro\\桌面\\1\\data\\unbalance.txt","w"))==NULL)
if(gBus[n].Type==1)
gDelta_Q[i]=gDelta_Q[i]-gf[n]*(gY_G[n][j]*ge[j]-gY_B[n][j]*gf[j])+ge[n]*(gY_G[n][j]*gf[j]+gY_B[n][j]*ge[j]);
}
}
for(i=0;i<Bus_Num-1;i++)
{
gY_G[i][j]=0.0;
gY_B[i][j]=0.0;
}
for(l=0;l<Line_Num;l++)
{
i=gLine[l].No_I-1;
j=gLine[l].No_J-1;
r=gLine[l].R;
x=gLine[l].X;

C语言潮流计算-牛顿-拉夫逊法(直角坐标)

C语言潮流计算-牛顿-拉夫逊法(直角坐标)
( k 1)fi(k ) f i
(k )
计算平衡节点功率 S s 和线路功率
~
停止
1 / 20
程序代码如下:
#include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> #include<conio.h> struct linetype // 线路参数 { int jiedian[2]; // 若为变压器,则 左端为“低”压侧(换算成Π型等值电路),变压器的阻抗在“低”压侧 double R,X,K,B0; }line[30]; struct Nodetype // 节点功率 { int lei; // PQ 定义 1,PV 定义 2,平衡节点 定义 3 int jie; // 节点编号 double P,Q; double y1,y2; // 初始电压 }poin[30]; int point,road; // 节点数 point 支路数 road int p1,p2; // PQ PV 节点数目 //************************************************* 自定义 函数 *************************************************************** void chargescreen() // 调节屏幕 { int mode; printf("\t 请选择界面模式: ①. 106*45 ②. 134*45\n\t>>"); a: scanf("%d",&mode); if(mode!=1 && mode!=2) { printf("\n\t 错误,请重新输入...\n\t>>"); goto a; } printf("\n\t"); system("pause"); if(mode==1) system("mode con:cols=106 lines=45"); // 调整屏幕大小 else system("mode con:cols=134 lines=45"); } void pqpv() // 统计 PQ、PV 节点 数目

电力系统分析潮流计算C语言编程-pq分解法2

电力系统分析潮流计算C语言编程-pq分解法2
void factor();/*求因子表*/
void solve(float **B,float *X,int N);/*解方程组*/
void PrtNode();/*打印输出节点参数*/
void ErrorMsg(int Flag);/*错误信息*/
int Node;/*节点数*/
int num;/*原始节点序号*/
kp=0;
for(i=0;i<NP;i++)
{
dPi=dP+i;
Yi=*(Y+i)-i;
Dltai=*(Dlta+i);
*dPi=0;
for(j=0;j<Node;j++)
{
temp=Dltai-*(Dlta+j);
if(i>j)*dPi+=*(V+j)*(Pji);
tP=*(V+j)*(Pij);
tP=*(V+i)*Yij.G-tP;
tP*=*(V+i);
tQ=*(V+j)*(Qij);
tQ-=*(V+i)*(Yij.B-Yij.B0);
tQ*=*(V+i);
}
fprintf(out,"S[%d,%d]=(%10.6f,%10.6f)\n",k+1,m+1,-tP,-tQ)
*(num+i)=k;
fscanf(in,"%d",&k);
}
if(NQ+j!=Node)ErrorMsg(4);
fprintf(out,"【节点参数表】\n");

牛顿拉夫逊迭代法极坐标潮流计算C语言程序

牛顿拉夫逊迭代法极坐标潮流计算C语言程序

/*利用牛顿-拉夫逊迭代法(极坐标形式),计算复杂电力系统潮流,具有收敛性好,收敛速度快等优点。

所有参数应归算至标幺值下。

/*可计算最大节点数为100,可计算PQ,PV,平衡节点*//*可计算非标准变比和平行支路*/#include<stdio.h>#include<math.h>#include<stdlib.h>#define M 100 /*最大矩阵阶数*/#define Nl 100 /*迭代次数*/int i,j,k,a,b,c; /*循环控制变量*/int t,l;double P,Q,H,J; /*中间变量*/int n, /*节点数*/m, /*支路数*/pq, /*PQ节点数*/pv; /*PV节点数*/double eps; /*迭代精度*/double aa[M],bb[M],cc[M],dd[M],max, rr,tt; /*中间变量*/double mo,c1,d1,c2,d2; /*复数运算函数的返回值*/double G[M][M],B[M][M],Y[M][M]; /*节点导纳矩阵中的实部、虚部及其模方值*/double ykb[M][M],D[M],d[M],dU[M]; /*雅克比矩阵、不平衡量矩阵*/struct jd /*节点结构体*/{ int num,ty; /* num为节点号,ty为节点类型*/ double p,q,S,U,zkj,dp,dq,du,dj; /*节点有功、无功功率,功率模值,电压模值,阻抗角牛顿--拉夫逊中功率不平衡量、电压修正量*/} jd[M];struct zl /*支路结构体*/{ int numb; /*numb为支路号*/int p1,p2; /*支路的两个节点*/double kx; /*非标准变比*/double r,x; /*支路的电阻与电抗*/} zl[M];FILE *fp1,*fp2;void data() /* 读取数据*/{int h,number;fp1=fopen("input.txt","r");fscanf(fp1,"%d,%d,%d,%d,%lf\n",&n,&m,&pq,&pv,&eps); /*输入节点数,支路数,PQ节点数,PV节点数和迭代精度*/for(i=1;i<=n;i++) /*输入节点编号、类型、输入功率和电压初值*/{fscanf(fp1,"%d,%d",&number,&h);if(h==1) /*类型h=1是PQ节点*/ {fscanf(fp1,"%lf,%lf,%lf,%lf\n",&jd[i].p,&jd[i].q,&jd[i].U,&jd[i].zkj);jd[i].num=number;jd[i].ty=h;}if(h==2) /*类型h=2是pv节点*/{fscanf(fp1,",%lf,%lf,%lf\n",&jd[i].p,&jd[i].U,&jd[i].zkj);jd[i].num=number;jd[i].ty=h;jd[i].q=-1.567;}if(h==3) /*类型h=3是平衡节点*/ {fscanf(fp1,",%lf,%lf\n",&jd[i].U,&jd[i].zkj);jd[i].num=number;jd[i].ty=h;}}for(i=1;i<=m;i++) /*输入支路阻抗*/ fscanf(fp1,"%d,%lf,%d,%d,%lf,%lf\n",&zl[i].numb,&zl[i].kx,&zl[i].p1,&zl[i].p2,&zl[i].r,&zl[i].x);fclose(fp1);if((fp2=fopen("output.txt","w"))==NULL){printf(" can not open file!\n");exit(0);}fprintf(fp2," 电力系统潮流计算\n ");fprintf(fp2," ********** 原始数据*********\n");fprintf(fp2,"====================================================================== ==========\n");fprintf(fp2," 节点数:%d 支路数:%d PQ节点数:%d PV节点数:%d 精度:%f\n",n,m,pq,pv,eps);fprintf(fp2," ------------------------------------------------------------------------------\n");for(i=1;i<=pq;i++)fprintf(fp2," PQ节点: 节点%d P[%d]=%f Q[%d]=%f\n",jd[i].num,jd[i].num,jd[i].p,jd[i].num,jd[i].q);for(i=pq+1;i<=pq+pv;i++)fprintf(fp2," PV节点: 节点%d P[%d]=%f U[%d]=%f 初值Q[%d]=%f\n", jd[i].num,jd[i].num,jd[i].p,jd[i].num,jd[i].U,jd[i].num,jd[i].q);fprintf(fp2," 平衡节点: 节点%d e[%d]=%f f[%d]=%f\n",jd[n].num,jd[n].num,jd[n].U,jd[n].num,jd[n].zkj);fprintf(fp2," -------------------------------------------------------------------------------\n");for(i=1;i<=m;i++)fprintf(fp2," 支路%d: 相关节点:%d,%d 非标准变比:kx=%f R=%f X=%f \n",i,zl[i].p1,zl[i].p2,zl[i].kx,zl[i].r,zl[i].x);fprintf(fp2,"==============================================================================\n ");}/*------------------------------------复数运算函数--------------------------------------*/double mozhi(double a0,double b0) /*复数求模值函数*/{ mo=sqrt(a0*a0+b0*b0);return mo;}double ji(double a1,double b1,double a2,double b2) /*复数求积函数a1为电压模值,a2为阻抗角,a3为导纳实部,a4为导纳虚部*/{ a1=a1*cos(b1);b1=a1*tan(b1);c1=a1*a2-b1*b2;d1=a1*b2+a2*b1;return c1;return d1;}double shang(double a3,double b3,double a4,double b4) /*复数除法求商函数*/{ c2=(a3*a4+b3*b4)/(a4*a4+b4*b4);d2=(a4*b3-a3*b4)/(a4*a4+b4*b4);return c2;return d2;}/*--------------------------------计算节点导纳矩阵----------------------------------*/void Form_Y(){for(i=1;i<=n;i++) /*节点导纳矩阵元素附初值*/for(j=1;j<=n;j++)G[i][j]=B[i][j]=0;for(i=1;i<=n;i++) /*节点导纳矩阵的主对角线上的元素,非对地导纳加入相应的主对角线元素中(考虑非标准变比)*/for(j=1;j<=m;j++)if(zl[j].p1==i){if(zl[j].kx==1){mozhi(zl[j].r,zl[j].x);if(mo==0) continue;shang(1,0,zl[j].r,zl[j].x);G[i][i]+=c2;B[i][i]+=d2;}else{mozhi(zl[j].r,zl[j].x);if(mo==0) continue;shang(1,0,zl[j].r,zl[j].x);G[i][i]+=c2/zl[j].kx+c2*(1-zl[j].kx)/(zl[j].kx*zl[j].kx);B[i][i]+=d2/zl[j].kx+d2*(1-zl[j].kx)/(zl[j].kx*zl[j].kx);}}else if(zl[j].p2==i){if(zl[j].kx==1){mozhi(zl[j].r,zl[j].x);if(mo==0) continue;shang(1,0,zl[j].r,zl[j].x);G[i][i]+=c2;B[i][i]+=d2;}else{mozhi(zl[j].r,zl[j].x);if(mo==0) continue;shang(1,0,zl[j].r,zl[j].x);G[i][i]+=c2/zl[j].kx+c2*(zl[j].kx-1)/zl[j].kx;B[i][i]+=d2/zl[j].kx+d2*(zl[j].kx-1)/zl[j].kx;}}for(k=1;k<=m;k++) /*节点导纳矩阵非主对角线上(考虑非标准变比)的元素*/if(zl[k].kx==1){i=zl[k].p1;j=zl[k].p2;mozhi(zl[k].r,zl[k].x);if(mo==0) continue;shang(1,0,zl[k].r,zl[k].x);G[i][j]-=c2;B[i][j]-=d2;G[j][i]=G[i][j];B[j][i]=B[i][j];}else{i=zl[k].p1;j=zl[k].p2;mozhi(zl[k].r,zl[k].x);if(mo==0) continue;shang(1,0,zl[k].r,zl[k].x);G[i][j]-=c2/zl[k].kx;B[i][j]-=d2/zl[k].kx;G[j][i]=G[i][j];B[j][i]=B[i][j];}/*--------------------------输出节点导纳矩阵------------------------------*/fprintf(fp2,"\n\n ********* 潮流计算过程*********\n");fprintf(fp2,"\n==============================================================================\n ");fprintf(fp2,"\n 节点导纳矩阵为:");for(i=1;i<=n;i++){fprintf(fp2,"\n ");for(k=1;k<=n;k++){fprintf(fp2,"%f",G[i][k]);if(B[i][k]>=0){fprintf(fp2,"+j");fprintf(fp2,"%f ",B[i][k]);}else{B[i][k]=-B[i][k];fprintf(fp2,"-j");fprintf(fp2,"%f ",B[i][k]);B[i][k]=-B[i][k];}}}fprintf(fp2,"\n ------------------------------------------------------------------------------\n");}/*-------------------------------牛顿——拉夫逊-------------------------------*/void Calculate_Unbalanced_Para(){for(i=1;i<=n;i++){if(jd[i].ty==1) /*计算PQ节点不平衡量*/{t=jd[i].num;cc[t]=dd[t]=0;for(j=1;j<=n;j++){for(a=1;a<=n;a++){if(jd[a].num==j)break;}P=Q=0;P=jd[a].U*(G[t][j]*cos(jd[i].zkj-jd[a].zkj)+B[t][j]*sin(jd[i].zkj-jd[a].zkj));Q=jd[a].U*(G[t][j]*sin(jd[i].zkj-jd[a].zkj)-B[t][j]*cos(jd[i].zkj-jd[a].zkj));cc[t]+=P;dd[t]+=Q;}jd[i].dp=jd[i].p-jd[i].U*cc[t];jd[i].dq=jd[i].q-jd[i].U*dd[t];}if(jd[i].ty==2) /*计算PV节点不平衡量*/{t=jd[i].num;cc[t]=dd[t]=0;for(j=1;j<=n;j++){for(a=1;a<=n;a++){if(jd[a].num==j)break;}P=Q=0;P=jd[a].U*(G[t][j]*cos(jd[i].zkj-jd[a].zkj)+B[t][j]*sin(jd[i].zkj-jd[a].zkj));Q=jd[a].U*(G[t][j]*sin(jd[i].zkj-jd[a].zkj)-B[t][j]*cos(jd[i].zkj-jd[a].zkj));cc[t]+=P;dd[t]+=Q;}jd[i].dp=jd[i].p-jd[i].U*cc[t];jd[i].q=jd[i].U*dd[t];}}for(i=1;i<=pq;i++) /*形成不平衡量矩阵D[M]*/{D[2*i-1]=jd[i].dp;D[2*i]=jd[i].dq;}for(i=pq+1;i<=n-1;i++){D[pq+i]=jd[i].dp;}fprintf(fp2,"\n 不平衡量为:"); /*输出不平衡量*/for(i=1;i<=pq;i++){t=jd[i].num;fprintf(fp2,"\n dp[%d]=%f",i,D[2*t-1]);fprintf(fp2,"\n dq[%d]=%f",i,D[2*t]);}for(i=pq+1;i<=n-1;i++){t=jd[i].num;fprintf(fp2,"\n dp[%d]=%f",i,D[pq+t]);}}void Form_Jacobi_Matric() /*形成雅克比矩阵*/{for(i=1;i<=pq;i++) /*形成pq节点子阵*/for(j=1;j<n;j++){ int i1=jd[i].num;int j1=jd[j].num;double Ui=jd[i].U;double Uj=jd[j].U;double zi=jd[i].zkj;double zj=jd[j].zkj;if(j<=pq) /*求j<=pq时的H、N、J、L */{if(i!=j) /*求i!=j时的H、N、J、L*/{ykb[2*i-1][2*j-1]=Ui*Uj*(G[i1][j1]*sin(zi-zj)-B[i1][j1]*cos(zi-zj)); /* H */ykb[2*i-1][2*j]=Ui*Uj*(G[i1][j1]*cos(zi-zj)+B[i1][j1]*sin(zi-zj)); /* N */ykb[2*i][2*j-1]=-ykb[2*i-1][2*j]; /* J */ykb[2*i][2*j]=ykb[2*i-1][2*j-1]; /* L */}else /*求i=j时的H、N、J、L*/{aa[i]=0;bb[i]=0;for(k=1;k<=n;k++){int k1=jd[k].num;H=J=0;H=jd[k].U*(G[i1][k1]*sin(jd[i].zkj-jd[k].zkj)-B[i1][k1]*cos(jd[i].zkj-jd[k].zkj));J=jd[k].U*(G[i1][k1]*cos(jd[i].zkj-jd[k].zkj)+B[i1][k1]*sin(jd[i].zkj-jd[k].zkj));aa[i]=aa[i]+H;bb[i]=bb[i]+J;}ykb[2*i-1][2*j-1]=-Ui*(aa[i]-Ui*(G[i1][i1]*sin(jd[i].zkj-jd[i].zkj)-B[i1][i1]*cos(jd[i].zkj-jd[i].zkj)));/*H*/ykb[2*i][2*j-1]=Ui*(bb[i]-Ui*(G[i1][i1]*cos(jd[i].zkj-jd[i].zkj)+B[i1][i1]*sin(jd[i].zkj-jd[i].zkj)));/*J*/ykb[2*i-1][2*j]=ykb[2*i][2*j-1]+2*Ui*Ui*G[i1][i1];/*N*/ykb[2*i][2*j]=-ykb[2*i-1][2*j-1]-2*Ui*Ui*B[i1][i1];/*L*/}}else /*求j>pq时的H、J */{ ykb[2*i-1][pq+j]=Ui*Uj*(G[i1][j1]*sin(zi-zj)-B[i1][j1]*cos(zi-zj)); /* H */ykb[2*i][pq+j]=-Ui*Uj*(G[i1][j1]*cos(zi-zj)+B[i1][j1]*sin(zi-zj)); /* J */}}for(i=pq+1;i<=n-1;i++) /*形成pv节点子阵*/ for(j=1;j<n;j++){int i1=jd[i].num;int j1=jd[j].num;double Ui=jd[i].U;double Uj=jd[j].U;double zi=jd[i].zkj;double zj=jd[j].zkj;if(j<=pq) /*求j<=pq时的H、N */{ykb[pq+i][2*j-1]=Ui*Uj*(G[i1][j1]*sin(zi-zj)-B[i1][j1]*cos(zi-zj)); /* H */ykb[pq+i][2*j]=Ui*Uj*(G[i1][j1]*cos(zi-zj)+B[i1][j1]*sin(zi-zj)); /* N */ }else /*求j>pq时的H*/{if(i!=j) /*求i!=j时的H*/ykb[pq+i][pq+j]=Ui*Uj*(G[i1][j1]*sin(zi-zj)-B[i1][j1]*cos(zi-zj)); /* H */else /*求i=j时的H*/{aa[i]=0;for(k=1;k<=n;k++){int k1=jd[k].num;H=0;H=jd[k].U*(G[i1][k1]*sin(jd[i].zkj-jd[k].zkj)-B[i1][k1]*cos(jd[i].zkj-jd[k].zkj));aa[i]=aa[i]+H;}ykb[pq+i][pq+j]=-Ui*(aa[i]-Ui*(G[i1][i1]*sin(jd[i].zkj-jd[i].zkj)-B[i1][i1]*cos(jd[i].zkj-jd[i].zkj))); /*H*/ }}}/*------------------------------输出雅克比矩阵--------------------------------*/fprintf(fp2,"\n\n 雅克比矩阵为: ");for(i=1;i<=(2*pq+pv);i++){fprintf(fp2,"\n");for(j=1;j<=2*pq+pv;j++){fprintf(fp2," %f",ykb[i][j]);}}}void Solve_Equations() /* 求解修正方程组(LU分解法)*/{double l[Nl][Nl]={0}; //定义L矩阵double u[Nl][Nl]={0}; //定义U矩阵double y[Nl]={0}; //定义数组Ydouble x[Nl]={0}; //定义数组Xdouble a[Nl][Nl]={0}; //定义系数矩阵double b[Nl]={0}; //定义右端项double sum=0;int i,j,k,s;int n;n=2*pq+pv;for(i=0; i<n; i++){for(j=0; j<n; j++){a[i][j]=ykb[i+1][j+1];}}for(i=0; i<n; i++){b[i]=D[i+1];}for(i=0; i<n; i++) /*初始化矩阵l*/{for(j=0; j<n; j++){if(i==j) l[i][j] = 1;}}for(i=0;i<n;i++) /*开始LU分解*/{ u[0][i]=(float)(a[0][i]);} /*第一步:对矩阵U的首行进行计算*/ for(k=0;k<n-1;k++) /*第二步:逐步进行LU分解*/ { for(i=k+1;i<n;i++) /*对L的第k列进行计算*/{ for(s=0,sum=0;s<n;s++){ if(s!=k)sum+=l[i][s]*u[s][k];}l[i][k]=(float)((a[i][k]-sum)/u[k][k]);}for(j=k+1;j<n;j++) /*对U的第k+1行进行计算*/ { for(s=0,sum=0;s<n;s++){ if(s!=k+1)sum+=l[k+1][s]*u[s][j];}u[k+1][j]=(float)((a[k+1][j]-sum));}}y[0]=b[0] ; /*回代法计算数组Y*/for(i=1;i<n;i++){ for(j=0,sum=0;j<i;j++){ sum+=y[j]*l[i][j];}y[i]=(float)(b[i]-sum);}x[n-1]=(float)(y[n-1]/u[n-1][n-1]); /*回代法计算数组X*/for(i=n-2;i>=0;i--){ for(j=n-1,sum=0;j>i;j--){ sum+=x[j]*u[i][j];}x[i]=(float)((y[i]-sum)/u[i][i]);}for(i=1; i<=n; i++){d[i]=x[i-1];}max=fabs(d[1]); /*选出最大的修正量的值*/for(i=1;i<=n;i++)if((fabs(d[i]))>max)max=fabs(d[i]);}void Niudun_Lafuxun(){int z=1;fprintf(fp2,"\n --------------极坐标形式的牛顿-拉夫逊迭代法结果:--------------\n");do{ max=1;if((z<Nl)&&(max>=eps)){fprintf(fp2,"\n 迭代次数: %d\n",z); /*开始迭代计算*/ }Calculate_Unbalanced_Para();Form_Jacobi_Matric();Solve_Equations();for(i=1;i<=pq;i++){jd[i].zkj+=d[2*i-1];jd[i].U+=d[2*i]*jd[i].U;}for(i=pq+1;i<=n-1;i++){jd[i].zkj+=d[pq+i];}fprintf(fp2,"\n\n 输出dδ,dU: "); /*输出修正量的值*/for(c=1;c<=n;c++){for(a=1;a<=n;a++){if(jd[a].num==c)break;}fprintf(fp2,"\n");if(jd[a].ty==1)fprintf(fp2," 节点为%2d dδ=%8.5f dU=%8.5f",c,d[2*a-1],d[2*a]);if(jd[a].ty==2)fprintf(fp2," 节点为%2d dδ=%8.5f",c,d[pq+a]);}fprintf(fp2,"\n\n 输出迭代过程中的电压值: ");for(c=1;c<=n;c++){for(a=1;a<=n;a++){if(jd[a].num==c)break;}fprintf(fp2,"\n U[%d]=%f",c,jd[a].U);fprintf(fp2,"∠%f",jd[a].zkj);}fprintf(fp2,"\n\n ------------------------------------------------------------------------------");z++;} while((z<Nl)&&(max>=eps)); /*判断是否达到精度要求*/}void Powerflow_Result(){int n1=jd[n].num;fprintf(fp2,"\n\n==============================================================================\n \n");fprintf(fp2," ******潮流计算结果******");fprintf(fp2,"\n\n==============================================================================\n \n");fprintf(fp2,"\n 各节点电压值: "); /*输出各节点的电压值*/for(c=1;c<=n;c++){for(a=1;a<=n;a++){if(jd[a].num==c)break;}fprintf(fp2,"\n U[%d]=%f",c,jd[a].U);fprintf(fp2,"∠%f",jd[a].zkj);}rr=tt=0; /*计算节点的注入功率*/for(i=1;i<=n;i++){int i1=jd[i].num;ji(jd[i].U,-jd[i].zkj,G[n1][i1],-B[n1][i1]);rr+=c1;tt+=d1;}ji(jd[n].U,jd[n].zkj,rr,tt);fprintf(fp2,"\n\n 各节点注入功率:\n");for(i=1;i<=pq;i++){int i1=jd[i].num;fprintf(fp2," PQ节点: 节点%d S[%d]=%f", i1,i1,jd[i].p); /*PQ节点注入功率*/ if(jd[i].q>=0)fprintf(fp2,"+j%f\n",jd[i].q);elsefprintf(fp2,"-j%f\n",-jd[i].q);}for(i=pq+1;i<=n-1;i++){int i1=jd[i].num;fprintf(fp2," PV节点: 节点%d S[%d]=%f", i1,i1,jd[i].p); /*PV节点注入功率*/ if(jd[i].q>=0)fprintf(fp2,"+j%f\n",jd[i].q);elsefprintf(fp2,"-j%f\n",-jd[i].q);}fprintf(fp2," 平衡节点: 节点%d",jd[n].num,jd[n].num); /*平衡节点注入功率*/fprintf(fp2," S[%d]=%f",n1,c1);if(d1>=0)fprintf(fp2,"+j%f",d1);elsefprintf(fp2,"-j%f",-d1);fprintf(fp2,"\n\n 线路功率:\n");rr=tt=0;for(i=1;i<=m;i++){int i1=zl[i].p1; /*计算线路功率*/int j1=zl[i].p2;aa[i]=bb[i]=P=Q=0;for(a=1;a<=n;a++){if(jd[a].num==i1)break;}for(b=1;b<=n;b++){if(jd[b].num==j1)break;}mozhi(zl[i].r,zl[i].x);if(mo==0)continue;shang(1,0,zl[i].r,zl[i].x);ji(jd[a].U/zl[i].kx/zl[i].kx,-jd[a].zkj,c2,-d2); /*考虑非标准变比*/P+=c1;Q+=d1;ji(jd[b].U/zl[i].kx,-jd[b].zkj,c2,-d2);P-=c1;Q-=d1;ji(jd[a].U,jd[a].zkj,P,Q);fprintf(fp2," 线路%d: %d--%d 的功率为: %f",i,i1,j1,c1);if(d1>=0)fprintf(fp2,"+j%f\n",d1);elsefprintf(fp2,"-j%f\n",-d1);aa[i]+=c1;bb[i]+=d1;P=Q=0;ji(jd[b].U,-jd[b].zkj,c2,-d2); /*考虑非标准变比*/ P+=c1;Q+=d1;ji(jd[a].U/zl[i].kx,-jd[a].zkj,c2,-d2);P-=c1;Q-=d1;ji(jd[b].U,jd[b].zkj,P,Q);fprintf(fp2," 线路%d: %d--%d 的功率为: %f",i,j1,i1,c1);if(d1>=0)fprintf(fp2,"+j%f\n",d1);elsefprintf(fp2,"-j%f\n",-d1);aa[i]+=c1;bb[i]+=d1;rr+=aa[i];tt+=bb[i];}fprintf(fp2,"\n\n 线路损耗功率:\n"); /*计算线路功率损耗*/for(i=1;i<=m;i++){int i1=zl[i].p1;int j1=zl[i].p2;fprintf(fp2," 线路%d损耗的功率为: %f",i,aa[i]);if(bb[i]>=0)fprintf(fp2,"+j%f\n",bb[i]);elsefprintf(fp2,"-j%f\n",-bb[i]);}fprintf(fp2,"\n\n 网络总损耗功率为: %f",rr); /*计算网络总损耗*/if(tt>=0)fprintf(fp2,"+j%f\n",tt);elsefprintf(fp2,"-j%f\n",-tt);fprintf(fp2,"\n==============================================================================\n ");fprintf(fp2,"\n\n ********* 潮流计算结束*********");}void main(){printf("请仔细阅读附录里的输入文件使用说明以便于你正确输入!\n");data(); /*读取数据*/Form_Y(); /*形成节点导纳矩阵*/for(i=1;i<=pq;i++) /* U、zkj附初值*/{jd[i].U=1; jd[i].zkj=0;}for(i=pq+1;i<n;i++){jd[i].U=jd[i].U; jd[i].zkj=0;}Niudun_Lafuxun(); /*牛顿--拉夫逊迭代*/Powerflow_Result();printf("潮流计算结果存放于output.txt文件中!\n");}附录:输入文件按以下规则输入节点数,支路数,PQ节点数,PV节点数,精度节点编号,节点类型(1为PQ节点,2为PV节点,3为平衡节点)节点输入有功功率,无功功率(节点电压纵分量,横分量)支路编号,非标准变比(若没有则填1即可),相关节点,相关节点,支路电阻,支路电抗。

电力系统潮流计算C语言程序及说明

电力系统潮流计算C语言程序及说明

实验目的根据所给的电力系统,编制潮流计算程序,通过计算机进行调试,最后完成一个切实可行的电力系统计算应用程序.通过自己设计电力系统计算程序使同学对电力系统分析有进一步理解,同时加强计算机实际应用能力的训练。

程序计算原理1、概述应用计算机进行电力系统计算,首先要掌握电力系统相应计算的数学模型;其次是运用合理的计算方法;第三则是选择合适的计算机语言编制计算程序。

建立电力系统计算的相关数学模型,就是建立用于描述电力系统相应计算的有关参数间的相互关系的数学方程式。

该数学模型的建立往往要突出问题的主要方面,即考虑影响问题的主要因素,而忽略一些次要因素,使数学模型既能正确地反映实际问题,又使计算不过于复杂。

运用合理的计算方法,就是要求所选用的计算方法能快速准确地得出正确结果,同时还应要求在解算过程中占用内存少,以利提高计算机的解题规模。

选择合适的语言编写程序,就是首先确定用什么计算机语言来编制程序;其次是作出计算的流程图;第三根据流程图用选择的语言编写计算程序.然后上机调试,直到语法上无错误。

本程序采用C语言进行编程。

所编制的程序难免存在逻辑错误,因此先用一个已知结果的系统作为例题进行计算.用程序计算的结果和已知结果相比较,如果结果相差甚远就要逐步分析程序的计算步骤,查出问题的出处;如果结果比较接近,则逐步分析误差来源;直到结果正确为止。

2、电力系统潮流计算的程序算法潮流计算是电力系统分析中的一种最基本的计算,它的任务是对给定的运行条件确定系统的运行状态,如母线上的电压(幅值及相角)、网络中的功率分布及功率损耗等.目前计算机潮流计算的方法主要有牛顿—拉夫逊算法和PQ分解法。

牛顿-拉夫逊算法是数学上求解非线形方程组的有效方法,具有较好的收敛性,曾经是潮流计算中应用比较普遍的方法。

PQ快速分解法是从牛顿—拉夫逊算法演变而来的,是将纯数学的牛顿—拉夫逊算法与电力系统具体特点相结合并进行简化与改进而得出的。

PQ快速分解法比牛顿—拉夫逊算法大大提高了计算速度和节省了内存,故而本程序以PQ快速分解法进行潮流计算.1)形成节点导纳矩阵(1)自导纳的形成对节点i其自导纳Y ii是节点i以外的所有节点都接地时节点i对地的总导纳。

电力系统潮流计算的C语言实现

电力系统潮流计算的C语言实现

//////////////////////////////////////////////////////////////////////// PQ分解法潮流////文件输入格式:节点总数n(包括联络节点),支路数zls ////节点数(发电机和负荷)nb,接地电抗数mdk,迭代精度eps // //考虑负荷静特性标志kk2(0考虑),平衡节点号,优化标志(0不优化) ////最大迭代次数it1,支路左右节点号izl[],jzl[],支路电阻zr[],电抗zx[] ////支路容纳zyk[],节点号nob[]及标志nobt[](0-PQ,-1-PV) ////发电机和负荷有功、无功pg[],qg[],pl[],ql[] ////电压v0[](pv节点输入实际值,PQ节点任输入一值) // //电抗节点号idk[],电抗值dkk[] ////////////////////////////////////////////////////////////////////////#include "math.h"#include "stdio.h"#define NS 2000 //最大节点数#define NS2 NS * 2#define NS4 1000 //NS4、NS必须大于2*zls。

#define ZS 3000 //最大支路数#define ZS2 ZS * 2#define DKS 200 //最大电抗器数#define N2 ZS * 4#define N3 ZS * 8 + NS * 4FILE *fp1, *fp2;char inname[12], outname[12];// fp1输入数据文件指针fp2输出文件指针// inname[]输入数据文件名outname[]输出数据文件名int n, zls, nb, mdk, mpj, bnsopton, it1, dsd, kk2, nzls;// 节点总数n(包括联络节点) 支路数(回路数)zls 节点数nb(发电机和负荷) // 接地电抗数mdk 精度eps 平衡节点号mpj// 节点优化(标志)bnsopton(=0节点不优化,!=0节点优化)// 最大迭代次数it1 最低电压或最大功率误差节点号dsd// 负荷静特性标志(=0考虑负荷静特性)// 支路数(双回线算一条支路)int izl[ZS], jzl[ZS], idk[DKS], yds[NS], ydz[NS], iy[ZS2];// izl[],jzl[],idk[]:分别存放左、右节点号和电抗器节点号。

C语言进行潮流计算

C语言进行潮流计算

C语言进行潮流计算C语言是一种通用的编程语言,被广泛用于开发各种应用程序。

虽然它的历史可以追溯到上个世纪70年代,但C语言在当今仍然非常流行。

它被广泛用于系统编程、嵌入式系统开发、游戏开发和科学计算等领域。

本文将重点介绍C语言的潮流计算。

潮流计算是一种用于分析电力系统稳态和动态行为的工具和技术。

它可以用于预测电力系统中潮流(电压和电流)的分布和变化。

潮流计算的目标是找到系统中各个节点的电压和相应的功率流向。

这对于电力系统的规划和运行至关重要。

C语言可以通过编写相应的程序来实现潮流计算。

在这个程序中,需要定义一组节点和支路,以及相应的导纳矩阵(节点之间的电导和电纳)。

导纳矩阵描述了电力系统中节点之间的电压和电流关系。

一旦定义了这些参数,就可以使用C语言编写算法来解决潮流计算问题。

潮流计算通常使用迭代的方法来求解。

在每一次迭代中,系统的节点电压和功率分布都会进行更新,直到达到稳定状态。

C语言提供了丰富的控制结构和数据类型,使得编写这样的迭代算法变得相对容易。

例如,可以使用for循环来实现迭代过程,同时使用浮点数类型来存储节点电压和功率分布。

潮流计算的核心是求解节点电压的方程组。

这个方程组通常是一个非线性方程组,需要使用牛顿-拉夫逊方法或高斯-赛德尔方法等迭代算法进行求解。

C语言提供了一些数值计算库,如GSL(GNU科学库),可以用于实现这些迭代算法。

这些库提供了各种数值计算函数,如求解非线性方程组、矩阵运算和插值等,可以大大简化潮流计算程序的编写。

除了求解节点电压方程组,潮流计算还需要考虑各种系统参数和条件。

例如,支路的参数(如电阻和电感)、发电机的容量和调节策略、负荷的需求和变化等。

C语言可以通过定义和存储这些参数,并在计算过程中引用它们来实现对这些条件的考虑。

此外,潮流计算还需要处理一些特殊情况,如无源系统和有环路系统。

无源系统是指没有外部电压源的电力系统,只由发电机和负荷组成。

有环路系统是指电力系统中存在环路,这会导致方程组无解。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序为计算书3-4的过程程序可以解决开式单直网络和树状网络的计算。

树状网络计算时要自己先设定好支路的起始节点和终止节点标号以及计算顺序源代码:#include <iostream>#include <fstream>#include<iomanip>#include<math.h>using namespace std;struct node{//节点类int i;//节点编号double U,P,Q,delta;//额定电压计算负荷电压相角};struct line{//线路类连接父节点子节点node f_node,s_node;//父节点子节点double R,X,B;//线路参数R X B/2double P_in,Q_in,P_out,Q_out,d_P,d_Q,D_U,d_U;//线路输入输出功率以及线路消耗功率void Set_node(node nod1,node nod2){f_node=nod1;s_node=nod2;}};void fun1(line &lin){//由后往前递推功率double p=lin.P_out;double q=lin.Q_out;double u=lin.s_node.U;lin.d_P=(p*p+q*q)/u/u*lin.R;lin.d_Q=(p*p+q*q)/u/u*lin.X;lin.P_in=lin.d_P+lin.P_out;lin.Q_in=lin.d_Q+lin.Q_out;};void fun2(line &lin){//由前往后推电压double p=lin.P_in;double q=lin.Q_in;double u=lin.f_node.U;lin.D_U=(p*lin.R+q*lin.X)/u;lin.d_U=(p*lin.X-q*lin.R)/u;lin.s_node.U=sqrt(pow(lin.f_node.U-lin.D_U,2)+pow(lin.d_U,2));//子节点电压lin.s_node.delta=lin.f_node.delta-atan(lin.d_U/(lin.f_node.U-lin.D_U));};void fun3(line &lin){//由前往后推电压不计横向分量double p=lin.P_in;double q=lin.Q_in;double u=lin.f_node.U;lin.D_U=(p*lin.R+q*lin.X)/u;lin.d_U=(p*lin.X-q*lin.R)/u;lin.s_node.U=lin.f_node.U-lin.D_U,2;//子节点电压lin.s_node.delta=lin.f_node.delta-atan(lin.d_U/(lin.f_node.U-lin.D_U)); };void main(){int num_l;int num_n;//支路数节点数ifstream fin;fin.open("E:\\data.txt");fin>>num_n>>num_l;//输入节点数支路数ofstream fout;fout.open("E:\\databak.txt");node *nod;nod=new node[num_n];//节点数目line *lin;lin=new line[num_l];//线路数目nod[0].delta=0;double *u;//节点额定电压u=new double[num_n];for(int i=0;i<num_n;i++){fin>>u[i];};double *p;//节点有功功率p=new double[num_n];for(int i=0;i<num_n;i++){fin>>p[i];};double *q;//节点无功功率q=new double[num_n];for(int i=0;i<num_n;i++){fin>>q[i];};for(int i=0;i<num_n;i++){//设定节点标号参数nod[i].i=i;nod[i].P=p[i];nod[i].Q=q[i];nod[i].U=u[i];};double *r;//线路电阻r=new double[num_l];for(int i=0;i<num_l;i++){fin>>r[i];};double *x;//线路电抗x=new double[num_l];for(int i=0;i<num_l;i++){fin>>x[i];};double *b;//线路电纳b=new double[num_l];for(int i=0;i<num_l;i++){fin>>b[i];};for(int i=0;i<num_l;i++){//设定线路参数lin[i].R=r[i];lin[i].X=x[i];lin[i].B=b[i];};for(int i=0;i<num_l;i++){//确定线路节点关系fin>>lin[i].f_node.i;fin>>lin[i].s_node.i;};for(int i=0;i<num_l;i++){//计算节点运算负荷nod[lin[i].f_node.i].Q-=lin[i].B*nod[lin[i].f_node.i].U*nod[lin[i].f_node.i].U; nod[lin[i].s_node.i].Q-=lin[i].B*nod[lin[i].s_node.i].U*nod[lin[i].s_node.i].U; };double *P_c,*Q_c;//保存运算负荷数据P_c=new double[num_n];Q_c=new double[num_n];for(int tc=0;tc<num_n;tc++){P_c[tc]=nod[tc].P;Q_c[tc]=nod[tc].Q;};for(int i=0;i<num_l;i++){//设定线路节点数据lin[i].Set_node(nod[lin[i].f_node.i],nod[lin[i].s_node.i]);};for(int re=0;re<3;re++){//迭代运算开始fout<<"第"<<re+1<<"次迭代"<<endl;double to_P(0),to_dP(0);for(int i=1;i<num_n;i++){to_P+=nod[i].P;};for(int tc=0;tc<num_n;tc++){//重置运算负荷nod[tc].P=P_c[tc];nod[tc].Q=Q_c[tc];};for(int ts=0;ts<num_l;ts++){//置各线路初始输出功率为子节点运算负荷lin[ts].P_out=lin[ts].s_node.P;lin[ts].Q_out=lin[ts].s_node.Q;};for(int i=0;i<num_l;i++){//设定线路节点数据lin[i].Set_node(nod[lin[i].f_node.i],nod[lin[i].s_node.i]);};int j=num_l-1;//反向求各支路功率损耗和功率分布for(j=num_l-1;j>0;j--){fun1(lin[j]);nod[lin[j].f_node.i].P+=lin[j].P_in;nod[lin[j].f_node.i].Q+=lin[j].Q_in;for(int i=0;i<num_l;i++){//设定线路节点数据lin[i].Set_node(nod[lin[i].f_node.i],nod[lin[i].s_node.i]);};for(int ts=0;ts<num_l;ts++){lin[ts].P_out=lin[ts].s_node.P;lin[ts].Q_out=lin[ts].s_node.Q;};};fun1(lin[j]);for(int i=0;i<num_l;i++){//设定线路节点数据lin[i].Set_node(nod[lin[i].f_node.i],nod[lin[i].s_node.i]);};int t=0;//求线路各点电压for(t=0;t<num_l-1;t++){fun2(lin[t]);nod[lin[t].s_node.i].U=lin[t].s_node.U;nod[lin[t].s_node.i].delta=lin[t].s_node.delta;for(int i=0;i<num_l;i++){//设定线路节点数据lin[i].Set_node(nod[lin[i].f_node.i],nod[lin[i].s_node.i]);};};fun2(lin[t]);nod[lin[t].s_node.i].U=lin[t].s_node.U;nod[lin[t].s_node.i].delta=lin[t].s_node.delta;fout<<"支路信息:"<<endl;for(int i=0;i<num_l;i++){//输出线路信息fout<<"支路"<<lin[i].f_node.i+1<<"-"<<lin[i].s_node.i+1<<":"<<endl; fout<<"始端功率:"<<lin[i].P_in<<"+j"<<lin[i].Q_in<<endl;fout<<"末端功率:"<<lin[i].P_out<<"+j"<<lin[i].Q_out<<endl;fout<<"功率损耗:"<<lin[i].d_P<<"+j"<<lin[i].d_Q<<endl;fout<<"电压损耗"<<lin[i].f_node.U-lin[i].s_node.U<<endl;};fout<<"节点信息:"<<endl;for(int i=0;i<num_n;i++){//输出节点信息fout<<"节点"<<i+1<<endl;fout<<"电压:"<<nod[i].U<<"相角:"<<nod[i].delta*180/3.14<<endl;};double *lu;//求最低电压及最低电压点lu=new double[num_n];int *lua;lua=new int[num_n];for(int i=0;i<num_n;i++){lu[i]=nod[i].U;lua[i]=i;};for(int i=0;i<num_n-1;i++){if(lu[i]<lu[i+1]){double st;int a;st=lu[i];a=lua[i];lu[i]=lu[i+1];lua[i]=lua[i+1];lu[i+1]=st;lua[i+1]=a;};};for(int i=0;i<num_l;i++){to_dP+=lin[i].d_P;};fout<<"全网信息:"<<endl;fout<<"总电源有功:"<<lin[0].P_in<<endl;fout<<"总负荷有功:"<<to_P<<endl;fout<<"总有功损耗:"<<to_dP<<endl;fout<<"网损率:"<<to_dP/(to_P+lin[0].P_in)<<endl;fout<<"最低电压:"<<lu[num_n-1]<<"最低电压点:"<<lua[num_n-1]+1<<endl; delete[]lu;delete[]lua;};delete[]nod;delete[]lin;delete[]u;delete[]p;delete[]q;delete[]r;delete[]x;delete[]b;}附:3-4的data文件3 2113 110 1000 0.17 200 1.7 158.5 1.2220.5 20.20.000282 00 11 2输出为:第1次迭代支路信息:支路1-2:始端功率:1.02165+j0.693296末端功率:1.00434+j0.658675功率损耗:0.0173106+j0.0346211 电压损耗0.274063支路2-3:始端功率:0.5034+j0.3068末端功率:0.5+j0.3功率损耗:0.0034+j0.0068电压损耗0.109支路2-4:始端功率:0.200938+j0.151875 末端功率:0.2+j0.15功率损耗:0.0009375+j0.001875 电压损耗0.0739643节点信息:节点1电压:10.5相角:0节点2电压:10.2259相角:-0.864932节点3电压:10.1169相角:-1.25281节点4电压:10.152相角:-1.072全网信息:总电源有功:1.02165总负荷有功:1总有功损耗:0.0216481网损率:0.0107081最低电压:10.1169最低电压点:3第2次迭代支路信息:支路1-2:始端功率:1.02078+j0.69156末端功率:1.00423+j0.658463功率损耗:0.0165484+j0.0330969电压损耗0.273567支路2-3:始端功率:0.503322+j0.306644末端功率:0.5+j0.3功率损耗:0.00332186+j0.00664371 电压损耗0.108957支路2-4:始端功率:0.20091+j0.151819末端功率:0.2+j0.15功率损耗:0.000909642+j0.00181928 电压损耗0.0739403节点信息:节点1电压:10.5相角:0节点2电压:10.2264相角:-0.86489节点3电压:10.1175相角:-1.25273节点4电压:10.1525相角:-1.07194全网信息:总电源有功:1.02078总负荷有功:1.70434总有功损耗:0.0207799网损率:0.00762533最低电压:10.1175最低电压点:3第3次迭代支路信息:支路1-2:始端功率:1.02078+j0.691556末端功率:1.00423+j0.658462功率损耗:0.0165468+j0.0330936电压损耗0.273566支路2-3:始端功率:0.503322+j0.306643末端功率:0.5+j0.3功率损耗:0.0033215+j0.00664301 电压损耗0.108957支路2-4:始端功率:0.20091+j0.151819末端功率:0.2+j0.15功率损耗:0.000909549+j0.0018191 电压损耗0.0739402节点信息:节点1电压:10.5相角:0节点2电压:10.2264相角:-0.86489节点3电压:10.1175相角:-1.25273节点4电压:10.1525相角:-1.07194全网信息:总电源有功:1.02078总负荷有功:1.70423总有功损耗:0.0207778网损率:0.00762487最低电压:10.1175最低电压点:3例3-2的data:4 310.5 10 10 100 0.3 0.5 0.20 0.2 0.3 0.151.2 1 1.52.4 2 30 0 00 11 21 3输出:第1次迭代支路信息:支路1-2:始端功率:1.02165+j0.693296末端功率:1.00434+j0.658675功率损耗:0.0173106+j0.0346211电压损耗0.275227支路2-3:始端功率:0.5034+j0.3068末端功率:0.5+j0.3功率损耗:0.0034+j0.0068电压损耗0.109244支路2-4:始端功率:0.200938+j0.151875末端功率:0.2+j0.15功率损耗:0.0009375+j0.001875电压损耗0.0740389节点信息:节点1电压:10.5相角:0节点2电压:10.2248相角:-0.864932节点3电压:10.1155相角:-1.2529节点4电压:10.1507相角:-1.07205全网信息:总电源有功:1.02165总负荷有功:1总有功损耗:0.0216481网损率:0.0107081最低电压:10.1155最低电压点:3第2次迭代支路信息:支路1-2:始端功率:1.02078+j0.69157末端功率:1.00423+j0.658465功率损耗:0.0165523+j0.0331045电压损耗0.274734支路2-3:始端功率:0.503323+j0.306646末端功率:0.5+j0.3功率损耗:0.00332278+j0.00664556 电压损耗0.109201支路2-4:始端功率:0.20091+j0.15182末端功率:0.2+j0.15功率损耗:0.000909864+j0.00181973电压损耗0.0740151节点信息:节点1电压:10.5相角:0节点2电压:10.2253相角:-0.86489节点3电压:10.1161相角:-1.25282节点4电压:10.1513相角:-1.07199全网信息:总电源有功:1.02078总负荷有功:1.70434总有功损耗:0.0207849网损率:0.00762714最低电压:10.1161最低电压点:3第3次迭代支路信息:支路1-2:始端功率:1.02078+j0.691566末端功率:1.00423+j0.658464功率损耗:0.0165506+j0.0331013电压损耗0.274733支路2-3:始端功率:0.503322+j0.306645末端功率:0.5+j0.3功率损耗:0.00332243+j0.00664486 电压损耗0.109201支路2-4:始端功率:0.20091+j0.15182末端功率:0.2+j0.15功率损耗:0.000909771+j0.00181954 电压损耗0.074015节点信息:节点1电压:10.5相角:0节点2电压:10.2253相角:-0.86489节点3电压:10.1161相角:-1.25282节点4电压:10.1513相角:-1.07199全网信息:总电源有功:1.02078总负荷有功:1.70423总有功损耗:0.0207828网损率:0.00762669最低电压:10.1161最低电压点:3。

相关文档
最新文档