matlab_创建网格绘制三维图_meshgrid

当已知一维数据x,y以及关于z的函数表达式时,我们可以通过meshgrid函数创建网格绘制三维图

[X,Y] = meshgrid(x,y) 把一维的 xy 扩充成二维网格坐标X,Y。X 是一个矩阵,每一行是 x 的一个副本;Y 也是一个矩阵,每一列是 y 的一个副本,如:

x = 1:3;
y = 1:5;
[X,Y] = meshgrid(x,y)
%生成的X、Y如下:
X = 5×3

     1     2     3
     1     2     3
     1     2     3
     1     2     3
     1     2     3

Y = 5×3

     1     1     1
     2     2     2
     3     3     3
     4     4     4
     5     5     5

下面看一个例子:

x = -2:0.25:2;
y = x;
[X,Y] = meshgrid(x);
Z = X.*exp(-X.^2-Y.^2);
surf(X,Y,Z)

效果如下:

matlab_创建网格绘制三维图_meshgrid_第1张图片

凡事都要具体情况具体分析,当我们不知道z的函数式,却已知x,y,z这三个一维数组时,这种情况就可以用差值的方法绘制三维图。我的另一篇博客详述了插值函数griddata,并配有用例源码效果图。

你可能感兴趣的:(MATLAB,具体函数应用)