主要内容

meshgrid

2-D和3-D网格

描述

例子

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

例子

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

例子

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

例子

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

例子

全部折叠

创建二维网格坐标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 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)

图中包含一个轴。轴包含一个曲面类型的对象。

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

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

图中包含一个轴。轴包含一个曲面类型的对象。

创建3-D网格坐标x-,y- - - - - -,z-coordinates在区间[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

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

[X, Y, Z] = meshgrid (X);G = 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坐标,返回为二维(两个输入)或三维数组(三个输入)。

网格上的y坐标,作为2-D(两个输入)或3-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);= (Xt,Xn) = (Yt,Yn) = (Zt,Zn)
逻辑1

使用pagetranspose等价于排列前两个维度,而保持其他维度不变。也可以使用交换(X, [2 1 3: ndims (X)))

扩展功能

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

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

之前介绍过的R2006a