Matlab是一门功能强大的语言,不过一直地位尴尬,不冷不热。尽管很多学生都跟它打过交道,但大多浅尝辄止,用完完事。
写这篇文章缘于我昨天接了一张matlab的三维模型的外包,出图的时候用了插值算法。在与同学朋友交流的过程中,我发现身边的很多大佬都不了解matlab里的这个很实用的插值命令。关于这方面,网络上也没有讲的很详细的文章,这才斗胆来置喙。
1.什么是插值:
学过离散数学的人应该都知道插值的定义。这里简单地介绍一下插值的概念:
在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。(百 度百科定义)
· 用一个简单的方式讲:
插值方法可以将给定的一些孤立数据点拟合成一个完整的函数。
插值实现的方法很多,例如多项式(牛顿插值),埃尔米特,样条插值,高斯三角插值,分段插值等。如果对插值有兴趣又不想太深入了解,可以仅搜索一下牛顿插值的推理。
2.Matlab的interp2命令:
interp是matlab自带的插值函数,我们将用这个函数来画我们的三维模型。使用时候可以自己定义想要以实现插值的方式。interp1是对一维数据的插值,本文只讲述针对二维数据的插值命令interp2。
Interp2官方文档介绍(截取):
Vq = interp2(X,Y,V,Xq,Yq) interpolates to find Vq, the values of theunderlying 2-D function