matlab 中的interp1

为了试一试interp1函数:

function tryon
y=[2,3,4];
x=[1,2,3];
z=interp1(x,y,2.9,method,'extrap')
结果:
??? Undefined function or variable 'method'.
何故?

z=interp1(x,y,4,method,'extrap')

y=[2,3,4];
x=[1,2,3];

是这样的:
插值分内插和外插。
如果要求xx对应的yy的值,若此xx在你的x范围内,应当算是内插。比如2.9就是在x=[1,2,3]内,它应当是内插。内插matlab有好多种方法。
以下几个都可以。
z=interp1(x,y,2.9,'nearest')
z=interp1(x,y,2.9,'linear')
z=interp1(x,y,2.9,'spline')
z=interp1(x,y,2.9,'cubic')

如果要求4对应的函数值,那么应当算是外插。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-07
在帮助文件里面提到 method是取以下五个中的一个的

'nearest'Nearest neighbor interpolation
'linear'Linear interpolation (default)
'spline'Cubic spline interpolation
'pchip'Piecewise cubic Hermite interpolation
'cubic'(Same as 'pchip')
'v5cubic'Cubic interpolation used in MATLAB 5. This method does not extrapolate. Also, if x is not equally spaced, 'spline' is used
默认是linear,可以用[]代替本回答被提问者采纳
第2个回答  2009-08-03
1111

参考资料:111

相似回答