bode plot discrepancy
16 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
i am plotting some bode plots, and i found the following discrepancy, and I'm not quite sure what is the root cause of it. My code is
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')
I expected that the semilogx plot of the magnitude should be identical to the plot of bode(Cu4), however, it doesnt seem to be the case. Where might I be going wrong with this?
TIA
0 commentaires
Réponses (2)
Arkadiy Turevskiy
le 26 Juin 2012
The very slight difference between two magnitude curves is due to the different frequencies you are computing the bode magnitude at. In your semilogx you are using wout, which you specified as logspace (-2,7,300). When you call bode with no frequency input argument, it determines the frequencies to compute the bode plot at automatically, and those frequencies are different from wout.
To better see that do this and zoom in on magnitude plot.
close;
semilogx(wout,20*log10(magCu4),'x'),grid;
hold on
bode(Cu4,'ro')
To have two identical magnitude curves, modify your code:
semilogx(wout,20*log10(magCu4)),grid;
hold on
bode(Cu4,wout,'r')
Arkadiy
Voir également
Catégories
En savoir plus sur Plot Customization dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!