ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

MATLAB中的meshgrid和ndgrid

2026/8/6 5:24:48 拓冰建站 浏览量
MATLAB中的meshgrid和ndgrid

MATLAB中的meshgrid和ndgrid

在 MATLAB 中, meshgrid 和 ndgrid 都是用来将一维向量转换为多维网格矩阵的函数, 以便计算二元或多元函数(如z = f ( x , y ) z = f(x, y)z=f(x,y)). 虽然它们生成的坐标点组合是完全一样的, 但在矩阵的维度排列顺序上却截然不同.

% 定义两个一维向量x=[1,2,3];% 长度为 3 (代表 x 轴坐标)y=[4,5];% 长度为 2 (代表 y 轴坐标)% -------------------------% 1. 使用 meshgrid% -------------------------[X_mesh,Y_mesh]=meshgrid(x,y);% -------------------------% 2. 使用 ndgrid% -------------------------[X_nd,Y_nd]=ndgrid(x,y);

运行结果

>> X_mesh X_mesh = 1 2 3 1 2 3 >> Y_mesh Y_mesh = 4 4 4 5 5 5
>> X_nd X_nd = 1 1 2 2 3 3 >> Y_nd Y_nd = 4 5 4 5 4 5

输出结果对比

meshgrid 的输出结果:
生成的矩阵大小是 2 × 3 (即 length(y) × length(x)).

X_mesh 的每一行都是向量 x 的复制.

Y_mesh 的每一列都是向量 y 的复制.

ndgrid 的输出结果:
生成的矩阵大小是 3 × 2 (即 length(x) × length(y)).

X_nd 的每一列都是向量 x 的复制.

Y_nd 的每一行都是向量 y 的复制.

相关参考

ndgrid 和 meshgrid 函数-Matlab_matlab ndgrid函数-CSDN博客