跳到内容

MATLAB 编程/奈奎斯特图

来自维基教科书,开放世界中的开放书籍

本文介绍在 MATLAB 中创建奈奎斯特图的主题。简而言之,使用 nyquist 命令即可。然而,奈奎斯特命令有几个选项,并且由 nyquist 命令生成的图难以重新格式化。大多数 MATLAB 图表的默认格式适合分析,但不太适合插入 Word 和 PowerPoint 文档,甚至不适合插入本网站。因此,本文提供了一种替代方法,该方法需要更多代码行,但提供了通用 plot 命令的完整格式灵活度。

MATLAB 的奈奎斯特命令

[编辑 | 编辑源代码]

基本的奈奎斯特命令如下

 >> nyquist(LTI_SYS)

其中

  • LTI_SYS 是一个 LTI 对象 - TFSSZPKFRD

奈奎斯特命令将自动调用 gcf,它将奈奎斯特图放在当前的 图表 上。如果没有图表存在,则 gcf 将创建一个图表。

如果您希望指定 LTI_SYS 被绘制的频率点,则使用 logspacelinspace 创建一个频率向量,如下所示

 >> 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 命令的主要问题是图表的重新格式化。nyquist 命令似乎使用普通的 semilogx 图,然后将补丁或类似的东西应用于该图。这会导致在尝试创建多行标题、重新格式化线宽或字体大小等时出现奇怪的行为。轴与图表的正常关系并不完全存在。

[编辑 | 编辑源代码]
华夏公益教科书