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博客