《PQ分解法潮流计算程序》.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《PQ分解法潮流计算程序》.doc

#include stdio.h #include math.h #define M 10 int pq;/*PQ节点数*/ int jd;/*系统节点总数*/ int br;/*系统支路数*/ int flag1[M],flag2[M];/*节点标志*/ int N;/*迭代次数*/ float r[M],x[M],g[M][M],b[M][M],p[M],q[M],e[M],f[M],u[M];/*系统参数*/ float w[2*M-2];/*功率误差*/ float jj[2*M-2][2*M];/*雅可比矩阵*/ float a[M],c[M];/*节点注入电流*/ float du[2*M-2];/*电压增量*/ float eps,eps1;/*精度*/ float g1[M],b1[M]; main() { FILE *fp; FILE *wp; /*读取系统参数*/ int i,j,t,dd=0; int m,n; float sum,l,k; if((fp=fopen(a:/liqiang/chaoliu/true/input.txt,r))==NULL) { printf(打不开文件!\n); return; } fscanf(fp,%d,%d,%d\n,jd,br,pq); printf(%d,%d,%d\n,jd,br,pq); fscanf(fp,%f\n,eps); printf(%f\n,eps); for(i=1;i=pq;i++) { fscanf(fp,%f,%f,%f,%f\n,e[i],f[i],p[i],q[i]); /*PQ节点参数*/ printf(%f,%f,%f,%f\n,e[i],f[i],p[i],q[i]); } for(i=pq+1;ijd;i++) { fscanf(fp,%f,%f,%f\n,e[i],f[i],p[i]); /*PV节点参数*/ printf(%f,%f,%f\n,e[i],f[i],p[i]); u[i]=e[i]*e[i]+f[i]*f[i]; } fscanf(fp,%f,%f\n,e[jd],f[jd]); /*平衡节点参数*/ printf(%f,%f\n,e[jd],f[jd]); for(i=1;i=br;i++) { fscanf(fp,%d,%d,%f,%f\n,flag1[i],flag2[i],r[i],x[i]); printf(%d,%d,%f,%f\n,flag1[i],flag2[i],r[i],x[i]); } fclose(fp);wp=fopen(a:/liqiang/chaoliu/true/input1.txt,w+); for(i=1;i=jd;i++) for(j=1;j=jd;j++) g[i][j]=b[i][j]=0; for(t=1;t=br;t++) { i=flag1[t]; j=flag2[t]; sum=r[t]*r[t]+x[t]*x[t]; l=r[t]/sum; g1[t]=l; k=-x[t]/sum; b1[t]=k; g[i][i]+=l;g[j][j]+=l; b[i][i]+=k;b[j][j]+=k; g[i][j]-=l;g[j][i]-=l; b[i][j]-=k;b[j][i]-=k; fprintf(wp,%d,%d,%3.5f,%3.5f\n,flag1[t],flag2[t],g[i][j],b[i][j]); }fclose(wp); for(i=1;i=jd;i++) { for(j=1;j=jd;j++) printf(%.5f+j%.5f ,g[i][j],b[i][j]); printf(\n); } ds(); compare(); printf(eps=%.5f\n,eps1); if(eps1eps) out();N=0; do {N=N+1;printf(\n^^^^^^^第%d次迭代^^^^^^^\n,N); for(i=1;i=pq;i++) for(j=1;jjd;j++) { if(i==j) {

您可能关注的文档

文档评论(0)

mwap + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档