MatLab函数meshgrid、ndgrid

【注】详情请参阅 MatLab help 文档

1. meshgrid

1.1 作用

meshgrid 函数用于生成二维或三维网络坐标。

1.2 语法

1
2
3
4
[X,Y] = meshgrid(x,y)
[X,Y] = meshgrid(x)
[X,Y,Z] = meshgrid(x,y,z)
[X,Y,Z] = meshgrid(x)
  • [X,Y] = meshgrid(x,y)
    基于 x、y 坐标向量返回二维网络点对应的坐标矩阵。X、Y 为网络点对应维度的坐标矩阵,其中 X 每一行为 x 的一个副本,Y 每一列为 y 的一个副本。且 size(X) = size(Y) = [length(y),length(x)] 。

  • [X,Y] = meshgrid(x)
    该语法等价于 [X,Y] = meshgrid(x,x),由上述语法可知,该语法返回网格大小为 length(x)×\timeslength(x) 的方形网格坐标。

  • [X,Y,Z] = meshgrid(x,y,z)
    基于 x、y、z 坐标向量返回三维网络点对应的坐标矩阵。X、Y、Z 为网络点对应维度的坐标矩阵,其中 X 沿第二维度(行)均为 x 的副本,Y 沿第一维度(列)均为 y 的副本,Z 沿第三维度均为 z 的副本。且 size(X) = size(Y) = size(Z) = [length(y),length(x),length(z)] 。

  • [X,Y,Z] = meshgrid(x)
    该语法等价于 [X,Y,Z] = meshgrid(x,x,x),由上述语法可知,该语法返回网格大小为 length(x)×\timeslength(x)×\timeslength(x) 的三维网格坐标。

2. ndgrid

2.1 作用

ndgrid 函数用于生成 n 维空间中的矩形网络坐标。
【注】ndgrid 和 meshgrid 生成网络坐标的区别在于对第一、二维度的处理。

2.2 语法

1
2
[X1,X2,...,Xn] = ndgrid(x1,x2,...,xn)
[X1,X2,...,Xn] = ndgrid(xg)
  • [X1,X2,...,Xn] = ndgrid(x1,x2,...,xn)
    基于 x1、x2、\cdots、xn 坐标向量返回 n 维网络点对应的坐标矩阵。X1、X2、\cdots、Xn 为网络点对应维度的坐标矩阵,其中 X1 沿第一维均为 x1 的副本,X2 沿第二维度均为 x2 的副本,\cdots,Xn 沿第 n 维度均为 xn 的副本。且 size(X1) = size(X2) = \cdots = size(Xn) = [length(x1),length(x2),\cdots,length(xn)] 。

  • [X1,X2,...,Xn] = ndgrid(xg)
    该语法等价于 [X1,X2,...,Xn] = ndgrid(xg,xg,\cdots,xg),共 n 个 xg 向量。由上述语法可知,该语法返回网格大小为 length(xg)×\timeslength(xg)×\times \cdots ×\timeslength(xg) 的 n 维网格坐标。