经常需要绘图,但常用的绘图工具还是GrADs,因此要写一份二进制文件。(后期应该会转向NCL的吧)
需要注意的是,GrADs所需的二进制文件存储循环为经度x,纬度y,高度z,变量1,变量2,…,时间t,因此写二进制文件是需要按照这个顺序来写。本文中以一个变量即1000hPa等压面上的位势高度为例,多个变量使用循环尝试即可。
matlab读取文本文件
文本文件指的是micaps类型数据文件(实际有29行53列的数据,但文件中每行最多放6个数据),内容格式如下:
◆需要注意的有:
- 直接使用textread命令后,读取的数据是按行列读取的,即有多少行多少列就出来有多少行列,取最大长度,不足的自动用0补齐;
- 需要读取的文件是自北向南、自西向东排布的,因此上下需要颠倒交换。
读取代码如下:
data=textread('data\height\1000\13052520.000','','headerlines',4);
% 上面的 'headerlines',4 是指前面4行跳过不读取
% 读取的数据暂时保存在 data 里,下面是使用自定义函数进行整合
% 整合后的数据保存在h1000数组里
h1000=dread(data);h1000=change(h1000);
% 整合数据,使成所需的行列排布
function res=dread(data)
res=[];
% 一共是有29行
for ii=1:29
tem=data((ii-1