MATLAB 波特圖

Ammar Ali 2021年10月2日 2021年7月4日
MATLAB 波特圖

本教程將討論如何使用 MATLAB 中的 bode() 函式繪製系統頻率響應的波特圖。

使用 MATLAB 中的 bode() 函式繪製系統頻率響應的波特圖

如果要繪製系統模型的頻率響應或幅度和相位資料,可以使用 bode() 函式,該函式將繪製給定系統頻率響應的幅度和相位。例如,讓我們通過將傳遞函式賦予 bode() 函式來建立動態系統的波特圖。請參考下面的程式碼。

t_fun = tf([1 2 0.5],[9 1 0]);
bode(t_fun)

輸出:

波特圖使用 matlab 中的 bode() 函式

在上面的程式碼中,我們使用傳遞函式係數和 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')

輸出:

在 matlab 中更改波特圖的標題

正如你在輸出中看到的,這些圖是相同的,但具有不同的標題。你還可以使用 Color 屬性更改其他屬性,如標籤、線型、繪圖顏色等。檢視此連結瞭解有關 bode() 函式的更多詳細資訊。

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