主要内容

meshgrid

二维和三维网格

描述

例子

X,Y) = meshgrid (x,y返回基于向量中包含的坐标的二维网格坐标xyX是不是一个矩阵,其中每一行都是x,Y是不是每个列都是副本的矩阵y.用坐标表示的网格XY长度(y)行和长度(x)列。

例子

X,Y) = meshgrid (x是一样的(X, Y) = meshgrid (X, X),返回带有网格大小的方形网格坐标长度(x)——- - - - - -长度(x)

例子

X,Y,Z) = meshgrid (x,y,z返回由向量定义的三维网格坐标x,y,z.表示为X,Y,Z有大小长度(y)——- - - - - -长度(x)——- - - - - -长度(z)

例子

X,Y,Z) = meshgrid (x是一样的[X, Y, Z] = meshgrid (X, X, X),返回带有网格大小的三维网格坐标长度(x)——- - - - - -长度(x)——- - - - - -长度(x)

例子

全部折叠

创建2-D网格坐标x-由向量定义的坐标xy-由向量定义的坐标y

x = 1:3;y = 1:5;(X, Y) = meshgrid (X, Y)
X =5×31 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
Y =5×31 1 1 2 2 2 3 3 3 4 4 4 5 5 5

对表达式求值 x 2 + y 2 在二维网格上。

x ^ 2 + y ^ 2
ans =5×325 10 5 8 13 10 13 18 17 20 25 26 29 34

创建一个均匀间隔的二维网格x坐标和y-坐标在区间[-2,2]中。

x = 2:0.25:2;y = x;(X, Y) = meshgrid (X);

计算并绘制函数 f x , y x e - x 2 - y 2 在二维网格上。

F = x * exp (- x ^ 2 y ^ 2);冲浪(X, Y, F)

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

从R2016b开始,并不总是需要在运行网格之前创建网格。例如,计算表达式 x e - x 2 - y 2 隐式展开向量xy.有关隐式展开的更多信息,请参见数组与矩阵操作

冲浪(x, y, x。* exp (- x ^ 2 - (y) ^ 2))。

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

创建三维网格坐标x-,y- - - - - -,z在区间[0,6]中定义的-坐标,并计算表达式 x 2 + y 2 + z 2

x = 0:2:6;y = 0:1:6;z = 0:3:6;[X, Y, Z] = meshgrid (X, Y, Z);F = x ^2 + y ^2 + z ^2;

确定网格的大小。三个坐标向量的长度不同,形成一个网格点的矩形框。

gridsize =大小(F)
gridsize =1×37 4 3

使用单输入语法根据定义的坐标生成均匀间隔的三维网格x.新的网格形成了网格点的立方体。

[X, Y, Z] = meshgrid (X);x ^2 + y ^2 + z ^2;gridsize =大小(G)
gridsize =1×34 4 4

输入参数

全部折叠

点的x坐标,指定为向量。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

点的y坐标,指定为向量。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

点的z坐标,指定为向量。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输出参数

全部折叠

网格上的x坐标,返回为2-D(两个输入)或3-D数组(三个输入)。

网格上的y坐标,返回为2-D(两个输入)或3-D数组(三个输入)。

网格上的z坐标,以三维数组的形式返回。

更多关于

全部折叠

之间的转换meshgridndgrid格式

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

您可以使用以下方法在这些网格格式之间进行转换pagetranspose的R2020b)或交换交换网格数组的前两个维度。例如,创建一个三维网格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++代码。

GPU的代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。

之前介绍过的R2006a