文档详情

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

发布:2017-01-10约1.85万字共17页下载文档
文本预览下载声明
/*利用牛顿-拉夫逊迭代法(极坐标形式),计算复杂电力系统潮流,具有收敛性好,收敛速度快等优点。所有参数应归算至标幺值下。 /*可计算最大节点数为100,可计算PQ,PV,平衡节点*/ /*可计算非标准变比和平行支路*/ #includestdio.h #includemath.h #includestdlib.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)
显示全部
相似文档