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

📄 trans2plt.cpp

📁 将二维矩形网格的数据转换为Tecplot软件可识别的数据
💻 CPP
字号:
/*--------------------------------------------------------------------------------------------------------------------
  软件功能:根据调和分析的结果,生成tecplot可读入的文件,供tecplot画同潮图。

  输入:输入文件中grid.dat中存有纬度、经度、水深数据,xyap.dat是matlab调和分析的结果,其中两列分别为振幅(m)和相位(度)

  输出:同潮图.dat

  作者:江文滨

  日期:2008-9-19
---------------------------------------------------------------------------------------------------------------------*/
#include "stdio.h"
#include "params.h"

void main()
{
	FILE *fpr,*fpw;
	int i,j,k,tt,mark[IM*JM];
	static double x[IM*JM],y[IM*JM],amp[IM*JM],phase[IM*JM];
	char temp[10];
	//  读入xyap.dat
	fpr=fopen("xyap.dat","r");
	for (i=0;i<4;i++)
		fscanf(fpr,"%s",&temp);
	k=1;
	for (i=0;i<IM*JM;i++)
	{
		fscanf(fpr,"%lf %lf %lf %lf\n",&x[i],&y[i],&amp[i],&phase[i]);
		if(amp[i]!=-1000)
		{
			mark[i]=k;
			k++;
		}
	}
	tt=0;
	for(j=0;j<JM-1;j++)
		for(i=1;i<IM;i++)
		{
			if((amp[j*IM+i]!=-1000)&&(amp[j*IM+i-1]!=-1000)&&(amp[(j+1)*IM+i]!=-1000)&&(amp[(j+1)*IM+i-1]!=-1000))
			{
				if(phase[j*IM+i-1]<0)
					phase[j*IM+i-1]=360+phase[j*IM+i-1];
				tt++;
			}
		}
	//  输出同潮图文件
	fpw=fopen("cotidal.dat","w");
	fprintf(fpw,"Title=\"cotidal\"\n");
	fprintf(fpw,"Variables=\"x\",\"y\",\"a\",\"p\"\n");
	fprintf(fpw,"Zone n=%d,e=%d,f=fepoint,et=quadrilateral\n",k-1,tt);
	for (i=0;i<IM*JM;i++)
	{
		if(amp[i]!=-1000)
			fprintf(fpw,"%lf  %lf  %lf  %lf\n",x[i],y[i],amp[i]*100,phase[i]);
	}
	fprintf(fpw,"\n");
	for(j=0;j<JM-1;j++)
		for(i=1;i<IM;i++)
		{
			if((amp[j*IM+i]!=-1000)&&(amp[j*IM+i-1]!=-1000)&&(amp[(j+1)*IM+i]!=-1000)&&(amp[(j+1)*IM+i-1]!=-1000))
				fprintf(fpw,"%6d %6d %6d %6d\n",mark[j*IM+i-1],mark[j*IM+i],mark[(j+1)*IM+i],mark[(j+1)*IM+i-1]);
		}
	fclose(fpw);
	fclose(fpr);
}

⌨️ 快捷键说明

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