如何在Octave中绘制频率单位为Hz而非rad/s的Bode图
解决方案
以下是调整后的可直接运行的代码,修改点仅新增了Bode图单位配置逻辑:
pkg load control s = tf('s'); S_LN= s/4000; g = 0.4913/(0.4913 + 1.2384*S_LN + 0.9883*(S_LN^2) + S_LN^3) ; % 配置Bode图参数,指定频率单位为Hz opts = bodeoptions; opts.FreqUnits = 'Hz'; % 绘图时传入配置参数即可 bode(g,{1,10^4},opts);
补充说明:
- 调用
bodeoptions生成的配置对象中,FreqUnits参数支持可选值包括rad/s(默认)、Hz、kHz等,按需设置即可 - 如果你已经调用默认参数生成了rad/s单位的Bode图,也可以直接在命令行执行
set(gcf, 'FreqUnits', 'Hz'),已生成的图会自动切换频率单位为Hz - 切换为Hz单位后,你传入的
{1,10^4}频率范围对应的单位也会自动变为Hz,若你原本的范围是按rad/s设置的,需要自行做单位换算后再传入
内容的提问来源于stack exchange,提问作者daima george
相关产品推荐
相关产品推荐

