代码及说明:
clear
%x、y 和 v 是包含分散(非均匀)样本点和数据的向量
x = rand(1,100);
y = rand(1,100);
v = x.^2+2*y.^2-x+y-2.*x.*y;
%定义一个规则网格并在该网格上插入散点数据。
[xq,yq] = meshgrid(linspace(min(x),max(x)),linspace(min(y),max(y)));
vq = griddata(x,y,v,xq,yq);
%将网格数据绘制为网格,将散点数据绘制为点。
mesh(xq,yq,vq)
hold on
plot3(x,y,v,'*')
结果:

注意:griddata函数是基于散乱数据点生成局部区域的插值,是“内插”的,即插值点必须处于输入样本x和y的”包围“状态中,否则就会报NaN插值结果。
本文介绍如何使用MATLAB的griddata函数对非均匀分布的散点数据进行插值,生成规则网格上的数据,并利用mesh函数绘制网格图。同时,通过plot3函数展示原始散点数据,实现数据可视化。
1万+





