how to plot multiple bode plots in one figure ?

114 visualizaciones (últimos 30 días)
Aniket
Aniket el 25 de Abr. de 2013
Editada: Bal Krishna Poudel el 3 de Mayo de 2015
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 comentario
Bal Krishna Poudel
Bal Krishna Poudel el 3 de Mayo de 2015
Editada: Bal Krishna Poudel el 3 de Mayo de 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.

Iniciar sesión para comentar.

Respuesta aceptada

Arkadiy Turevskiy
Arkadiy Turevskiy el 25 de Abr. de 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 comentarios
Aniket
Aniket el 25 de Abr. de 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 el 26 de Abr. de 2013
For the model you get from Simulink you need to do
bode(sys.values)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Time and Frequency Domain Analysis en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by