MATLAB 是一种强大的数值计算和数据可视化软件,尤其在科学计算领域广泛应用。在MATLAB中,绘图功能是其核心特性之一,能够生成高质量的2D和3D图形。本篇将重点介绍MATLAB的2D图形绘制,包括基本操作、参数方程绘图以及复杂的图形叠加和多子图设置。
MATLAB中的`plot`函数是2D绘图的基础,它能够根据输入的数据绘制曲线。例如,当`plot(x)`被调用时,如果`x`是一个向量,那么MATLAB将以`x`的下标作为横坐标,元素值作为纵坐标绘制曲线。如果`x`是一个实数二维数组,它将按列绘制每列元素相对于其下标的曲线。对于复数二维数组,MATLAB会分别以实部和虚部为横、纵坐标绘制多条曲线。
`plot`函数的另一种常见用法是`plot(x, y)`,这里`x`和`y`都是向量,它们的元素对应着横纵坐标,用于绘制一条曲线。若`x`是向量而`y`是二维数组,或者相反,MATLAB会绘制多条不同颜色的曲线。此外,`plot(x1, y1, x2, y2, …)`可以同时绘制多条曲线,每对`x`和`y`定义一条曲线。
下面通过实例来进一步理解`plot`函数的使用:
例5.1:在[0, 2π]区间内绘制函数y = 2e^(-0.5x) * sin(2πx),代码如下:
```matlab
x = 0:pi/100:2*pi;
y = 2*exp(-0.5*x).*sin(2*pi*x);
plot(x, y)
```
例5.2:使用参数方程绘制曲线,如t = -π到π,x = t * cos(3t),y = t * sin(t)^2,代码如下:
```matlab
t = -pi:pi/100:pi;
x = t.*cos(3*t);
y = t.*sin(t).^2;
plot(x, y)
```
例5.3:绘制一个调制波形及其包络线,代码如下:
```matlab
t = (0:pi/100:pi)';
y1 = sin(t)*[1,-1];
y2 = sin(t).*sin(9*t);
t3 = pi*(0:9)/9;
y3 = sin(t3).*sin(9*t3);
plot(t, y1, 'r:', t, y2, 'b', t3, y3, 'bo')
axis([0,pi,-1,1])
```
在绘制多条曲线时,可以使用`hold on`指令保持当前坐标轴,以便在同一图上继续绘制,而`hold off`则取消保持,使得下次`plot`绘制新图。例如:
```matlab
t = (0:pi/100:pi)';
y1 = sin(t)*[1,-1];
y2 = sin(t).*sin(9*t);
plot(t, y1, 'r:')
hold on
plot(t, y2, 'b')
```
MATLAB还支持双纵坐标和多子图功能,这在处理多个相关但比例不同的数据时非常有用。通过`axes`或`subplot`指令可以创建多个子图,每个子图都有独立的坐标系统。
MATLAB的2D绘图功能强大且灵活,不仅能够绘制简单的曲线,还能处理复杂的图形叠加和多子图布局,为科学研究和工程应用提供了丰富的可视化手段。在实际使用中,结合其他图形属性和控制指令,可以定制出满足各种需求的高质量图形。