欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【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,'*')

结果:
【MATLAB编程实例练习】-(18)已知三维坐标画出三维曲面图
注意:griddata函数是基于散乱数据点生成局部区域的插值,是“内插”的,即插值点必须处于输入样本x和y的”包围“状态中,否则就会报NaN插值结果。