MATLAB 数组函数参考

MATLAB meshgrid 由两个一维网格向量生成二维坐标矩阵,供 surf、mesh 或二元函数在平面上取样。

语法

[X, Y] = meshgrid(x, y)
[X, Y] = meshgrid(x)          % x 与 y 使用同一向量

输入参数

参数说明
x横向取样点,通常为行向量
y纵向取样点,通常为行向量

输出

X、Y 与结果网格同尺寸:X 沿行方向变化,Y 沿列方向变化。二元表达式应对 X、Y 使用点运算。

示例

[X, Y] = meshgrid(1:3, 10:12);
X
Y
X =
     1     2     3
     1     2     3
     1     2     3
Y =
    10    10    10
    11    11    11
    12    12    12

计算 z = x2 + y2 并画曲面:

[X, Y] = meshgrid(linspace(-2, 2, 40));
Z = X.^2 + Y.^2;
surf(X, Y, Z)

注意事项

  • 必须写 X.^2 这类点运算。写成 X^2 会按矩阵乘方处理,尺寸不满足时会报错。
  • 三维网格使用 ndgrid 或 meshgrid 的三输出形式,维数约定与 ndgrid 不完全相同。