Why should I tighten error tolerances if I am violating minimum stepsize?

10 次查看(过去 30 天)
The followiing is a typical warning message of Simulink that can be displayed after a model has been simulated:
"Solver was unable to reduce the step size without violating minimum step size of [...]"
The Diagnostic Viewer then proposes some fixing actions, most of which I understand. However I cannot grasp the following one:
"Try tightening the error tolerances, and/or the tolerances for computing consistent conditions"
If I tighten the error tolerances, I expect the solver to take even smaller steps, and so to violate the minimum step size even more easily.
What am I missing?

采纳的回答

Torsten
Torsten 2022-11-23
编辑:Torsten 2022-11-23
The stepsize reduction down to the minimum stepsize often occurs because in previous time steps, the solver was not exact enough in computing the solution variables. This may lead to unphysical results. The errors in previous steps cannot be repaired later, and the solver quits when the minimum stepsize is reached. Tightening the error tolerances can lead to longer computation times and smaller step sizes, but can often prevent the solver from reaching out because of accumulated inaccuracies in computation.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Discrete Events and Mode Charts 的更多信息

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by