Simulink Error Message "Derivative of state '1' in block ____ at time 0.0 is not finite. The simulation will be stopped. There may be a singularity in the solution."

316 views (last 30 days)
I need help figuring out why I am getting the error message: "Derivative of state '1' in block 'SimulinkModel/EQ2 Intergrator' at time 0.0 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) ". I have tried reducing the "Absolute Tolerance" in both the "Configuration Paramters" for the solver and each intergrator block's "Block Parameters". However, any combination of decreasing these values does not change the error message.
Please help me figure out why I am getting this error message and how to fix it.
Thank you

Answers (2)

Nishant Gupta
Nishant Gupta on 24 Jan 2020
In the Configuration Parameters, set the diagnostic "Inf or NaN block output" to 'error', you will get the following error:
"An error occurred while running the simulation and the simulation was terminated"
Caused by:
  • Block 'SimulinkModel/EQ2 Matrix Division 1' outputs 'NaN' for element 1 of output port 1 at major time step 0
This blocks has a divide by zero, which creates a Inf that is fed to an Integrator, generating this error.
So, avoid division by zero in the logic.
  3 Comments

Sign in to comment.


Hammed
Hammed on 18 Dec 2023
Continuous state '1' of 'FCCU/dTreg//dt/Integrator' at time 2.8042556824342819 is not finite. Simulink will terminate the simulation. There may be a singularity in the solution. Check the model 'FCCU' for errors. Try reducing the fixed step size or tighten the error tolerances for variable-step solvers.
please i need help on how to solve this issue

Categories

Find more on General Applications in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!