2012-06-26 29 views
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情节将返回相同的情节一样“波特”。然而,这似乎并非如此。有人知道这里出了什么问题吗?

回答

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; 
取得该地块