Simulink presenting a convergence error

4 次查看(过去 30 天)
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

采纳的回答

Paul
Paul 2024-4-10
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 个评论
Lucas duboc
Lucas duboc 2024-4-11
thank you, worked fine now, but got a little choppy with a 0.01 step, but the 0.001 step works just as well

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 General Applications 的更多信息

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by