simulink is giving unexpected simulation answer

I am trying to simulate the following block diagram
which simulates the equation : with the second integrator having the initial condition of 1.
where this equation can have the solution :
but upon simulation I got the following result:
I can notice the mathematical solution doesn't follow actual simulation where the simulation will always produce sinusoidal trying to reach stability state which is the oscillation between (inital_condition / 2) and (-inital_condition / 2). so why doesn't the mathematical solution match the simulation.

5 comentarios

It looks to me as if you need to zoom in to see the cos() behaviour
abdo
abdo el 6 de Sept. de 2024
actually yes, but I mean why the change in magnitude of the cosine wave until it reach stability. I am still exprimenting with it and for now I discovered it had something to with but still don't know what.
I would be more surprised if the system were immediately stable. It takes time to reach equilibrium.
Sam Chak
Sam Chak el 6 de Sept. de 2024
Can you you show us the scope when wo is set to 1?
abdo
abdo el 6 de Sept. de 2024
@Sam Chak, I set wo to 1 and I got a nearly stable cosine wave

Iniciar sesión para comentar.

 Respuesta aceptada

Sam Chak
Sam Chak el 6 de Sept. de 2024
Nope, not stable. The reason you got the high oscillations exponential decay response is because there are not enough samples for the scope to plot it out correctly.
Solution: Use a smaller time step, preferably (2π/wo)/100.

1 comentario

You set the time step at the Model Configuration Parameters > Solver Pane. The simulation time step size is specified using the Max step size parameter, if the variable-step solver is selected.
Or, you can set the value from the Command Window. In the following example, the Simulink model 'vdp.slx' is opened. Use the 'get_param()' command check the current value, and then the 'set_param()' command to set the desired value.
openExample('simulink_general/VanDerPolOscillatorExample');
% Check the Maximum time step size for variable-step solver
get_param('vdp', 'MaxStep')
ans = 'auto'
% Set the Maximum time step size to 0.01, preferably using this formula (2π/wo)/100
set_param('vdp', 'MaxStep', '0.01')
% Check the Maximum time step size again
get_param('vdp', 'MaxStep')
ans = '0.01'

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Versión

R2022b

Etiquetas

Preguntada:

el 6 de Sept. de 2024

Comentada:

el 7 de Sept. de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by