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

📄 text1.txt

📁 C语言编写的潮流计算程序
💻 TXT
字号:
void ybus(int n,int l,int m,float *g,float *b,float *g1,float *b1,float *c1,\
          float *c,float *co,int k,int *s1,int *e1)
{
	extern FILE *file4;
	FILE *fp;
	int i,j,io,i0;
	int pos1,pos2;
	int st,en;
	if(file4==NULL)
	{
		fp=stdout;
	}
	else
	{
		fp=file4; /* 输出到文件 */
	}

	/* 初始化矩阵G,B */
	for(i=1;i<=n;i++)  
	{
		for(j=1;j<=n;j++)
		{
			pos2=f2(i,j,n);
			g[pos2]=0;b[pos2]=0;
		}
	}
	
	/* 计算支路导纳 */
	for(i=1;i<=l;i++)
	{
		/* 计算对角元 */ 
		pos1=f1(i);
		st=s1[pos1];en=e1[pos1];
		pos2=f2(st,st,n);
		g[pos2]+=g1[pos1];
		b[pos2]+=b1[pos1]+c1[pos1];
		pos2=f2(en,en,n);
		g[pos2]+=g1[pos1];
		b[pos2]+=b1[pos1]+c1[pos1];

		/* 计算非对角元 */ 
		pos2=f2(st,en,n);
		g[pos2]-=g1[pos1];
		b[pos2]-=b1[pos1];
		g[f2(en,st,n)]=g[f2(st,en,n)];
		b[f2(en,st,n)]=b[f2(st,en,n)];
	}

	/* 计算接地支路导纳 */
	for(i=1;i<=n;i++)
	{
		/* 对称部分 */
		b[f2(i,i,n)]+=co[f1(i)];

		/* 非对称部分 */ 
		for(j=1;j<=l;j++)
		{
		  b[f2(i,i,n)]+=c[f2(i,j,l)];
		}
	}
	if(k!=1)
	{
		 return; /* 如果K不为 1,则返回;否则,打印导纳矩阵 */
	}
	fprintf(fp,"\n          BUS ADMITTANCE MATRIX Y(BUS):");
	fprintf(fp,"\n ******************* ARRAY G ********************");
	for(io=1;io<=n;io+=5)
	{
		i0=(io+4)>n?n:(io+4);
		fprintf(fp,"\n");
		for(j=io;j<=i0;j++)
		{
		  fprintf(fp,"%13d",j);
		}
		for(i=1;i<=n;i++)
		{
			fprintf(fp,"\n%2d",i);
			for(j=io;j<=i0;j++)
			{
				fprintf(fp,"%13.6f",g[f2(i,j,n)]);
			}
		}
		fprintf(fp,"\n");
	}

	fprintf(fp,"\n ******************* ARRAY B ********************");
	for(io=1;io<=n;io+=5)
	{
		i0=(io+4)>n?n:(io+4);
		fprintf(fp,"\n");
		for(j=io;j<=i0;j++)
		{
			fprintf(fp,"%13d",j);
		}
		for(i=1;i<=n;i++)
		{
			fprintf(fp,"\n%2d",i);
			for(j=io;j<=i0;j++)
			{
				fprintf(fp,"%13.6f",b[f2(i,j,n)]);
			}
		}
		fprintf(fp,"\n");
	}
	fprintf(fp,"\n************************************************");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -