主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

ndgrid

N 维空间中的矩形网格

说明

[X1,X2,...,Xn] = ndgrid(x1,x2,...,xn) 复制网格向量 x1,x2,...,xn 以生成 n 维满网格。

示例

[X1,X2,...,Xn] = ndgrid(xg) 指定对所有维度使用单一网格向量 xg。您指定的输出参量的数目决定输出的维度 n

示例

全部折叠

根据向量 [1 3 5 7 9 11 13 15 17 19][2 4 6 8 10 12] 创建一个二维网格。

[X,Y] = ndgrid(1:2:19,2:2:12)
X = 10×6

     1     1     1     1     1     1
     3     3     3     3     3     3
     5     5     5     5     5     5
     7     7     7     7     7     7
     9     9     9     9     9     9
    11    11    11    11    11    11
    13    13    13    13    13    13
    15    15    15    15    15    15
    17    17    17    17    17    17
    19    19    19    19    19    19

Y = 10×6

     2     4     6     8    10    12
     2     4     6     8    10    12
     2     4     6     8    10    12
     2     4     6     8    10    12
     2     4     6     8    10    12
     2     4     6     8    10    12
     2     4     6     8    10    12
     2     4     6     8    10    12
     2     4     6     8    10    12
     2     4     6     8    10    12

创建一个矩形网格,并计算网格上的函数值。在指定的值之间插值以细化网格。

(x,y) 创建一个粗网格,其中 x 的范围是 [-6,6]y 的范围是 [-3,3]

[X,Y] = ndgrid(-6:0.5:6,-3:0.5:3);

计算在网格中定义的位置上的函数值。然后,使用曲面图可视化该函数。从 R2016b 开始,您也可以对此任务使用隐式扩展。

f = sin(X.^2) .* cos(Y.^2);
surf(Y,X,f)

Figure contains an axes object. The axes object contains an object of type surface.

在更精细的网格 (Xq,Yq) 上的点之间进行插值。然后,使用曲面图可视化插值。

[Xq,Yq] = ndgrid(-6:0.125:6,-3:0.125:3);
F = interpn(X,Y,f,Xq,Yq,"spline");
surf(Yq,Xq,F)

Figure contains an axes object. The axes object contains an object of type surface.

输入参数

全部折叠

网格向量,指定为包含每个维度的网格坐标的向量。网格向量隐式定义了网格。例如在二维空间中:

Grid vectors implicitly define a full grid

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
复数支持:

所有维度的网格向量,指定为包含网格坐标的向量。ndgrid 使用 xg 作为每个维度的网格向量。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
复数支持:

输出参量

全部折叠

完整网格表示,以单独的数组形式返回。对于每个输出数组 Xi,第 i 维包含网格向量 xi 的副本。

详细信息

全部折叠

扩展功能

全部展开

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2006a 之前推出