Why am I receiving error messages about singularities in my Simulink model?

I am receiving the following error messages about singularities in my Simulink model:

Derivative of block at time is Inf of NaN.  Stopping Simulation.  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.)

I have tried reducing the step size and adjusting tolerances, but I still receive this error message. I have also tried changing solvers, some solvers will just get to one point of the simulation, and hang.


Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.

Expert Answer

Kshitij Singh answered . 2021–10–23 05:36:42

This message may be caused by a singularity in your system. One situation where this may occur is if the values of your states differ by a large magnitude. If this is the case, the Simulink solver will have a hard time resolving your step size within the error tolerance as it attempts to “bounce” back and forth between the states.

To check if this is the case:

1. Return the states of your system as follows-

a) In the model editor go to Simulation-> Configuration Parameters

b) Select Data Import/Export, in the ‘Save to Workspace’ field, check ‘States’ to log the states as output

2. Run the simulation.

3. Plot:


Simple! That is me, a simple person. I am passionate about knowledge and reading. That’s why I have decided to write and share a bit of my life and thoughts to.