Singularity error - Simulink
67 views (last 30 days)
Show older comments
An error occurred while running the simulation and the simulation was terminated Caused by: Derivative of state '1' in block 'XXXXXX/Receiver/pre-amp/CTLE mode 2/Transfer Fcn15' at time 3.3003349235944607E-9 is not finite. The simulation will be stopped. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances)
Please help.
7 Comments
Herman
on 31 Jan 2025 at 23:21
Moved: Walter Roberson
on 1 Feb 2025 at 2:32
Which kind of filter do I put for the simulink model with an error of :
- Derivative of state '1' in block 'MATLAB_MPPT_BOOST_CONVERTER/PID Controller/Integrator/Continuous/Integrator' at time 0.00019999999999999998 is not finite. The simulation will be stopped. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances) to avoid it
Walter Roberson
on 1 Feb 2025 at 2:37
Typically, putting in a filter will not solve the problem.
Sometimes reducing the step size solves the problem. However, typically when reducing the step size would solve the problem, the problem is not occuring at a round time such as 0.0002 .
More likely your problem is either in how you initialized your components, or else the problem is in your model not being set up correctly. If you have algebraic loops then your model is probably not correct.
Answers (1)
Suhan
on 19 Feb 2018
Hi,
The singularity issues occur due to model instabilities. Instabilities may occur in a model due to a wide variety of reasons and one of them is the reference is too quick that the plant does not have enough time to respond and runs into singularities. This can be eliminated by putting in a filter on the reference signal.
Below is information on three tools that may assist you in further improving the model stability, if you are not already familiar with them:
1. Solver Profiler: The Solver Profiler can help you visualize your model dynamics and see where they may be unstable. Using the Solver Profile is described at this link: https://www.mathworks.com/help/simulink/ug/examine-solver-behavior-using-solver-profiler.html
2. Log the Simulink states, so you may view their values after running the simulation (perhaps stop the simulation before the error or use the above approach to remove the error): https://www.mathworks.com/help/simulink/examples/logging-states-in-structure-format.html
3. Use Stepping Options to pause the simulation and view signal values before the error occurs: https://www.mathworks.com/help/simulink/ug/simulation-stepper-interface.html
0 Comments
See Also
Categories
Find more on Model Verification in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!