MATLAB 3D 绘图

17 Mar 2025 | 阅读 2 分钟

MATLAB 还包含各种三维绘图,可用于显示某些类型的数据。通常,三维绘图有助于显示两种类型的数据

  1. 当您希望强调自变量的重要性时,两个变量是同一自变量的函数。
  2. 一个变量是两个自变量的函数,z = f (x, y)。

为了得到 z,我们首先必须使用函数 meshgrid 创建一组 (x, y) 点。

MATLAB 3D Plots

[X,Y] = meshgrid(-1:.2:1);

MATLAB 3D Plots

这里函数 meshgrid 中的参数是一个向量,使用冒号运算符(开始:步长:结束)创建

meshgrid 函数最多可以接受三个向量参数,并根据参数中向量的坐标返回二维坐标。

Meshgrid 函数

网格坐标集(矩阵)函数向量坐标网格长度
[X,Y],
X 和 Y 是矩阵,其中每行都是 x 的副本,每列都是 y 的副本。
=meshgrid(x,y),根据 x 和 y 返回二维网格坐标向量 x 和 y 的坐标X 和 Y 中的行数 = length(y),
X 和 Y 中的列数 = length(x)
[X,Y],
X 和 Y 是矩阵,其中每行和每列都是 x 的副本。
=meshgrid(x),等同于 meshgrid(x,x),并根据 x 返回方形二维网格坐标向量 x 的坐标网格大小 = length(x) 乘 length(x)
[X, Y, Z],X 具有 x 的坐标,Y 具有 y 的坐标,Z 具有 z 的坐标=meshgrid(x,y,z),根据向量 x、y 和 z 返回三维网格坐标向量 x、y 和 z 的坐标。网格大小 = length(y) 乘 length(x) 乘 length(z)
[X,Y,Z],
所有都具有相同的 x 坐标
=meshgrid(x),与 meshgrid(x,y,z) 的形式 meshgrid(x,x,x) 相同向量 x 的坐标三维网格大小 = length(x) 乘 length(x) 乘 length(x)

现在评估 Z 以创建三维绘图

Z = X.*exp(-X.^2 - Y.^2); % 点运算符用于执行逐元素计算。

现在我们将使用函数 surf(X, Y, Z) 创建一个三维表面图。

MATLAB 3D Plots
MATLAB 3D Plots

通过输入 surf 函数,它将生成一个三维表面图。

  • surf(X,Y,Z) 函数创建三维表面图。
  • 矩阵 Z 的值用作 x-y 平面网格上方的高度。
  • 该函数还将 Z 用于与高度成比例的颜色数据。
MATLAB 3D Plots
  • 还有一个函数 mesh,它也以三维显示表面。
MATLAB 3D Plots
  • surfmesh 函数的主要区别在于,surf 显示连接线和表面面部都着色,而 mesh 函数生成线框表面。mesh 函数不着色整个表面;它只着色连接定义点的线。

下一主题MATLAB plot3()