Sudden Increases in Computational Noise During Simulation

3 ビュー (過去 30 日間)
tkarg
tkarg 2022 年 1 月 13 日
編集済み: Rangesh 2023 年 9 月 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 件のコメント
Ankit
Ankit 2022 年 1 月 20 日
can you please add here once 2018b version also?
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 Center および File ExchangeOrdinary Differential Equations についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by