interp1one_dimension interpolation functionCalling Sequence[yp]=interp1(x, y,xp [, method,[extrapolation]])Argumentsxpreals scalar, vector or matrix (or hypermatrix)xreals vectormethod(optional) string defining the interpolation methodextrapolation(optional) string, or real value defining the yp(j) components
for xp(j) values outside [x1,xn] interval.
ypvector, or matrix (or hypermatrix)Description
Given (x,y,xp), this function performs the yp
components corresponding to xp by the interpolation(linear by default)
defined by x and y.
If yp is a vector then the length of xp is equal
to the length of yp, if yp is a
matrix then xp have the same length than the length of
each columns of yp, if yp is a hypermatrix then the
length of xp have the same length than the first
dimension of yp. If size(y)=[C,M1,M2,M3,...,Mj] and size(xp)=[N1,N2,N3,...,Nk] then
size(yp)=[N1,N2,..,Nk,M1,M2,...Mj] and length of x must be equal to
size(y,1)
The method parameter sets the evaluation rule for
interpolation
"linear"
the interpolation is defined by linear method (see interpln)
"spline"the interpolation is defined by cubic spline interpolation (
see splin , interp)
"nearest"for each value xp(j), yp(j) takes the value or y(i)
corresponding to x(i) the nearest neighbor of xp(j)
The extrapolation parameter sets the evaluation
rule for extrapolation, i.e for xp(i) not in [x1,xn]
interval
"extrap"the extrapolation is performed by the defined method.
yp=interp1(x,y,xp,method,"extrap")
real valueyou can choose a real value for extrapolation, in this way
yp(i) takes this value for xp(i) not in [x1,xn] interval, for
example 0 (but also nan or inf). yi=interp1(x,y,xp,method, 0)
by defaultthe extrapolation is performed by the defined method (for
spline method), and by nan for linear and nearest methods.
yp=interp1(x,y,xp,method)
Examples
x=linspace(0,3,20);
y=x.^2;
xx=linspace(0,3,100);
yy1=interp1(x,y,xx,'linear');
yy2=interp1(x,y,xx,'spline');
yy3=interp1(x,y,xx,'nearest');
plot(xx',[yy1;yy2;yy3]',x,y,'*')
xtitle('interpolation of square function')
legend(['linear','spline','nearest'],a=2)
See Also
interp
interpln
splin
History5.4.0previously, imaginary part of input arguments were implicitly ignored.