Hello,
My question has already been posted, but I'm having some trouble...
I'm trying to plot 2 bode plots on the same figure. One of the plots has a transfer function, the other not. So I use this command:
semilogx(x,y), hold on
bode(sys, 'r')
On this way I get 2 curves on the amplitude-plot, to this point all right. I'm looking to also add a second curve on the phase-plot. I tried using subplot(2,1,2), but it doesn't work...
Does anyone can tell me how to add this second phase-cure?
Thanks, Ata

2 件のコメント

José-Luis
José-Luis 2013 年 5 月 20 日
Could you post an example of what you'd like and what you actually get? It doesn't work is not a very helpful description. Have you tried
hold on
ata
ata 2013 年 5 月 20 日
This is wat I get for the moment : http://puu.sh/2XksL.png
I'd like to also plot a second blue curve in the phase-plot. This curve will be created from discrete data.
And yes I tried hold on after the subplot-command, but the graphic is totally replaced by the bode plot (i.e. the blue curve is not present).

サインインしてコメントする。

 採用された回答

David Sanchez
David Sanchez 2013 年 5 月 20 日

2 投票

[mag_A phase_A] = bode(sys_A,W);
[mag_B phase_B] = bode(sys_B,W);
subplot(2,1,1)
semilogx(W,mag_A);hold on
semilogx(W,mag_B);hold off
subplot(2,1,2)
semilogx(W,phase_A);hold on
semilogx(W,phase_B);hold off

3 件のコメント

ata
ata 2013 年 5 月 20 日
Thanks for reply,
When trying this method I get an error :
Error using ==> semilogx
Data may not have more than 2 dimensions
I'm using an old version of Matlab (R2010b / 7.11.0), so it's maybe due to this fact...
ata
ata 2013 年 5 月 20 日
Oh right, I got it.
Here is the code I used:
[mag_A phase_A W] = bode(sys)
subplot(2,1,1)
semilogx(W,mag_A(:,:)); hold on
semilogx(x,y); hold off
and similar for the second subplot
Patricia Darling
Patricia Darling 2016 年 3 月 1 日
Thank you! This works!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by