Clear Filters
Clear Filters

i am getting when trying to 6th order dynamic equation uisng matlab function in simulink, '

1 view (last 30 days)
Derivative of state '1' in block 'Fccu_matlabFcn/Integrator2' at time 0.042441271689357414 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)

Answers (1)

nick
nick on 16 Aug 2024
Edited: nick on 19 Aug 2024
Hello Hameed,
The error usually occurs when large or infinite signals are fed into an 'Integrator' block. In this case, it is related to the block 'Integrator2'. This can be due to mathematical singularity such as divide by zero or unstable dynamics of the equations that increaes exponentially with time. Clearly, as shown in the shared image, the signals are quite large.
You can use the 'Port Value Labels' feature as you step through the model to identify the root cause. You may refer to the following documentation to learn more about debugging in Simulink:
Hope this helps!
  2 Comments
Sam Chak
Sam Chak on 16 Aug 2024
The "Port Value Label" likely does not assist in this case because the OP cannot verify the value of each term in the differential equations for dCcat/dt and dTris/dt.
The system may be either unstable or very stiff. If the OP believes that the system should be stable, it is likely that the equations were entered incorrectly due to human error and a lack of double-checking.
If the equations are 100% correct, then the destabilizing dynamics in the affected equations must be compensated for by a carefully designed nonlinear controller utilizing advanced mathematics (usually not taught).
If the OP is unable to design the controller, a reinforcement learning approach may be adopted. However, it requires users to have a thorough understanding of the desired outcomes based on measurable and intuitively interpretable factors.
For example, the OP wants the system to be "stable"; however, the term "stable" is an adjective that cannot be quantified. Therefore, the OP must find a way to interpret "stability" in the form of a mathematical expression that the algorithm can recognize.
It is important to note that the mathematical expression (aka Objective Function) should include the parameters that determine "how stable" the system is. Otherwise, a system could also be deemed "stable" as time approaches infinity, which is certainly undesirable. Consequently, the OP should investigate finite or fixed-time stability.

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!