Effacer les filtres
Effacer les filtres

How can I get a bode magnitude to be a certain size vector?

2 vues (au cours des 30 derniers jours)
jrz le 24 Sep 2022
Commenté : Star Strider le 25 Sep 2022
I've generated a transfer function, from which I need the magnitude as a vector to perform some integration on. The magnitude needs to be multiplied by a PSD (power spectral density) and then integrated using trapz(). The issue is that the PSD and magnitude vectors are different lengths, so trapz doesnt work. Is there a way I can specify the size of the magnitude vector so that is its a 1x10000 column vector? Below is my transfer function and how I have extracted the magnitude vector.
tf =
0.0001121 s^3 - 0.000292 s^2 - 0.0002738 s - 1.711e-05
s^4 + 5.701 s^3 + 20.31 s^2 + 0.6124 s + 0.3877
% Continuous-time transfer function.
[mag phase] = bode(tf)
MAG = sqeeze(mag)

Réponse acceptée

Star Strider
Star Strider le 24 Sep 2022
The bode function allows you to specify a vector of frequencies in radians/time_unit.. See the documentation section on Bode Plot at Specified Frequencies and w for details. That way, you can control the size of the output.
  2 commentaires
jrz le 25 Sep 2022
Thank you veyr much for your answer, it worked
Star Strider
Star Strider le 25 Sep 2022
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)


En savoir plus sur Numerical Integration and Differentiation dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by