电力系统潮流计算机算法牛顿.doc
文本预览下载声明
电力系统潮流计算机算法牛顿-拉夫逊法 ??
/*?????????????????? --------设计思想:------? 电力系统潮流计算机算法,解非线性方程采用的方法是牛顿-拉夫逊法,? 修正方程以直角坐标表示,解修正方程采用的是列主元素消去法? ????????????????????? --------程序功能--------? 程序可计算带PQ节点、PV节点、平行支路、接地支路、非标准变比变压器支路? 的电力系统潮流,通用性良好*/
#include stdio.h?#include math.h/*主要变量说明如下*/?#define? M 50?????????????? /*矩阵阶数*/?#define? N 50?????????????? /*迭代次数*/
?int i,j,k,l,z;????????????? /* 循环变量 */?int n,????????????????????? /* 节点数 */???? m,????????????????????? /* 支路数 */? byqn,????????????????????? /* 变压器数 */???? dd,???????????????????? /*对地支路数*/???? pq,???????????????????? /* PQ节点数 */???? pv;???????????????????? /* PV节点数 */?float eps,????????????????? /* 精度 */?????? max;?char filename[10];
?static float G[M][M],B[M][M],D[M],ykb[M][M];
?struct jiedian??????????????????? /* 节点结构体 */????? {? int num,s;??????????????? /* num为节点号,s为节点类型*/????? float p,q,e,f,v;????? } jiedian[M];
?struct zhilu????????????????????? /* 支路结构体 */????? {? int num;? int p1,p2;??????????????? /*支路的两个节点*/? float r,x;??????????????? /*支路的电阻与电抗*/????? } zhilu[M];
? struct byq???????????? /*变压器结构体*/????? { int num;??????? int p1,p2;??float r,x,k;??float s;?????? } byq[M];? FILE *fp1,*fp2;
?? /*====================input的输入要求 ================================? input.c的输入要求:? 节点数n,???? 支路数m,?? 对地支路数dd, 变压器数byqn,PQ节点数pq, PV节点数pv, 精度eps? 节点编号numb,节点类型h,节点输入功率(实数部分),节点输入功率(虚数部分),节电电压初值(实数部分)e,节电电压初值(虚数部分)f? 平衡节点编号,节点类型,节电电压初值(实数部分)e,节电电压初值(虚数部分)f?? ……(继续输入节点信息)? 支路的编号,支路一端节点的编号,支路另一端节点的编号,支路等效阻抗的实数部分,支路等效阻抗的虚数部分? ……(继续输入支路信息)
? 变压器编号num,所连节点p1,p2,阻抗r,x,变比k,容量s? ===========================================================*/
?void data1()???????????????? /* 读取数据 */?{ int h,numb,queren;? printf(程序可计算带PQ节点、PV节点、平行支路、接地支路、非标准变比变压器支路的系统潮流\n);? ? printf(输入必须符合程序中input的输入要求(如下),若不符合,可能导致错误\n);? printf(\????????????????????????? *****输入要求*****\n);? printf(-----------------------------------------------------------------------------\n);? printf(节点数n,支路数m, 对地支路数dd, 变压器数byqn,PQ节点数pq,
显示全部