MATLAB 波特圖
Ammar Ali
2021年10月2日
2021年7月4日
本教程將討論如何使用 MATLAB 中的 bode()
函式繪製系統頻率響應的波特圖。
使用 MATLAB 中的 bode()
函式繪製系統頻率響應的波特圖
如果要繪製系統模型的頻率響應或幅度和相位資料,可以使用 bode()
函式,該函式將繪製給定系統頻率響應的幅度和相位。例如,讓我們通過將傳遞函式賦予 bode()
函式來建立動態系統的波特圖。請參考下面的程式碼。
t_fun = tf([1 2 0.5],[9 1 0]);
bode(t_fun)
輸出:
在上面的程式碼中,我們使用傳遞函式係數和 tf()
函式來定義動態函式。tf()
函式的第一個引數是包含分子係數的向量,第二個引數是包含分母系數的向量,序列是從高到低的冪。如果缺少冪,則將使用 0 作為其係數。
正如你在輸出中看到的那樣,bod()
函式會自動給出繪圖示題和標籤。如果你想更改這些設定,你必須將幅度和相位儲存在一個單獨的變數中,然後使用 plot()
函式繪製它,然後,你可以為繪圖提供所需的標題和標籤。例如,讓我們使用 subplot()
和 plot()
函式建立上面的波特圖,並使用 title()
函式更改其標題。請參考下面的程式碼。
t_fun = tf([1 2 0.5],[9 1 0]);
[magn,phas,w] = bode(t_fun);
figure
subplot(1,2,1)
plot(w,20*log10(magn(:)))
set(gca, 'XScale', 'log')
title('Magnitude')
subplot(1,2,2)
plot(w,phas(:))
set(gca, 'XScale', 'log')
title('Phase')
輸出:
正如你在輸出中看到的,這些圖是相同的,但具有不同的標題。你還可以使用 Color
屬性更改其他屬性,如標籤、線型、繪圖顏色等。檢視此連結瞭解有關 bode()
函式的更多詳細資訊。
Author: Ammar Ali