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."

305 次查看(过去 30 天)
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

回答(2 个)

Nishant Gupta
Nishant Gupta 2020-1-24
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 个评论

请先登录,再进行评论。


Hammed
Hammed 2023-12-18
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

类别

Help CenterFile Exchange 中查找有关 General Applications 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by