Why does the Bode function behaves differently in a subplot?

12 visualizzazioni (ultimi 30 giorni)
Hi,
I want to run a script several times in a row, where every run new lines are plotted in a Bode diagram. This does not work when I use subplots, see the simple example below. Both lines are plotted this way, but the first line disappears when the 2 lines are uncommented and the example is rerun. So how can I plot these 2 lines in 1 Bode subplot? Thank you in advance!
Best regards, Laszlo
H = tf([1],[100]);
figure(100)
% subplot(2,1,1)
hold on
bodemag(H)
grid on
defcol
H = tf([1],[1 0 0]);
figure(100)
% subplot(2,1,1)
hold on
bodemag(H)
grid on
defcol

Risposte (2)

Arkadiy Turevskiy
Arkadiy Turevskiy il 5 Gen 2015
This works:
H = tf([1],[100]);
figure(100)
subplot(2,1,1);
[mag,ph,wout]=bode(H);
semilogx(wout,20*log10(squeeze(mag)));
grid on
xlabel('Frequency (rad/sec)');
ylabel('Magnitude (dB)');
title('Bode Diagram');
hold on;
H = tf([1],[1 1 0]);
figure(100)
subplot(2,1,1)
[mag,ph,wout]=bode(H);
semilogx(wout,20*log10(squeeze(mag)));

Thorsten
Thorsten il 15 Dic 2014
This litte script works for me; maybe something unexpected is going on in your bodemag function?
function plotdata(s)
figure(100)
subplot(2,1,1)
hold on
plot(1:10, s*rand(1,10), 'k')
grid on
figure(100)
subplot(2,1,1)
hold on
plot(1:10, s*rand(1,10), 'r')
grid on
  3 Commenti
Thorsten
Thorsten il 15 Dic 2014
I don't have the System Identification TB, so I have to ask if this works for you:
bodemag(gca, H)
laszlo
laszlo il 15 Dic 2014
Too bad, that does not solve the problem.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by