MATLAB 中的 meshgrid() 函数
Ammar Ali
2024年2月15日
本教程将讨论使用 Matlab 中的 meshgrid()
函数创建网格。
使用 MATLAB 中的 meshgrid()
函数创建网格
为了在 Matlab 中创建 2D 和 3D 网格,我们可以使用 Matlab 的内置函数 meshgrid()
。在 Matlab 中,网格用于在 3D 平面上绘制数据。要在 3D 平面上绘制向量或矩阵,我们必须使用 meshgrid()
函数创建 2D 或 3D 网格。在 2D 图中,我们将 x 和 y 坐标作为向量传递,但在 3D 中,我们必须传递矩阵而不是向量。我们可以使用 meshgrid()
函数将向量转换为矩阵,这些矩阵将用于在 3D 平面中绘制数据。例如,让我们使用 meshgrid()
函数将包含 x 和 y 坐标的两个向量转换为矩阵。请参阅下面的代码。
clc
x = 1:4
y = 1:6
[X,Y] = meshgrid(x,y)
输出:
x =
1 2 3 4
y =
1 2 3 4 5 6
X =
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
Y =
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
5 5 5 5
6 6 6 6
在输出中,我们可以看到小 x 和 y 与大写 X 和 Y 之间的区别。我们不能使用小 x 和 y 坐标在 3D 平面中绘制数据,但可以使用大写的 X 和 Y 坐标进行绘制 3D 平面中的数据。例如,让我们使用 X 和 Y 坐标以及 surf()
函数创建一个要在 3D 平面上绘图的向量。请参阅下面的代码。
clc
x = 1:4;
y = 1:6;
[X,Y] = meshgrid(x,y);
Z = X.^2 + Y.^2;
surf(X,Y,Z)
输出:
surf()
函数用于在 3D 平面上绘制矩阵 Z。矩阵 Z 应与 X 和 Y 矩阵具有相同的大小。我们还可以使用 meshgrid()
函数使用三个或一个输入向量和三个输出变量创建一个 3D 网格。meshgrid()
函数将创建一个 3D 网格,形成网格点的立方体。如果我们在 meshgrid()
函数中只传递一个输入向量,该函数将从第一个向量的索引中获取另外两个坐标。
作者: Ammar Ali