MATLAB中interp2参数使用指南

本文源于《数学建模》,interp2函数是matlab中的二维插值,下面用一个网格测量温度的例子讲解interp2函数如何使用吧。

一、例子:网格温度分布

MATLAB中interp2参数使用指南_第1张图片
题目中分布曲面的图形画出来,效果是这样子的:

MATLAB中interp2参数使用指南_第2张图片

>> x=1:5;
>> y = 1:3;
>> temps = [82 81 80 82 84;79 63 61 65 81;84 84 82 85 86];
>> mesh(x,y,temps)

从图中可以看出,图形并不是光滑的。我们可以使用二维插值函数进行插值,将其图形变得光滑。那么二维插值函数如何使用呢?我们先使用(以0.2为单位进行作图),再讲解
MATLAB中interp2参数使用指南_第3张图片

>> x=1:5;
>> y = 1:3;
>> temps = [82 81 80 82 84;79 63 61 65 81;84 84 82 85 86];
>> xi = 1:.2:5;
>> y1 = 1:.2:3;
>> zzi = interp2(x,y,temps,xi',y1,'cubic');
>> mesh(xi,y1,zi);

上图中可以发现,曲面一下子变得平滑许多。那么interp2函数参数如何填呢?

二、interp2函数参数使用指南

z =interp2(x0,y0,x,y,'method')
  • x0 插值节点x坐标
  • y0 插值节点y坐标
  • z0 插值节点z坐标
  • x 被插值节点x坐标
  • y 被插值节点y坐标
  • method是插值的方法,例如有:

n e a r e s t : 最 邻 近 插 值 l i n e a r : 双 线 性 插 值 s p l i n e : 三 次 样 条 插 值 c u b i c : 双 三 次 插 值 缺 省 时 : 双 线 性 插 值 nearest: 最邻近插值\\ linear :双线性插值\\ spline :三次样条插值\\ cubic :双三次插值\\ 缺省时 :双线性插值\\ nearest:linear:线spline:cubic::线
同样也有要求:

  1. x0,y0单调
  2. x,y可取为同型矩阵,或一个取行向量,一个取列向量(难理解,可看上面例子)
  3. x,y的值分别不超过x0,y0的范围

三、总结

通过interp2函数参数学习,我们不仅掌握了其参数用法,而且还对二维插值如何将不光滑的曲面变成光滑的曲面,这一点是颇为惊奇的。真是一个不错的好文章,方便收藏!

你可能感兴趣的:(数学建模,matlab,数学建模)