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

4 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)

Community Treasure Hunt

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

Start Hunting!

Translated by