Simulink presenting a convergence error

I made a simple simulaltion of a x=Asen(wt) function in simulink using differential equations, but instead of a constant senoidal curve, it is converging to zero, although its very slow (w needs to be high or simulation time needs to be very long), here is the simulink code, and the scope output, the only custom things to simulink is a fixed simulation step of 0.01.
Original function is A*sin(wt), with A=2 and w = 60 modeled as a differential equation of x''(t) = -w² *x(t), x'(0) = Aw and x(0) = 0
I think the problem is a rounding error since it is very slow, but I don't know how to fix it

 Respuesta aceptada

Paul
Paul el 10 de Abr. de 2024

1 voto

Setting the fixed-step solver to ode8 seems to work pretty well for the problem shown in the question with a fixed step of 0.01. Don't know how well ode8 will work for other choices of w and step size, but I suspect it will be better than any of the others for this particular system.

1 comentario

Lucas duboc
Lucas duboc el 11 de Abr. de 2024
thank you, worked fine now, but got a little choppy with a 0.01 step, but the 0.001 step works just as well

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Simulink en Centro de ayuda y File Exchange.

Productos

Versión

R2023a

Preguntada:

el 10 de Abr. de 2024

Comentada:

el 11 de Abr. de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by