### plot函数使用详细讲解
#### 一、二维平面图形
##### 5.1.1 基本图形函数
`plot` 函数是绘制二维图形的基础工具,它主要用于基于向量或矩阵的数据来绘制曲线。根据不同的输入参数,`plot` 可以展现出多种不同的效果。
1. **单向量绘制**: 当输入参数为一个向量 `x` 时,`plot(x)` 将以向量 `x` 的元素值作为纵坐标,以元素的序号作为横坐标绘制曲线。如果 `x` 是一个 m×n 的矩阵,则会根据每一列的数据绘制 n 条曲线。
- 示例代码:
```matlab
x = [1, 2, 3, 4, 5];
plot(x);
```
2. **双向量绘制**: 如果提供两个向量 `x` 和 `y`,`plot(x, y)` 会以 `x` 的元素作为横坐标,`y` 的元素作为纵坐标来绘制曲线。
- 示例代码:
```matlab
x = 0:pi/10:2*pi;
y = sin(x);
plot(x, y);
```
3. **多曲线绘制**: 在提供公共横坐标 `x` 的情况下,可以通过多次调用 `plot` 函数来绘制多条曲线,例如 `plot(x, y1, x, y2, ...)`。这种方式可以直观地对比不同数据集的变化趋势。
- 示例代码:
```matlab
x = 0:pi/10:2*pi;
y1 = sin(x);
y2 = cos(x);
plot(x, y1, x, y2);
```
##### 5.1.2 图形修饰
为了使图表更加清晰易读,`MATLAB` 提供了一系列的图形修饰功能。这些功能包括添加网格、坐标轴标签、标题以及在图表中插入文本等。
1. **添加网格**:
- `grid on`: 显示网格
- `grid off`: 隐藏网格
2. **坐标轴标签**:
- `xlabel('label')`: 设置横坐标标签
- `ylabel('label')`: 设置纵坐标标签
3. **标题**:
- `title('title')`: 添加图表标题
4. **文本注释**:
- `text(x, y, 'text')`: 在指定坐标 `(x, y)` 处添加文本注释
- `gtext('text')`: 通过鼠标交互式地在图表中添加文本注释
5. **坐标轴范围**:
- `axis([xmin xmax ymin ymax])`: 设置坐标轴的显示范围
##### 5.1.3 图形的比较显示
在实际应用中,通常需要在同一视图中比较不同数据集的差异或者观察多个图形之间的联系。`MATLAB` 支持两种主要的方式来实现这一目的:
1. **曲线叠加**:
- 使用 `hold on` 命令可以将新的图形曲线叠加到已有的图形上。
- 使用 `hold off` 命令则恢复默认行为,即每次调用 `plot` 时都会清空当前图形。
2. **子图**:
- 使用 `subplot(m, n, k)` 函数可以将图形窗口分割成 m×n 个子图,并选择第 k 个子图作为当前绘图区域。
- 示例代码:
```matlab
subplot(2, 2, 1);
plot(x, y1);
subplot(2, 2, 2);
plot(x, y2);
subplot(2, 2, 3);
plot(x, y3);
subplot(2, 2, 4);
plot(x, y4);
```
#### 二、三维立体图形
##### 5.2.1 三维曲线图
与二维图形类似,`MATLAB` 提供了 `plot3` 函数来绘制三维空间中的曲线。`plot3` 函数接受三个向量作为输入,分别表示 x、y 和 z 轴上的坐标值。
- 示例代码:
```matlab
t = 0:pi/50:10*pi;
x = sin(t);
y = cos(t);
z = t;
plot3(x, y, z);
```
`plot` 函数及其扩展 `plot3` 是 `MATLAB` 中绘制图形的强大工具。通过合理使用这些函数和相关修饰命令,可以有效地展示和分析数据。无论是简单的二维曲线还是复杂的三维图像,都可以通过 `MATLAB` 的绘图功能得到直观的表现。