📄 shu.txt
字号:
#include <stdio.h>
#include <math.h>
#define M 50 /*矩阵阶数*/
#define N 50 /*迭代次数*/
int i,j,k,l,z; /* 循环变量 */
int n, /* 节点数 */
m, /* 支路数 */
dd, /*对地支路数*/
pq, /* PQ节点数 */
pv; /* PV节点数 */
float eps, /* 精度 */
max;
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,bb; /*支路的电阻电抗与变压器变比*/
} zhilu[M];
FILE *fp1,*fp2;
void data1() /* 读取数据 */
{ int h,numb;
fp1=fopen("D:\in.txt","r");if(fp1==NULL)
{ printf(" can not open file !\n");
exit(0);
}
fscanf(fp1,"%d,%d,%d,%d,%d,%f\n",&n,&m,&dd,&pq,&pv,&eps); /*输入节点数,支路数,对地支路数,PQ节点数PV节点数和精度*/
j=1;k=pq+1;
for(i=1;i<=n;i++) /*输入节点类型的输入功率和节电电压初值*/
{
fscanf(fp1,"%d,%d",&numb,&h);
if(h==1) /*类型h=1是PQ节点*/
{ fscanf(fp1,",%f,%f,%f,%f\n",&jiedian[j].p,&jiedian[j].q,
&jiedian[j].e,&jiedian[j].f);
jiedian[j].num=numb;
jiedian[j].s=h;
j++;
}
if(h==2) /*类型h=2是pv节点*/
{ fscanf(fp1,",%f,%f,%f,%f\n",&jiedian[k].p,&jiedian[k].v,
&jiedian[k].e,&jiedian[k].f);
jiedian[k].num=numb;
jiedian[k].s=h;
k++;
}
if(h==3) /*类型h=3是平衡节点*/
{ fscanf(fp1,",%f,%f\n",&jiedian[n].e,&jiedian[n].f);
jiedian[n].num=numb;
jiedian[n].s=h;
}
}
for(i=1;i<=m;i++) /*输入支路阻抗*/
fscanf(fp1,"%d,%d,%d,%f,%f,%f\n",&zhilu[i].num, &zhilu[i].p1,
&zhilu[i].p2, &zhilu[i].bb, &zhilu[i].r, &zhilu[i].x);
fclose(fp1);
if((fp2=fopen("D:\out.txt","w"))==NULL)
{ printf(" can not open file!\n");
exit(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -