好文档 - 专业文书写作范文服务资料分享网站

电气工程及其自动化专业综合实训一[新] 

天下 分享 时间: 加入收藏 我要投稿 点赞

.. .

// 节点总数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[]:分别存放左、右节点号和电抗器节点号。 // yds[]存放各行非零非对角元素的个数。

// ydz[i]是第 i 行第一个非零非对角元素的首地址, // 即在所有非零非对角元素中的次序号 // iy[]存放列足码。

int nnew[NS4], old[NS], nob[NS], nobt[NS]; // nnew[],old[]存放的是新、旧节点号。 // nnew[i]中为i对应的新号

// nob[]存放的是节点号。nobt[]存放的是节点类型, 0: pq节点, -1: pv节点。 double eps, dsm, vmin, dph, dqh, af[3]; // eps迭代收敛精度,dsm最大功率误差

// vmin:系统最低电压值。dph,dqh:系统有、无功损耗。 // af[0]和af[1]分别是负荷有功功率、无功功率静态特性系数。 double v00;

z

.. .

// v00: 系统平均电压 ci,cj分别作为节点i,j的电压相角的临时存储单元。 double zr[ZS], zx[ZS], zyk[ZS], dkk[DKS], gii[NS], bii[NS], yg[ZS2], yb[ZS2]; double pg[NS], qg[NS], pl[NS], ql[NS], v0[NS], v[NS], va[NS]; // 支路电阻zr[]

支路电抗zx[] 输电线路充电容纳zyk[](y0/2)

对角元虚部

// 接地电抗dkk[] 对角元实部gii[]

// 非对角元实部yg[] 非对角元虚部yb[] // pg[],qg[],pl[],ql[]:发电机,负荷功率实、虚部 // v[]是电压幅值,va[]是电压相角。 double w[NS2], kg[3], b[NS2]; int newsort[NS4];

// newsort[i]存放i对应的老号

void initial(); void pqflow(); void out(); void dataio(); void bnsopt(); void zlsort(int* nnew); void printo(); void printy(); void y2(); void ya0();

z

.. .

void yzb(); void jdgl(int kq0); void bbhl(int kq0); void calc(); int iabs(int a);

void branch_output(); void newval(double* aa); void printc(); void iswap(); void swap();

void printf2(double* aa, double* bb, int n);

void calc(int* iu, double* u, double* di, int* nfd, double* b); void printi(int* aa, int n); void printf1(double* aa, int n); int find(int k, int a[], int* z);

void yzb(int t, int* iu, double* u, double* di, int* nfd); int isgn(int a, int b); void yy1(); void y3(); void newtoold();

z

.. .

int main(void) { initial(); //初始化

pqflow(); //pq潮流计算 out(); //输出节点和支路数据

return 1;

}

int isgn(int a, int b) {

//**** 本函数功能返回值为a的绝对值b的符号//参数1提供值,参数2提供符号// if (b < 0) if (a > 0)

a = -a;

return a;

}

int find(int k, int a[], int* z)

z

****//

.. .

{

//**** 本函数查找a[]中是否有fabs(k)有则返回0,无则返回1

****//

//参数1为待查找量,参数2待搜索数组,参数3返回k在a[]中的次序号// int i;

for (i = 1; i <= n; i ++) if(iabs(k) == a[i]) { *z = i; return 1;

}

return 0;

}

void oldtonew() {

//**** 本函数将输入数据中的节点号变成从1开始的连续节点号 int i, j, k, ii1, ii2, zls2, k1, k2, k3, k4, ip;

zls2 = zls + zls;

z

****//

电气工程及其自动化专业综合实训一[新] 

推荐度:
点击下载文档文档为doc格式
40mcp63i4z8jj329nz0t2wkqq4mj6h00m1q
领取福利

微信扫码领取福利

微信扫码分享