How can i plot the magnitude and phase response for given output?

4 vues (au cours des 30 derniers jours)

Réponse acceptée

Star Strider
Star Strider le 4 Mar 2018
First, code the function you posted an image of. It would be best to create it as a transfer function object, using the tf function. See the relevant documentation for details.
Then, use the bode (link) or lsim (link) functions, depending on what you want to do.
Note that for a SISO system, you will have to use squeeze to plot the result, if you want to plot the outputs of bode and the others.
Example
[mag,phase,wout] = bode(tfobj);
figure(3)
subplot(2,1,1)
semilogx(wout, 20*log10(squeeze(mag)), '-b', 'LineWidth',1) % Bode Plot: Magnitude
ylabel('H(f) (dB)')
grid
subplot(2,1,2)
semilogx(wout, squeeze(phase), '-b', 'LineWidth',1) % Bode Plot: Phase
xlabel('Frequency (rad/sec)')
ylabel('Phase (°)')
grid

Plus de réponses (0)

Catégories

En savoir plus sur Plot Customization 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