爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 13641|回复: 13

[讨论] matlab读取二进制文件后与grads读取的不一样

[复制链接]

新浪微博达人勋

发表于 2013-1-31 05:43:36 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
在处理二进制文件的时候想用matlab进行,无奈读出来的与grads不一样。如下图:
grads读出来的图是:
1.png

但是matlab我换了两种reshap的格式读进来,分别是一下图:

3.png
2.png

不知道是不是哪里出现了问题。问了周边的很多用matlab的人,都没有得到答案。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-15 12:58:44 | 显示全部楼层
应该是matlab读取的数组旋转或者翻转一下就行了。我是参考了帖子1,用的squeeze(),flipud(),或者rot90()等函数。帖子2,是一个专门matlab数据转grads的函数,没用过,不过应该更方便。
参考帖子:用matlab将nc数据读出来,写成二进制文件,然后用grads画图出错
http://bbs.06climate.com/forum.php?mod=viewthread&tid=12711
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2013-1-31 09:30:16 | 显示全部楼层
虽然估计我解决不了,不过LZ最好把二进制数据的来源说一下,比如是用fortran转换的站点还是格点数据或者是哪里下的数据啥的,元数据不清楚不好解决~再加个matlab绘图的代码吧,这个图投影就有问题~我感觉可能是读取的时候数据存储格式的原因,比如是不是把经纬度也读进来了,整数当成浮点数读什么的,不过只是个人臆想,不一定对~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-1-31 09:37:15 | 显示全部楼层

是cmorph数据。noaa的降水数据。本身是格点数据。不知道matlab读取二进制的限定我都有了。代码如下:
clc;
clear;
fid = fopen('F:\CMORPH_30min_8km_2008010101','r','ieee-le');
A=fread(fid,[1649,4948],'*float','ieee-le');
fclose(fid);
读进来之后做简单的图与grads作比较就出现上述问题。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-1-31 10:10:11 | 显示全部楼层
kongfeng0824 发表于 2013-1-31 09:37
是cmorph数据。noaa的降水数据。本身是格点数据。不知道matlab读取二进制的限定我都有了。代码如下:
cl ...

表示不会,等等其他人回复吧~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-5-11 15:34:40 | 显示全部楼层
表示请求精通matlab的大人物出现 最近本人也遇到了此类问题 不清楚matlab中的二进制文件是中怎样的 和fortran中的各种二进制文件貌似不同 ,但是想知道哪里不同 ,以及有没有一种二进制格式直接通用的?
求大神指导!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-4 20:33:36 | 显示全部楼层
对这个数据不熟悉,但是估计可以时候处在这里,
A=fread(fid,[1649,4948],'*float','ieee-le');
读取数据的方式可能存在问题,ieee-le貌似是对大型机的输出结果。
你把fortran和matlab输出的数据都写成txt看一下区别就好了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 32430
发表于 2014-9-18 16:14:50 | 显示全部楼层
二进制文件之前有格式说明的,楼主没有将这些用char找出来
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-9-19 14:44:59 | 显示全部楼层
我觉得是楼主的经纬度网格弄错了!BTW,楼主用AOD是做气溶胶吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-9-19 20:08:11 | 显示全部楼层
新八不是废材男 发表于 2014-9-19 14:44
我觉得是楼主的经纬度网格弄错了!BTW,楼主用AOD是做气溶胶吗?

是的。做aerosol
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表