Sudden Increases in Computational Noise During Simulation

2 次查看(过去 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
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
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

类别

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

产品

Community Treasure Hunt

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

Start Hunting!

Translated by