matlab中的interp2插值函数

看了好多文章才大体明白插值的含义,(⊙﹏⊙)b,这理解能力也是醉了.....为了记住这个惨痛教训,在吃饭前要把看到的文章总结一下~~

 

interp2
功能 二维数据内插值
格式

 

(1)ZI = interp2(X,Y,Z,XI,YI)

好多文章里巴拉巴拉说了一堆,迷迷糊糊的,我还是用我的大白话叙述一下:

X,Y是原始数据,相当于坐标,类似于meshgrid的坐标范围,这么说应该很容易理解......

Z是在上述坐标下的数值,也就是在坐标[xi  yi]下的zi

XI,YI就是用于插值的坐标,

返回值ZI就是用于提取插值之后,对应位置的值

这里需要注意:

X 与Y必须是单调的

若Xi与Yi中有在X与Y范围之外的点,则相应地返回nan(Not a Number)

 

下面是其他形式的解释,这个我就直接copy啦~~

(2)ZI = interp2(Z,XI,YI)
缺省地,X=1:n、Y=1:m,其中[m,n]=size(Z)。再按第一种情形进行计算。

 

(3)ZI = interp2(Z,n)
作n次递归计算,在Z的每两个元素之间插入它们的二维插值,这样,Z的阶数将不断增加。

interp2(Z)等价于interp2(z,1)。

 

(4)ZI = interp2(X,Y,Z,XI,YI,method)
用指定的算法method 计算二维插值:
’linear’:双线性插值算法(缺省算法);
’nearest’:最临近插值;
’spline’:三次样条插值;
’cubic’:双三次插值。

 

总之,插值是根据已知的去推测未知,X,Y是已知的位置,XI,YI是未知的位置(当然也可以包含已知点,I表示Interp,实际命名已经很清楚了)

下面,是一个copy的例子:

(这里,为了更清楚的观测原始数据和插值数据之间的关系,我把它画出来应该更直观一些......)

 
  1. years = 1950:10:1990;

  2. service = 10:10:30;

  3. wage = [ 150.697 199.592 187.625 179.323 195.072; 250.287 203.212 179.092 322.767 226.505;153.706 426.730 249.633 120.281 598.243];

  4. [X, Y] = meshgrid(years, service);

  5. % % 三维曲线

  6. % plot3(X, Y, wage)

  7. % 三维曲面

  8. figure

  9. surf(X, Y, wage)

  10. w = interp2(service,years,wage,15,1975);



插值结果为:

 w = 190.6288

(自加:

空间插值常用于将离散点的测量数据转换为连续的数据曲面,以便与其他空间现象的分布模式进行比较,它包括的空间内插和外推两种算法。

      空间内插算法:通过已知点的数据推求同一区域的其他未知点的数据;

      空间外推算法:通过已知区域的数据推求其他区域的数据;

空间插值主要有三个方面的意义:

 

  1. 缺省估计:如何在没有测点的地区得到我们需要的数据,或者由于自然或人为的原因,缺少某天或某个时段的数据。
  2. 内插等值线:形象直观地显示空间数据分布平面等值线图。
  3. 数据格网化:以不规则点图元组织的Z变量的数据,并不适用于图形显示,也不适用与分析。多数空间分析要求将Z值转化为一个规则间距空间格网,或者转化成不规则三角形网。规则格网数据能更好的显示空间数据连续分布。

转自https://blog.csdn.net/sgfmby1994/article/details/52598270

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值