matlab中的interp2插值函数
interp2
功能 二维数据内插值
格式
(1)ZI = interp2(X,Y,Z,XI,YI)
小白一枚,转自:https://blog.csdn.net/sgfmby1994/article/details/52598270,感谢总结,为方便学习自己转过来了
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的例子:
(这里,为了更清楚的观测原始数据和插值数据之间的关系,我把它画出来应该更直观一些……)
years = 1950:10:1990;
service = 10:10:30;
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];
[X, Y] = meshgrid(years, service);
% % 三维曲线
% plot3(X, Y, wage)
% 三维曲面
figure
surf(X, Y, wage)
w = interp2(service,years,wage,15,1975);
插值结果为:
w = 190.6288
今天的文章matlab interp2 外插,MATLAB之interp2插值函数分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/27855.html