# Derivative of state '1' in block 'X/Y/Integrator' at time 0.55 is not finite.

633 views (last 30 days)

Show older comments

##### 4 Comments

Sam Chak
on 14 Apr 2023

Hi @MASSAMBA

Please post your Simulink model (a snapshot) on a New Question. It allows to use to visually inspect if there is any block that cause the problem.

By the way, most of the time, the true singularity problem cannot be solved by merely reducing the fixed step size or by tightening the error tolerances. Take note!

Sourabh
on 22 May 2023

Edited: Walter Roberson
on 22 May 2023

mdl = 'rl_exam'

obsInfo = rlNumericSpec([2 1]);

obsInfo.Name = 'observations';

obsInfo.Description = 'integrated error and error';

actInfo = rlNumericSpec([1 1]);

actInfo.Name = 'PID output';

env = rlSimulinkEnv(mdl,[mdl '/RL Agent'],obsInfo,actInfo)

agentOpts = rlDDPGAgentOptions(...

'SampleTime',0.01,...

'TargetSmoothFactor',1e-3,...

'DiscountFactor',0.99,...

'ExperienceBufferLength',100000,...

'MiniBatchSize',64,...

'NumStepsToLookAhead',2);

agent = rlDDPGAgent(obsInfo,actInfo,agentOpts)

This is the code i am using and i am getting

- Algebraic state in algebraic loop containing 'rl_exam2/calculate reward/Sum1' computed at time 0.30000000000000004 is Inf or NaN. There may be a singularity in the solution. If the model is correct, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances) or tweak the initial guess of algebraic loop variable values.

as error . i dont know how to attach the simulink file. i am stuck from last 5 days on this, any help would be great.

### Answers (9)

Sorelys Sandoval
on 21 Aug 2016

Hi, I had the same problem and the next thing worked for me:

Go to model configuration parameters/Solver/Solver Options:

Type: Variable-step

Solver: ode15s (stiff/NDF)

and that's all. Hope it works for you :D

##### 20 Comments

Nicolas CRETIN
on 26 Apr 2024

Edited: Nicolas CRETIN
on 21 May 2024

I don't have exactly the same error, but the following has helped in my case: I reduced the relative tolerance in the solver parameters:

hope it can help someone!

Sebastian Castro
on 4 Nov 2015

This usually has to do with really large or infinite signals feeding into an Integrator block. Numerical solvers (expectedly) have trouble integrating such large signals and therefore this leads to errors.

Typical causes can be divide by zero (1/0 = inf) or general unstable dynamics that quickly blow up over time. You should check that in your model. It can help to use Port Value Displays as you step through the model to figure out why this happens.

- Sebastian

##### 0 Comments

Abhiram V. P. Premakumar
on 1 Apr 2021

Edited: Abhiram V. P. Premakumar
on 30 Jun 2023

##### 9 Comments

OLUWASEUN ADEKOYA
on 30 Jun 2023

@Abhiram V. P. Premakumar It would be great if you could be more elaborate on what specific values you put into what. For example, the clock, the only option I see here is decimation (which ofcourse only permits positive integer values). Is that the threshold value you are referring to?

Also, MATLAB's Simulink signals an error when a port is empty. Should one worry about that?

Finally. did you mean "integrator block" when you refer to "divide block"?

Thanks in anticipation.

Abhiram V. P. Premakumar
on 30 Jun 2023

ahmet akgün
on 2 May 2021

Adaptive Sliding-Mode Control for Boost DC–DC Converters simulation simulation fails;''Derivative of state '1' in block 'power_BoostConverter_Adaptive_SMC_math/TSMC Controller/Integrator' 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) ''

How to fix this error?

##### 6 Comments

Ambe Harrison
on 23 Aug 2022

Hello,ahmet akgün. I am presently working on a Back steeping controller. Face thesame problem with the integrator. Please have you solved it.

If possible we may exchange more via email, ambeharrison2000@gmail.com

Zakarya Motea
on 10 Dec 2023

Pavke
on 7 Mar 2023

Hello guys

I am doing a project in simulink and I have a problem. It is about braking an asynchronous motor with direct current, which I made (it works correctly), and it is necessary to connect that system to the distribution network (I use IEEE Bus 13). I connected the braking system of the asynchronous motor to the distribution network, and the system starts to work, it goes down from 1800 reversions and comes to 1480, and by the end of the simulation it stands at 1480, the engine will not brake and the simulation does not finish to the end and the following error occurs :

An error occurred while running the simulation and the simulation was terminated Caused by: Derivative of state '1' in block 'distributivnamrezamodel/Transfer Fcn' at time 0.991475799999991 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).

How to fix this problems?

Thank you

##### 2 Comments

Daniel Joseph
on 28 Mar 2023

Anton
on 23 Apr 2023

Edited: Walter Roberson
on 22 May 2023

Hello, I have the same error. Please help me figure out what's wrong.

K1 = 2000;

K2 = 1;

Kk1 = 0.0012;

T1 = 0.2;

T2 = 0.005;

Tk1 = 0.0001;

T3 = 0.1;

Kt = 0.5;

tp = 0.280;

##### 4 Comments

Sam Chak
on 23 Apr 2023

Edited: Sam Chak
on 23 Apr 2023

Saleh Altbawi
on 24 Apr 2023

Yingxin Zhang
on 22 May 2023

hey i have the same problem, can you help me?

##### 1 Comment

OLUWASEUN ADEKOYA
on 30 Jun 2023

Any luck on this yet?

I'm currently experiencing some similar issues with this as well. Thanks.

Guy Rouleau
on 25 Jul 2024

I describe the most common reasons for this error in this blog post:

The most common causes are:

- A modeling error making the equations diverging
- Too large step size
- Division by zero

##### 2 Comments

Guy Rouleau
on 3 Sep 2024 at 16:33

Set this diagnostics to Error, it will point to the block where the division by zero happens:

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!