zhanglele10的个人博客分享 http://blog.sciencenet.cn/u/zhanglele10

博文

利用MATLAB对非矩形域实现二维插值

已有 13125 次阅读 2015-10-12 15:14 |个人分类:Matlab学习心得|系统分类:科研笔记

>> load('x1.mat');

>> load('y1.mat')

>> load('T.mat');

>> load('Lon.mat');

>> load('Lat.mat');

>> t11=interp2(x1,y1,T,Longitude,Latitude,'cubic');

错误使用 interp2>makegriddedinterp (line 235)

输入网格为无效的 MESHGRID。


出错 interp2 (line 136)

       F = makegriddedinterp(X, Y, V, method,extrap);

经查看http://3y.uu456.com/bp_32jw03xolo8iiwn479ge_1.html这个帖子,发现interp2的插值数据必须是矩形域,即已知数据点(x,y)组成规则的矩阵,或称之为栅格,可使用meshgid生成。

这篇帖子中还提供了另外一个函数:griddata函数的已知数据点(X,Y)不要求规则排列,特别是对试验中随机没有规律采取的数据进行插值具有很好的效果。griddata(X,Y,XI,YI,'v4') v4是一种插值算法,没有具体的名字,原文称为“MATLAB 4 griddata method”,是一种很圆滑的差值算法,效果很好。

>> t11=griddata(x1,y1,T,Longitude,Latitude,'v4');

完美实现空间内插。




https://blog.sciencenet.cn/blog-1103122-927602.html

上一篇:ArcGIS常规操作总结
下一篇:MODIS积雪产品代码含义
收藏 IP: 210.72.80.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-28 17:49

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部