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