How to solve an algebraic loop without adding a delay?
29 次查看(过去 30 天)
显示 更早的评论
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?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/839295/image.jpeg)
0 个评论
回答(1 个)
Sivani Pentapati
2022-1-4
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.
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!