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

📄 output.h

📁 基于电磁波方程
💻 H
字号:
float **ArrayCopy(float **sA,int DimensionX,int DimensionY)
{
	float **p;
	p=(float **)malloc(DimensionX*sizeof(float *));
	for(int i=0;i<DimensionX;i++)
	{
		p[i]=(float *)malloc(DimensionY*sizeof(float));
		memcpy(p[i],sA[i],DimensionY*sizeof(float));
	}
	printf("%f %f\n",sA[100][100],p[100][100]);
	return p;
}
void WriteToGrd(float **temp,int x,int y,char *file)
{
	FILE *fp1;
	char filename[256];
	sprintf(filename,"%s/%s.grd",myDirectory,file);
	if((fp1=fopen(filename,"w"))==NULL)
	{
		printf("Can't open file %s",filename);
		return;
	}
	fprintf(fp1,"DSAA\n");
	fprintf(fp1,"%d %d\n",x,y);
	fprintf(fp1,"%d %d\n",0,x-1);
	fprintf(fp1,"%d %d\n",0,y-1);
	fprintf(fp1,"%d %d\n",-1000,1000);	
	for(int j=(y-1);j>=0;j--)
	{
		for(int i=0;i<x;i++)
		{
			fprintf(fp1," %f",1.0*temp[i][j]);
		}
		fprintf(fp1,"\n");
	}
	fclose(fp1);
}
float **ReadFromGrd(int& x,int& y,char *file1)
{
	FILE *fp1;
	float **temp;
	char *tstr;
	int ti1,ti2,tj1,tj2,tk1,tk2;
	if((fp1=fopen(file1,"r"))==NULL)
	{
		printf("Can't open file %s",file1);
		return NULL;
	}
	fscanf(fp1,"%s",tstr);	
	fscanf(fp1,"%d %d",&x,&y);
	temp=DefineArray(x,y);
	fscanf(fp1,"%d %d",&ti1,&ti2);
	fscanf(fp1,"%d %d",&tj1,&tj2);
	fscanf(fp1,"%d %d",&tk1,&tk2);
	for(int i=0;i<x;i++)
	{
		for(int j=0;j<y;j++)
		{
	        fscanf(fp1," %f",&temp[i][j]);
		}
	}
	fclose(fp1);
	return temp;
}
//---------------------------------------------------
void ImaginaryRealCompute(float **t1,float **t2,int x,int y,char *f1,char *f2)
{
	FILE *fp1,*fp2;
	char filename1[256],filename2[256];
	sprintf(filename1,"%s/%s.grd",myDirectory,f1);
	sprintf(filename2,"%s/%s.grd",myDirectory,f2);
	if((fp1=fopen(filename1,"w"))==NULL)
	{
		printf("Can't open file %s",filename1);
		return;
	}
	fprintf(fp1,"DSAA\n");
	fprintf(fp1,"%d %d\n",x,y);
	fprintf(fp1,"%d %d\n",0,x-1);
	fprintf(fp1,"%d %d\n",0,y-1);
	fprintf(fp1,"%d %d\n",-1000,1000);
	if((fp2=fopen(filename2,"w"))==NULL)
	{
		printf("Can't open file %s",filename2);
		return;
	}	
	fprintf(fp2,"DSAA\n");
	fprintf(fp2,"%d %d\n",x,y);
	fprintf(fp2,"%d %d\n",0,x-1);
	fprintf(fp2,"%d %d\n",0,y-1);
	fprintf(fp2,"%d %d\n",-3.5,3.5);
	for(int i=0;i<x;i++)
	{
		for(int j=0;j<y;j++)
		{
			fprintf(fp1," %f",sqrt(t1[i][j]*t1[i][j]+t2[i][j]*t2[i][j]));
			fprintf(fp2," %f",atan2(t1[i][j],t2[i][j]));
		}
		fprintf(fp1,"\n");
		fprintf(fp2,"\n");
	}
    fclose(fp1);
	fclose(fp2);
	FreeArray(t1,x);
}

//-----------------------------------------
void outputEHn(char* file1,char myDirectory[])
{
	FILE *fp1;
	int i,j,k;
	float t;
	char filename[256];
	sprintf(filename,"%s/%s",myDirectory,file1);
	if((fp1=fopen(file1,"w"))==NULL)
	{
		printf("Can't open file %s",filename);
		return;
	}
	for(i=IoMin;i<=IoMax;i++)
	{
		fprintf(fp1," %f",0.5*(Ez[i][JoMin]+Ez[i][JoMin-1]));
		fprintf(fp1," %f",Hx[i][JoMin-1]);
		fprintf(fp1," %f",0.5*(Ez[i][JoMax]+Ez[i][JoMax+1]));
		fprintf(fp1," %f",Hx[i][JoMax]);
	}
	fprintf(fp1,"\n");
	for(j=JoMin;j<=JoMax;j++)
	{
		fprintf(fp1," %f",0.5*(Ez[IoMax][j]+Ez[IoMax+1][j]));
		fprintf(fp1," %f",Hy[IoMax][j]);
		fprintf(fp1," %f",0.5*(Ez[IoMin][j]+Ez[IoMin-1][j]));
		fprintf(fp1," %f",Hy[IoMin-1][j]);
	}
	fprintf(fp1,"\n");
	fclose(fp1);
}

⌨️ 快捷键说明

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