主要内容

ndgrid

N-D空间中的矩形网格

描述

例子

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×611 11 13 3 3 3 3 5 5 5 5 5 5 7 7 7 7 7 7 7 9 9 9 9 11 11 11 11 11 11 13 13 13 13 13 13 13 13 15 15 15 17 17 17 19 19 19 19 19
Y =10×62 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 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 2 4 6 8 10 12

求函数值并画出曲线

xgydF4y2Ba 1 e - xgydF4y2Ba 1 2 - xgydF4y2Ba 2 2

在网格域上

- 2 < xgydF4y2Ba 1 < 2 而且 - 2 < xgydF4y2Ba 2 < 2

为域创建一个值网格。

(X1, X2) = ndgrid (2: .2:2);

求函数在定义域上的值。

Z = X1. * exp(-X1。^ 2 - X2。^ 2);

生成函数的网格图。

网格(X1, X2, Z)

图中包含一个axes对象。axis对象包含一个类型为surface的对象。

在R2016b和后续版本中,此任务不需要使用ndgrid.相反,你可以使用以下命令使用隐式展开来构建网格:

x = 2: .2:2;

Z1 = x。”。(* exp () - x”。。^ 2 - x ^ 2);

创建一个2-D网格,并在网格上计算一些函数值。在指定值之间插入以优化网格。

创建一个粗糙的网格 xgydF4y2Ba y 范围内 - 5 5

(X, Y) = ndgrid (5:0.5:5);

在网格上计算一些函数值并绘制函数图。

f = sin(x ^2) * cos(y ^2);冲浪(X, Y, f)

图中包含一个axes对象。axis对象包含一个类型为surface的对象。

使用更精细的网格在点之间插值并绘制结果。

(X1, Y1) = ndgrid (5:0.125:5);F = interpn (X, Y, F (X1, Y1,样条的);
冲浪(X1, Y1, F)

图中包含一个axes对象。axis对象包含一个类型为surface的对象。

输入参数

全部折叠

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

网格向量隐式地定义了一个完整的网格

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

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

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

输出参数

全部折叠

完整的网格表示,作为单独的数组返回。对于每个输出数组西,维度包含网格向量的副本西

更多关于

全部折叠

之间的转换meshgrid而且ndgrid格式

meshgrid而且ndgrid使用不同的输出格式创建网格。具体来说,使用这些函数之一创建的网格的前两个维度在与其他网格格式比较时被交换。一些MATLAB®函数在中使用网格meshgrid格式化,而其他人使用ndgrid格式,因此通常在两种格式之间转换网格。

您可以使用pagetranspose的R2020b)或交换交换网格数组的前两个维度。例如,创建一个3d网格meshgrid

[X, Y, Z] = meshgrid (1:4, 1:3, 1:2);

现在转置每个网格数组的前两个维度,将网格转换为ndgrid格式化,并将结果与来自的输出进行比较ndgrid

Xt = pagetranspose (X);欧美= pagetranspose (Y);Zt型= pagetranspose (Z);[Xn、Yn、锌]= ndgrid (1:4, 1:3, 1:2);isequal(Xt,Xn) & isequal(Yt,Yn) & isequal(Zt,Zn)
符合逻辑的1

使用pagetranspose相当于在保持其他维度不变的情况下排列前两个维度。您也可以使用交换(X, [2 1 3: ndims (X)))

扩展功能

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

版本历史

之前介绍过的R2006a

Baidu
map