MATLAB 中的根軌跡圖

Ammar Ali 2022年5月11日
MATLAB 中的根軌跡圖

本教程將討論使用 Matlab 中的 rlocus() 函式計算和繪製動態系統的根軌跡。

在 MATLAB 中使用 rlocus() 函式計算並繪製動態系統的根軌跡

我們使用根軌跡來檢查反饋增益變化對閉環極點位置的影響,這些位置提供有關時間和頻率響應的資訊。

rlocus() 函式計算並繪製給定系統的根軌跡。它提供給定函式的閉環極點軌跡,是反饋增益的函式。我們必須在 rlocus() 函式中傳遞系統的傳遞函式來繪製該函式的根軌跡。

例如,讓我們使用 tf() 函式建立一個系統的傳遞函式,並使用 Matlab 中的 rlocus() 函式繪製其根軌跡。請參閱下面的程式碼。

sys = tf([2 5 1],[1 2 3]);
rlocus(sys)

輸出:

系統的根軌跡

x 符號提供輸出中的極點,o 符號提供系統傳遞函式的零點。

我們還可以使用 rlocus() 函式繪製多個系統的多個根軌跡。如果我們在 rlocus() 函式中傳遞多個系統的傳遞函式,它會將所有系統的根軌跡以不同的顏色繪製在同一個圖上。

我們可以使用 legend() 函式為每個繪圖命名,以便輕鬆識別它們。例如,讓我們繪製兩個系統的根軌跡並使用 legend() 函式新增圖例。

請參閱下面的程式碼。

sys1 = tf([2 5 1],[1 2 3]);
sys2 = tf([2 2 1],[1 2]);
rlocus(sys1,sys2)
legend('sys1','sys2')

輸出:

多系統的根軌跡圖

我們還可以使用 rlocus() 函式找到閉環極點位置和反饋增益的值。例如,讓我們找出上述系統的閉環極點位置和反饋增益值。請參閱下面的程式碼。

sys = tf([2 5 1],[1 2 3]);
[R,K] = rlocus(sys)
size(R)

輸出:

ans =

     2    55

在輸出中,你可以看到變數 R 的大小 - 2×55。

Author: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相關文章 - MATLAB Plot