跳到內容

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

[編輯 | 編輯原始碼]
華夏公益教科書