Sudden Increases in Computational Noise During Simulation
5 次查看(过去 30 天)
显示 更早的评论
In my Simulink model, a signal of interest should occur to be zero. Due to computational errors, it has some noise, I understand that. The thing I do not understand is that this computational noise level is suddenly increased multiple times during the simulation. As the picture below shows, at least 4 update in the noise amplitude can be counted. If the increase in the noise amplitude was continuous, it could have been explained as accumulation of errors, but here I see sudden changes as if Simulink decides to increase computational error tolerance.

The model generating this result seems like this:

I am using variable-step solver (ode45). Duration of the simulation is 100000 seconds. I tried disabling absolute tolerance auto scaling but it did not change anything. Also, I suspected accumulation of error at the sinusoidal wave, but the reason is not that either.
I wonder why this happens and how to avoid it. I have attached the simulink model for reproducability.
2 个评论
Mathieu NOE
2022-1-20
hello
I would prefer to run a fixed step solver - can you try this ?
IMHO, I would go for discrete models + fixed step solver
回答(1 个)
Rangesh
2023-9-29
编辑:Rangesh
2023-9-30
Hi tkarg,
I understand that you want to reduce the noise in the Simulink computations. To reduce noise in simulations, consider using a fixed step solver instead of a variable step solver. Variable step solvers can introduce more noise when there are numerical instabilities or rapid transitions in the system. By using a fixed step solver, you can mitigate these issues and achieve more stable and accurate results.
Attached below is the result generated by your model obtained using fixed step solver:

You can refer to the following documentation on the usage of different solvers:
I hope this resolves your query.
Thanks,
Rangesh
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Ordinary Differential Equations 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!