有关matlab的问题

怎么用matlab画出传递函数的幅频特性???

第1个回答  推荐于2016-10-08

G=tf([1 0.6 0.05],[1 5.01 0.05]);

margin(G);

grid on;

运行后就可以得到系统的幅频和相频曲线:

这里用margin而不是bode是因为margin不仅可以得到曲线图还会自行计算幅值裕度、相角裕度以及对应的频率,功能更强大。

使用bode或者margin默认的横坐标单位是rad/sec,如果想变成常用的Hz,可以在命令窗口输入ctrlpref,在其中的Units中改成Hz就好了。

追问

你会用笔在纸上画出来吗?就是在纸上画出它的幅频特性曲线???我画的图起点是20log(0.05)=-26.02db,怎么跟 电脑画的图起点差那么大(电脑好像是0db)???

追答

《自动控制原理》里有讲画近似幅频特性图的方法啊!首先把传递函数化简成
(1+10s)*(1+2s)*(1/(1+100s))*(1/(1+0.2s)),得到四个一阶环节,对应的交接频率为0.01、0.1、0.5、5。而前面系数就是1,所以低频段的曲线斜率为0,然后在0.01处斜率减少20dB/dec,0.1处斜率增加20dB/dec,0.5处斜率增加20dB/dec,5处斜率减少20dB/dec,从而得到形似梯形的曲线图。手画的就是这样做,只能粗略近似,而MATLAB画的是准确的图,我看了一下,你说的0.05对应的大概是-13dB。

本回答被提问者和网友采纳
第2个回答  2015-06-26
bode 就可以了追问

我知道,可那样画的是伯德图,我想要幅频特性曲线,(难到它们是一样的???)

相似回答