The bode function doesn’t accept many options with respect to its plots. The easiest way to do what you want is to request at least the first three outputs of the bode function, and then plot them using subplot and plot. The plots are the same as any other plot object:
[mag,phase,wout] = bode(sys);
subplot(2,1,1)
plot(wout, mag)
subplot*2,1,2)
plot(wout, phase)
Use ‘20*log10(mag)’ to plot the magnitude in decibels, and semilogx instead of plot to make the plot look like those bode produces on its own:
[mag,phase,wout] = bode(sys);
subplot(2,1,1)
semilogx(wout, 20*log10(mag))
subplot*2,1,2)
semilogx(wout, phase)
Best Answer