3

我正在绘制以下内容

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”相同的图。但是,情况似乎并非如此。有谁知道这里出了什么问题?

4

1 回答 1

1

不同之处在于您没有在第二次调用 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;
于 2012-09-01T02:30:26.277 回答