我正在策划以下
Cu4 = tf([1 2], [1 2 6]);
[magCu4 phaseCu4 wout] = bode(Cu4,logspace(-2,7,300));
magCu4 = squeeze(magCu4);
phaseCu4 = squeeze(phaseCu4);
semilogx(wout,20*log10(magCu4)),grid;
hold on
bode(Cu4,'r')
我希望Semilogx图将返回与'bode'相同的图。但是,事实并非如此。有人知道这里出了什么问题吗?
最佳答案
所不同的是,您没有在第二次调用bode时指定频率向量,因此MATLAB选择了默认向量(在您的代码中,其长度为46)。
相反,您可以尝试:
bode(Cu4,'r',logspace(-2,7,300))
比较以下代码绘制的图
[magCu4 phaseCu4 wout] = bode(Cu4,logspace(-2,7,300));
magCu4 = squeeze(magCu4);
figure(1);
semilogx(wout,20*log10(magCu4))
hold on;
bode(Cu4,'r')
hold off;
figure(2);
semilogx(wout,20*log10(magCu4))
hold on;
bode(Cu4,'r',logspace(-2,7,300))
hold off;