Singularity error - Simulink
67 次查看(过去 30 天)
显示 更早的评论
An error occurred while running the simulation and the simulation was terminated Caused by: Derivative of state '1' in block 'XXXXXX/Receiver/pre-amp/CTLE mode 2/Transfer Fcn15' at time 3.3003349235944607E-9 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)
Please help.
回答(1 个)
Suhan
2018-2-19
Hi,
The singularity issues occur due to model instabilities. Instabilities may occur in a model due to a wide variety of reasons and one of them is the reference is too quick that the plant does not have enough time to respond and runs into singularities. This can be eliminated by putting in a filter on the reference signal.
Below is information on three tools that may assist you in further improving the model stability, if you are not already familiar with them:
1. Solver Profiler: The Solver Profiler can help you visualize your model dynamics and see where they may be unstable. Using the Solver Profile is described at this link: https://www.mathworks.com/help/simulink/ug/examine-solver-behavior-using-solver-profiler.html
2. Log the Simulink states, so you may view their values after running the simulation (perhaps stop the simulation before the error or use the above approach to remove the error): https://www.mathworks.com/help/simulink/examples/logging-states-in-structure-format.html
3. Use Stepping Options to pause the simulation and view signal values before the error occurs: https://www.mathworks.com/help/simulink/ug/simulation-stepper-interface.html
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 General Applications 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!