MATLAB编程-简介
Completion requirements
简介
本文介绍如何在 MATLAB 中绘制 尼科尔斯图(Nichols Plot)。
最快捷的方法是使用 nichols
命令。
不过,nichols
命令虽然方便,但它生成的图形不容易进行重新排版。MATLAB 默认的图形格式适合分析使用,但并不适合直接插入 Word、PowerPoint 或网页。
因此,本文介绍一种替代方法,虽然需要写更多代码,但可以完全自定义图形格式,借助通用的 plot
命令实现更灵活的可视化。
MATLAB 的 nichols
命令
基本用法如下:
>> nichols(LTI_SYS)
其中:
-
LTI_SYS
是一个 LTI(线性时不变)系统对象,可以是传递函数(TF)、状态空间(SS)、零极点增益(ZPK)或频率响应数据(FRD)。
nichols
命令会自动调用 gcf
,将图像绘制到当前的 figure;如果没有打开的图形窗口,gcf
会新建一个。
自定义频率向量
如果你希望指定绘图所用的频率点,可使用 logspace
或 linspace
创建频率向量,例如:
>> freqVec = logspace(-1, 3, 5000);
>> nichols(LTI_SYS, freqVec * (2*pi))
说明:
-
freqVec
是一个包含 5000 个频率点的向量,范围从 到 Hz,按对数均匀分布; -
pi
是 MATLAB 中表示 π 的常量,用于将频率从 Hz 转换为 rad/s。
nichols
命令的问题
nichols
命令的主要问题在于图形难以重新排版。例如:
-
无法方便地设置多行标题;
-
修改线宽、字体大小等格式时会遇到限制;
-
图形内部结构(例如坐标轴与图形的关系)不像普通
plot
图那么清晰。
这是因为 nichols
底层似乎基于 semilogx
绘图,并叠加了额外的图层或补丁。
外部链接
Last modified: Wednesday, 16 April 2025, 10:17 AM