griddata的作bai用是数据网格化。其一般用du法格式为
ZI = griddata(x,y,z,XI,YI) %x、y、z——数据,XI,YI——X-Y平面上的zhi网格数据
应用实例:dao
>>x = rand(100,1)*4-2; y = rand(100,1)*4-2;
>>z = x.*exp(-x.^2-y.^2);
>>ti = -2:.25:2;
>>[XI,YI] = meshgrid(ti,ti);
>>ZI = griddata(x,y,z,XI,YI);
>>mesh(XI,YI,ZI), hold
>>plot3(x,y,z,'o'), hold off
>> xlabel('x'),ylabel('y'),zlabel('z')
功能 数据格点
格式
(1)ZI = griddata(x,y,z,XI,YI)
用二元函数z=f(x,y)的曲面拟合有不规则的数据向量x,y,z。griddata 将返回曲面z 在点(XI,YI)处的插值。曲面总是经过这些数据点(x,y,z)的。输入参量(XI,YI)通常是规则的格点(像用命令meshgrid 生成的一样)。XI 可以是一行向量,这时XI 指定一有常数列向量的矩阵。类似地,YI 可以是一列向量,它指定一有常数行向量的矩阵。
(2)[XI,YI,ZI] = griddata(x,y,z,xi,yi)
返回的矩阵ZI 含义同上,同时,返回的矩阵XI,YI 是由行向量xi 与列向量yi 用命令meshgrid 生成的。
(3)[XI,YI,ZI] = griddata(.......,method)
用指定的算法method 计算:
‘linear’:基于三角形的线性插值(缺省算法);
‘cubic’: 基于三角形的三次插值;
‘nearest’:最邻近插值法;
‘v4’:MATLAB 4 中的griddata 算法。
插入二维或三维散点数据全页折叠
语法
vq = griddata(x,y,v,xq,yq)
vq = griddata(x,y,z,v,xq,yq,zq)
vq = griddata(___,method)
说明
示例
vq = griddata(x,y,v,xq,yq) 使 v = f(x,y) 形式的曲面与向量 (x,y,v) 中的散点数据拟合。griddata 函数在 (xq,yq) 指定的查询点对曲面进行插值并返回插入的值 vq。曲面始终穿过 x 和 y 定义的数据点。
示例
vq = griddata(x,y,z,v,xq,yq,zq) 拟合 v = f(x,y,z) 形式的超曲面。
vq = griddata(___,method) 使用上述语法中的任何输入参数指定计算 vq 所用的插值方法。method 可以是 'linear'、'nearest'、'natural'、'cubic' 或 'v4'。默认方法为 'linear'。
注意论文网
不再支持特定于 Qhull 的选项。在您的代码中,请从向 griddata 传递 options 参数的所有实例中删除该参数。
在以后的版本中,griddata 不会接受混合方向的任何输入向量。此外,还将删除以下语法:
[Xq,Yq,Vq] = griddata(x,y,v,xq,yq)
[Xq,Yq,Vq] = griddata(x,y,v,xq,yq, method)
要指定查询点网格,请用 ndgrid 或 meshgrid 构造一个完整网格,然后调用 griddata。
示例
全部折叠
在均匀网格上插入散点数据
View MATLAB Command
在均匀的查询点网格上插入随机分布的散点数据。
对函数介于 -2.5 和 2.5 之间的 200 个随机点采样。
xy = -2.5 + 5*gallery('uniformdata',[200 2],0);
x = xy(:,1);
y = xy(:,2);
v = x.*exp(-x.^2-y.^2);
x、y 和 v 是包含分散(非均匀)样本点和数据的向量。