做一个没有bode()的bode图?
123次浏览(过去30天)
显示旧的注释
答案(1)
罗伯特你
2020年3月4日
编辑:罗伯特你
2020年3月4日
大家好,Jeroen von der Klip,
你的任务听起来像是你想要省略工具箱的使用。尽管控制系统工具箱通过bode-command或bodeploy -command提供了更多的额外功能,但您当然可以从头开始绘制传递函数。
%传递函数为匿名函数
H = @(s)(s。^3+ 2*s + 5)./(s.^4+7*s.^3+4*s.²+8*s+12);
%待计算域的频率向量
= 2 * logspace(-3,3,1000);
幅度估计
mag = abs(H(1j*omega));
magDB = 20 * log10(mag);
%相位估计
phaseDeg = rad2deg(角(H(1j* ω)));
%绘图结果
Fh =图;
Ah = subplot(2,1,1,“父”、跳频);
Bh = subplot(2,1,2,“父”、跳频);
semilogx(啊,ω/ 2π,magDB)
semilogx (bhω/ 2 /π,phaseDeg)
啊。XGrid =“上”;
啊。YGrid =“上”;
黑洞。XGrid =“上”;
黑洞。YGrid =“上”;
ah.XLabel.String =的频率(赫兹);
ah.YLabel.String =“(dB)级”;
bh.XLabel.String =的频率(赫兹);
bh.YLabel.String =相位角[°];
ah.Title.String = func2str(H);
亲切的问候,
罗伯特。