MATLAB 编程/奈奎斯特图
外观
本文介绍在 MATLAB 中创建奈奎斯特图的主题。简而言之,使用 nyquist 命令即可。然而,奈奎斯特命令有几个选项,并且由 nyquist 命令生成的图难以重新格式化。大多数 MATLAB 图表的默认格式适合分析,但不太适合插入 Word 和 PowerPoint 文档,甚至不适合插入本网站。因此,本文提供了一种替代方法,该方法需要更多代码行,但提供了通用 plot 命令的完整格式灵活度。
基本的奈奎斯特命令如下
>> nyquist(LTI_SYS)
其中
奈奎斯特命令将自动调用 gcf,它将奈奎斯特图放在当前的 图表 上。如果没有图表存在,则 gcf 将创建一个图表。
如果您希望指定 LTI_SYS 被绘制的频率点,则使用 logspace 或 linspace 创建一个频率向量,如下所示
>> freqVec = logspace(-1, 3, 5000); >> nyquist(LTI_SYS, freqVec * (2*pi))
其中
- freqVec 是一个包含 5000 个频率的向量,以 Hz 为单位,在以对数刻度从 10-1 到 103 均匀分布
- pi 是一个 MATLAB 常量,等于 的值,在本例中,它用于将 freqVec 转换为 rad/sec,因为它传递给 nyquist 命令
nyquist 命令的主要问题是图表的重新格式化。nyquist 命令似乎使用普通的 semilogx 图,然后将补丁或类似的东西应用于该图。这会导致在尝试创建多行标题、重新格式化线宽或字体大小等时出现奇怪的行为。轴与图表的正常关系并不完全存在。