How do I plot the magnitude of a transfer function H?

 Accepted Answer

Star Strider
Star Strider on 23 Feb 2018

0 votes

It depends on the Toolbox you’re using.
For a filter using the Signal Processing Toolbox, use the freqz (link) or freqs (link on the freqz page) functions.
For a control system using the Control System Toolbox, use the bode (link) function. Note that it is essentially impossible to change any of the plot characteristics using bode, so if you want to customise the plot, get the outputs from bode and plot them using the subplot function.

2 Comments

Marc Adams
Marc Adams on 23 Feb 2018
Is it possible to use [mag,phase,wout] = bode(H) and then Y=squeeze(mag), then plotting Y to plot magnitude in terms of frequency?
Yes. That is the only way I know of to do it.
To replicate the bode plot result, this works:
figure
subplot(2,1,1)
semilogx(wout, 20*log10(squeeze(mag)), '-r', 'LineWidth',2)
grid
subplot(2,1,2)
semilogx(wout, squeeze(phase), '-r', 'LineWidth',2)
grid

Sign in to comment.

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!