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 圖,然後將補丁或類似的東西應用於圖形。這會導致在嘗試建立多行標題、重新格式化線寬或字型大小等時出現奇怪的行為。軸與圖形的正常關係並不完全存在。