⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shu.txt

📁 电力系统潮流计算中数据的输入程序(用c语言)
💻 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 + -