- 积分
- 3255
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-9-2
- 最后登录
- 1970-1-1
|
MATLAB
问题截图: |
- |
问题概况: |
CMIP5模式输出的NC数据,在用Matlab插值成统一的分辨率的过程中出现几个错误。 |
我看过提问的智慧: |
看过 |
自己思考时长(天): |
3 |
系统平台: |
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
看过了与我有类似问题的帖子http://bbs.06climate.com/forum.php?mod=viewthread&tid=22956,但是依旧没有解决我的问题。我使用的是CMIP5的historical的海温资料,纬度上不均匀,所以想插值成均匀格点(1*1),再输出成dat文件用grads作图。
主要问题有两个:
1、我的资料无法使用interp3这个函数,由于经度不是从小到大递增的,而是从78°开始,到360°,再从0到78,所以用interp3的时候总会提示格点不是单调递增的。思考了很久也没有想到好的解决办法,故决定使用griddata。
2、用griddata的部分程序如下:
[X,Y]=meshgrid(0.5:1:359.5,-89.5:1:89.5);
for t=1:60
ff_new(:,:,t)=griddata(lon(:,:),lat(:,:),ff(:,:,t),X,Y);
end
其中lon、lat在原nc文件中就是双精度的360*200的矩阵,故不用meshgrid处理。
但是输出的结果都是nan。
所以在此我想请教两个问题:一是为什么我的输出结果都是nan?错在哪里??
二是我是否可以采用interp3这个函数,我该怎样调整经度值才能既能让程序运行,又可以在画图时保持原场的经纬度呢?
自己闭门想了两天了还是木结果>< MATLAB小白还望各位多多帮助~~感谢
|
|