MATLAB绘制Nyquist图与Bode图教程

5星 · 超过95%的资源 需积分: 50 63 下载量 200 浏览量 更新于2024-09-12 收藏 126KB DOCX 举报
本文介绍如何使用MATLAB绘制开环传递函数的Nyquist图和Bode图,以及如何计算相位裕度。 MATLAB是一个强大的数值计算软件,它提供了丰富的工具来分析系统的频率响应。在控制理论中,Nyquist图和Bode图是评估系统稳定性的重要工具。Nyquist图是描述系统频率特性在复平面上的轨迹,而Bode图则是以对数坐标显示幅频特性和相频特性。 2.1. 画Nyquist图 Nyquist图绘制的关键在于将频率特性转换为复平面上的轨迹。在MATLAB中,`nyquist`命令用于绘制这一曲线。例如,通过定义系统的传递函数,如`sys=tf(num,den)`,其中`num`和`den`分别是分子和分母的系数向量,然后调用`nyquist(sys)`,即可得到Nyquist图。添加`holdon`指令保持图形,用`title`设置标题,以及`grid`显示网格,可以进一步完善图表。 2.2. 画Bode图 Bode图由幅频特性曲线和相频特性曲线组成,便于直观理解系统的频率响应。MATLAB的`bode`命令用于绘制Bode图。同样,通过传递函数对象`sys`,调用`bode(sys)`即可生成Bode图。可以使用`bodeoptions`来定制图形的样式,如开启网格、设定频率范围等。 4.1. 代码示例 对于Nyquist图的绘制,以下是一段示例代码: ```matlab num = 10*conv([0.5,1],[1,1]);% 分子系数向量 den = conv([10,1],[1,-1]);% 分母系数向量 sys = tf(num,den);% 创建连续传递函数sys nyquist(sys);% 绘制Nyquist图 hold on title('Nyquist图');% 标题 grid;% 显示网格 ``` 4.2. 计算相位裕度 相位裕度是评估系统稳定性的一个指标,表示在穿越-180度线之前,幅值裕度对应的相位差。在Bode图上,相位裕度可以通过查看相频特性曲线在幅值达到峰值时的相位来计算。MATLAB虽然没有内置的相位裕度计算函数,但可以通过读取Bode图上的数据并处理来实现。 总结,MATLAB提供了强大的工具来绘制和分析控制系统中的Nyquist图和Bode图,这对于理解和优化系统性能至关重要。通过理解这些基本命令和原理,工程师可以有效地进行系统稳定性分析和设计。