【MATLAB编程实例练习】-(18)已知三维坐标画出三维曲面图
程序员文章站
2022-04-15 20:37:53
...
代码及说明:
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插值结果。