how to plot multiple bode plots in one figure ?

105 Ansichten (letzte 30 Tage)
Aniket
Aniket am 25 Apr. 2013
Hi,
I am using matlab/simulink 2012. Is there any way to plotting several bode diagrams into same figure. For example i have system with parameters and i am using generating gain in matlab file and using this gain in simulink model. I do a bode plot for parameters and then i changes some parameters in matlab file again generating gain and again do bode plot using bode block in simulink.
but for comparison reasons i would like those two plots in same figure. how should i do this ?
Thank you
  1 Kommentar
Bal Krishna Poudel
Bal Krishna Poudel am 3 Mai 2015
Bearbeitet: Bal Krishna Poudel am 3 Mai 2015
Hi Aniket,
Each time when you simulate the frequency response in simulink using linearization tool, systems named linsys1, linsys2, linsys3 etc. will be created in the linear analysis workspace. Simply drag these systems in to the MATLAB workspace located just above the linear analysis tool. Then, go to the command window and write;
bode(linsys1); hold on; bode(linsys2); hold on; bode(linsys3); and so on.
you will get bode plot of all the systems(linsys1, linsys2, linsys3 etc.) in the same axes.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Arkadiy Turevskiy
Arkadiy Turevskiy am 25 Apr. 2013
When you open the dialog for Bode Plot block, the third tab, called "logging" lets you save the linear system into MATLAB workspace.
Once you have the system in MATLAB workspace you can just use bode command to plot multiple systems on the same plot, i.e.,
bode(sys1),
hold on;
bode(sys2,'r');
  2 Kommentare
Aniket
Aniket am 25 Apr. 2013
I have done as you are saying but its showing me error of "not enough arguments" and the at matlab workspace when i am saving data its saving in structure format and it contains time , values and block name.
for error i have tried to give arguments like frequency ,
so i declare frequency
w = 2*pi*(0:500)
bode (sys1,w)
but this also gives me error
""Invalid syntax for the "tf" command. Type "help tf" for more information.
Error in bode (line 96) sys = tf(a,b);""
my model is follwing blocks
Arkadiy Turevskiy
Arkadiy Turevskiy am 26 Apr. 2013
For the model you get from Simulink you need to do
bode(sys.values)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Plot Customization finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by