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
YX =
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不完全相同。