How do I sort the issue of infinite derivative of a state in a PI controller?

1 view (last 30 days)

Answers (1)

Sam Chak
Sam Chak on 14 Mar 2024
When solving differential equations in Simulink, it's important to prevent the state from going haywire. Consider introducing constraints to ensure that the state remains outside the event horizon. Once the state crosses the event horizon, indicated by a specific threshold value, it becomes trapped in the gravitational pull of division-by-zero and gets compressed into the singularity at the Integrator block.
  2 Comments
Sam Chak
Sam Chak on 14 Mar 2024
Unfortunately, there is no magical button to click that will intelligently resolve the singularity issue for you. Typically, the issue arises from the person who modeled the dynamic system in Simulink. Only the designer knows the governing differential equations, selected specific blocks, and wrote the MATLAB code hidden beneath the masked subsystems.
If you are familiar with the system you have designed based on the governing differential equations, you can inspect the blocks and code to identify the root cause of the singularity. Look for any division terms and trigonometric terms like tan(x) or 1/sin(x), or 1/cos(x). Sometimes, human error can destabilize the system. For instance, the designer might have unintentionally entered a plus sign '+' instead of a minus sign '-', or entered the value '1e2' instead of '1e-2'. Such subtle errors can easily go unnoticed, even by experienced designers like myself.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!