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