MATLAB绘图攻略:plotyy实现双纵坐标曲线图

需积分: 32 1 下载量 144 浏览量 更新于2024-08-21 收藏 857KB PPT 举报
本文将介绍如何在MATLAB中创建具有两个纵坐标标度的图形,以及基本的二维数据曲线图绘制方法。MATLAB提供了一个名为`plotyy`的函数,允许在同一图表上绘制两条具有不同纵坐标标度的曲线。此外,我们还将探讨`plot`函数的多种使用方式,包括绘制单条曲线、多条曲线以及如何自定义图形属性。 ### 具有两个纵坐标标度的图形 在MATLAB中,如果你需要在同一图表上显示两个具有不同比例的纵坐标数据,可以使用`plotyy`函数。这个函数的调用格式如下: ```matlab plotyy(x1, y1, x2, y2) ``` 在这里,`x1`和`y1`表示一条曲线的数据,它们共享相同的横坐标`x1`,对应的纵坐标是`y1`,显示在图表的左侧。同样,`x2`和`y2`是另一条曲线的数据,它们也共享横坐标`x2`,但纵坐标`y2`显示在图表的右侧。`plotyy`函数确保了两条曲线的横坐标标度是一致的,而纵坐标标度可以根据数据的特性进行独立调整。 ### `plot`函数详解 #### 基本使用 `plot`函数是MATLAB中最常用的绘图命令,用于绘制二维数据曲线。基本调用形式如下: ```matlab plot(x, y) ``` 这里,`x`和`y`是长度相等的向量,它们分别存储了曲线的横坐标和纵坐标数据。 **示例1:** 绘制函数`y = 2e^{-0.5x} \cdot \cos(4\pi x)`的曲线,代码如下: ```matlab x = 0:pi/100:2*pi; y = 2*exp(-0.5*x).*cos(4*pi*x); plot(x, y) ``` #### 绘制多根曲线 `plot`函数还可以接受矩阵作为输入参数,以便同时绘制多条曲线。 **示例2:** 绘制两根曲线,`y1 = t \cdot \sin(3t)`和`y2 = t \cdot \sin(t) \cdot \sin(t)`,代码如下: ```matlab t = 0:0.1:2*pi; x = t.*sin(3*t); y = t.*sin(t).*sin(t); plot(x, y) ``` **特殊情况:** - 如果只提供一个向量`x`作为输入,MATLAB会自动将其下标作为横坐标,元素值作为纵坐标,绘制折线图。 - 当`x`和`y`都是矩阵时,如果它们的列数相同,MATLAB会分别以每一对列元素为横纵坐标绘制曲线,生成多条曲线,每条曲线的颜色和样式会自动变化。 ### 总结 通过`plotyy`和`plot`函数,MATLAB提供了强大的图形绘制功能,可以方便地处理具有不同尺度的纵坐标数据,以及绘制多条曲线。掌握这些函数的使用,可以帮助用户更加直观地展示复杂的数据关系和模式。在实际应用中,可以通过调整颜色、线型、标记等属性,进一步定制图形,使其更具可读性和美观性。