MATLAB散乱点插值函数 griddata函数 语法: ZI = griddata(x,y,z,XI,YI) [XI,YI,ZI] = griddata(x,y,z,XI,YI) [...] = griddata(...,method) [...] = griddata(...,method,options) 说明: ZI = griddata(x,y,z,XI,YI) 调整形如z = f(x,y)的曲面,使之与非等间距矢量(x,y,z)中的数据吻合。griddata 函数在指定的(XI,YI)点处插补此曲面,生成ZI. 此曲面一培厅租定通过这些数据点伏雀。 XI 和 YI 通常构成均匀网格(与meshgrid函数生成的相同). XI 可以是行矢量,这种情况下该矢量确定一个具有固定列数的矩阵。与之类似,配兆YI 可以是列矢量,确定一个具有固定行数的矩阵。 [XI,YI,ZI] = griddata(x,y,z,XI,YI) 函数返回与上述矩阵相同的插补后的矩阵ZI。并返回由行矢量XI和列矢量yi形成的矩阵XI 和YI. 后者与meshgrid 函数返回的矩阵相同。 [...] = griddata(...,method)使用规定的插补方法: 'linear' 基于三角形的线性插补法(缺省) 'cubic' 基于三角形的三次插补法 'nearest' 最近邻居插补法 'v4' MATLAB 4 griddata方法。 这些方法定义了匹配数据点的曲面类型。'cubic' 和 'v4' 方法生成平滑曲面,而 'linear' 和 'nearest' 分别具有一阶导数和零阶导数不连续。除'v4' 外所有方法基于数据的三角化。如果方法为[], 则使用缺省的'linear' 方法。 [...] = griddata(...,method,options)指定一串将通过delaunayn函数在Qhull中使用的单元阵列选项. 如果选项为 [], 则使用缺省的三角化选项。如果选项为{''}, 不使用任何选项,包括缺省选项。有时,griddata 函数可能将位于数据凸壳上或靠近凸壳的点返回为NaNs。这是因为有时计算中的圆整处理使得很难确定一个靠近边界的点是否处于凸壳内。 算法: griddata(...,'v4') 命令使用 [3] 中文档化的方法。其他griddata方法基于使用Qhull [2] 的数据三角化。 实例: 对一个函数在±2.0范围内随机采样100点: rand('seed',0) x = rand(100,1)*4-2; y = rand(100,1)*4-2; z = x.*exp(-x.^2-y.^2); x, y, 和 z 均为包含非均匀采样数据的矢量。定义一个规范的网格,将数据与网格匹配: ti = -2:.25:2; [XI,YI] = meshgrid(ti,ti); ZI = griddata(x,y,z,XI,YI); Plot the gridded data along with the nonuniform data points used to generate it: mesh(XI,YI,ZI), hold plot3(x,y,z,'o'), hold