在Matlab论坛看到的,搬运过来,让更多的人学习到!
2013b 中已经没有 griddata3 了,统一为了 griddata,它能同时支持 2-D和3-D内插 (也就是已经包含了旧版本里的 griddata3 的功能)。请查看:http://www.mathworks.com/help/matlab/ref/griddata.html
另外 n >= 2 维的内插有一个新函数叫 griddatan,前面的 griddata 是 griddatan 取 n = 2 和 3 的两种特殊情形。griddatan 请参考:http://www.mathworks.com/help/matlab/ref/griddatan.html
还有一个TriScatteredInterp,同时支持 2-D 和 3-D 内插, 其效率比 griddata 更高,而且使用也更方便,因为它是返回的是一个内插式 (interpolant ) F, 类似函数句柄的东西 (但并非严格意义上的函数句柄),利用 F,可以直接计算网格点上的函数值。关于 TriScatteredInterp 的用法,请参考:http://www.mathworks.com/help/matlab/ref/triscatteredinterpclass.html?searchHighlight=TriScatteredInterp
不过,尽管 TriScatteredInterp 已经比 griddata 更有优势了,但是它在将来某个新版本中会被remove掉(参考至2013b的help文档:Note: TriScatteredInterp will be removed in a futurerelease. Use scatteredInterpolant instead.),取而代之的会是下面两个更强大的函数: scatteredInterpolant 和 griddedInterpolant
2012 里新增两个很有用的内插函数,scatteredInterpolant 和 griddedInterpolant,其中,scatteredInterpolant 支持 2-D 和 3-D 内插,就像 griddata/TriScatteredInterp 一样,但是功能更强大,它也是返回一个内插式 F(interpolant ),然后根据 F 可以求出内插点的函数值。请查看 http://www.mathworks.com/help/matlab/ref/scatteredinterpolantclass.html
griddedInterpolant 支持 n-D 内插,n = 1,2,3,4,5,。。。,这个类似于 griddatan,但功能更强大,它也是返回一个内插式 F(interpolant ),可以直接用F求内插点的函数值。请查看:http://www.mathworks.com/help/matlab/ref/griddedinterpolantclass.html
除了以上函数,再加上你列举的 interp1,interp2,interp3,应该就是matlab里全部主流内插函数了