MATLAB编程-简介
Completion requirements
简介
本文介绍如何在 MATLAB 中绘制 奈奎斯特图(Nyquist Plot)。
最直接的方法是使用 nyquist
命令。
不过,虽然 nyquist
命令功能强大,但它生成的图形不容易自定义格式。MATLAB 默认的图形格式适合分析使用,但如果要插入到 Word、PowerPoint 或网页中,往往不够美观。
因此,本文提供了一种替代方式,虽然需要更多代码行,但使用通用的 plot
命令可以实现完全自定义的图形格式控制。
MATLAB 的 nyquist
命令
基本语法如下:
>> nyquist(LTI_SYS)
其中:
-
LTI_SYS
是一个 LTI(线性时不变)系统对象,可以是传递函数(TF)、状态空间(SS)、零极点增益(ZPK)或频率响应数据(FRD)。
nyquist
命令会自动调用 gcf
,在当前图形窗口中绘制奈奎斯特图。如果当前没有图形窗口,则 gcf
会创建一个新的。
自定义频率向量
如果你希望指定绘图所用的频率点,可以使用 logspace
或 linspace
创建频率向量,例如:
>> freqVec = logspace(-1, 3, 5000);
>> nyquist(LTI_SYS, freqVec * (2*pi))
说明:
-
freqVec
是一个对数均匀分布的向量,范围从 到 Hz,共包含 5000 个频率点; -
pi
是 MATLAB 中表示常数 的内置变量,这里用于将频率从 Hz 转换为 rad/s(弧度每秒),因为nyquist
函数需要的是角频率单位。
nyquist
命令的问题
使用 nyquist
命令的主要问题在于图形格式难以自定义,例如:
-
标题不能方便地分为多行;
-
难以设置线宽、字体大小等格式;
-
坐标轴与图形之间的关系不如普通
plot
图清晰可控。
这是因为 nyquist
命令在底层可能使用了 semilogx
或类似方法,并在图形上叠加了额外的图层或图形补丁。
外部链接
Last modified: Wednesday, 16 April 2025, 10:20 AM