MATLAB中的二维插值函数为interp2();
函数格式为:
(1) ZI = interp2(X,Y,Z,XI,YI)
返回矩阵ZI,其元素包含对应于参量XI 与YI(可以是向量、或同型矩阵) 的元素, 即Zi(i,j) ←[Xi(i,j),yi(i,j)]。用户可以输入行向量和列向量Xi 与Yi,此时,输出向量Zi 与矩阵meshgrid(xi,yi)是同型的。同时取决于由输入矩阵X、Y 与Z 确定的二维函数Z=f(X,Y)。参量X 与Y 必须是单调的,且相同的划分格式,就像由命令meshgrid 生成的一样。若Xi与Yi 中有在X 与Y范围之外的点,则相应地返回NaN(Not a Number)。
特别注意:如果Z是二维矩阵,它有M行N列,则此时X=1:N,Y=I:M;而XI=(1:x:N)',YI=1:x:M;其中x为插值间隔。
(2)ZI = interp2(X,Y,Z,XI,YI,method)
用指定的算法method 计算二维插值:
’linear’:双线性插值算法(默认算法);
’nearest’:最临近插值;
’spline’:三次样条插值;
’cubic’:双三次插值。