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