Error in Integrator is not finite

조회 수: 66 (최근 30일)
Mostafa Sallam
Mostafa Sallam 2018년 9월 9일
댓글: Walter Roberson 2023년 3월 26일
I received the following error:
Derivative of state '1' in block 'PSO_PFL/Crane Model/Integrator1' at time 4.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 try all previous answers but without positive result

답변 (2개)

Titus Edelhofer
Titus Edelhofer 2018년 9월 9일
Hi Mostafa,
interesting that the error happens at time 4.0. This could indicate, that indeed something happens in your model at t=4.0. Take a closer look at blocks which change their behavior at t=4.0.
I understand you tried the suggestions? Are you using variable or fixed step solver?
Titus
  댓글 수: 2
Dawit Kefale
Dawit Kefale 2023년 3월 26일
I have also faced similar problems, but it can not be fixed
Walter Roberson
Walter Roberson 2023년 3월 26일
I am not clear as to which situation you have:
  1. The model mathematics are right, but with the initial conditions you use, you get a singularity, but a different reasonable initial condition works?
  2. The model mathematics are right, but under the initial conditions you need to use, you get a singularity -- such as you need to travel through an instability, and you need to switch to a different model that can handle the situation?
  3. The model mathematics are right, but under the initial conditions you need to use, you get a singularity -- such as you need to travel through an instability, and there is no known model that can handle the situation?
  4. The model mathematics are right, but you made a mistake in implementing the model, and need to debug the situation?
  5. The model mathematics are wrong and you need to go back to reference works and figure out the correct mathematics ?
  6. There is a bug in Simulink that you need to isolate and report to Mathworks ?

댓글을 달려면 로그인하십시오.


Robert
Robert 2018년 12월 14일
Hi Mostafa,
use a relational operator block along with an assertion block to check that your integrator input is always finite. If not so, try to trace it back and fix it there to always be finite.
If the input is finite, there is the possibility you ran into a simulink bug that causes a completely wrong error message. I had a table lookup where the lookup data contained a nan-value. Whenever it had to use this value for interpolation, i got above error message for an integrator far away from the table lookup, even when i made sure a nan-output from the lut is never used by passing the output through a switch controlled by an isnan relational operator, replacing nan by a 1 in case. i corrected the lut data and the problem was solved.
Best regs,
Robert

카테고리

Help CenterFile Exchange에서 Classical Control Design에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by