How to solve an algebraic loop without adding a delay?

21 Ansichten (letzte 30 Tage)
Yidan Gao
Yidan Gao am 19 Dez. 2021
I have built a feedforward control system in Simulink like below. There exist a algebraic loop in the circled part where the two inputs have buffers with size 5 and the output is a buffer with size 1 convering the 1x5 vector to scalar. This error could be solved by adding a memory but the time delay caused by the memory mixes up the final result.
Is there any method I could use to solve this algebraic loop error without adding a time delay?

Antworten (1)

Sivani Pentapati
Sivani Pentapati am 4 Jan. 2022
Hi Yidan,
Based on my understanding you want to eliminate algebraic loops in your model without using delay block. This can be done by solving algebraic loops manually, where you would specify an initial guess for an algebraic state or an algebraic state variable.
You can also try enabling "Minimize algebraic loop occurrences" option where simulink tries to eliminate artificial algebraic loops. Please refer to this answer for more information on addressing algebraic loops.

Kategorien

Mehr zu General Applications finden Sie in Help Center und File Exchange

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by