爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5262|回复: 4

[程序设计] matlab二维插值问题

[复制链接]

新浪微博达人勋

发表于 2019-6-15 10:48:08 | 显示全部楼层 |阅读模式

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

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

x
各位大神请问采用matlab的interp2插值的时候报是怎么回事啊,我想把124个文件中的变量ts从0.5度插值到0.05度,小白求助啊55555跪谢各位了错误使用 griddedInterpolant
网格矢量未定义与给定值匹配的点网格。

出错 interp2>makegriddedinterp (line 229)
    F = griddedInterpolant(varargin{:});

出错 interp2 (line 137)
        F = makegriddedinterp(X, Y, V, method,extrap);
代码如下
list=dir(['/home/need/tsnc/','*.nc'])
i=length(list)

for k=1:i
str=strcat('/home/need/tsnc/',list(i).name)
ts=ncread(str,'ts')
lon=ncread(str,'lon')
lat=ncread(str,'lat')
%交换南北纬,原数据维度是递减的
for m=1:61
        for n=1:41
        tsy(m,n)=ts(m,(42-n))
       
        end
end

[X,Y]=meshgrid(lon,lat)
YI=(30:0.05:50)
XI=(120:0.05:150)
[XXI,YYI]=meshgrid(XI,YI);
tts=interp2(X,Y,tsy,XXI,YYI)
ttts(:,:)=tts(:,:)
if k<10
filename1=strcat('/home/need/tsnc/cha00',int2str(k),'.nc')
elseif k<100
filename1=strcat('/home/need/tsnc/cha0',int2str(k),'.nc')
else
filename1=strcat('/home/need/tsnc/cha',int2str(k),'.nc')
end
ncid=netcdf.create(filename1,'CLOBBER');
dimidx=netcdf.defDim(ncid,'lon',401)
dimidy=netcdf.defDim(ncid,'lat',601);

varid1=netcdf.defVar(ncid,'ts','double',[dimidx,dimidy]);

varid2=netcdf.defVar(ncid,'lon','float',[dimidx]);
varid3=netcdf.defVar(ncid,'lat','float',[dimidy]);
netcdf.putAtt(ncid,varid1,'units','K');                                          
   
netcdf.putAtt(ncid,varid2,'units','degree_east');
      netcdf.putAtt(ncid,varid3,'units','degree_north');
netcdf.endDef(ncid);
netcdf.endDef(ncid);
netcdf.putVar(ncid,varid1,ttts);
    netcdf.putVar(ncid,varid2,YI);netcdf.putVar(ncid,varid3,XI);
netcdf.close(ncid);
end



密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-10-28 22:52:49 | 显示全部楼层
我刚刚也遇到过这个问题,我是将  tts=interp2(X,Y,tsy,XXI,YYI) 中的tsy转置一下,然后就行了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-10-29 16:55:08 | 显示全部楼层
我也有相同的疑问,渴望解答
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-11-4 14:49:04 | 显示全部楼层
楼主你好,不知道你解决了吗,我要将300m*300m的转成0.1°*0.1°,楼主有什么方法嘛?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-11-4 15:00:37 | 显示全部楼层
langlangxie 发表于 2019-10-29 16:55
我也有相同的疑问,渴望解答

朋友你解决了吗?我也有相似的问题
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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