Info

この質問は閉じられています。 編集または回答するには再度開いてください。

Algebraic Loop in Simulink, missing datas

1 回表示 (過去 30 日間)
Tom Bernand
Tom Bernand 2019 年 8 月 30 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
Hello
I have a system which is strongly non-linear and can only be calculated by a loop in Simulink. The system is implemented using two "Matlab function" blocks.
The individual blocks each provide a good function flow (see Figure 1).
If I now connect the blocks together and interrupt the algebraic loop with the help of a "unit delay", then every second value is missing (see figure 2).
a schematic simulink model is attached
How can I fix this?
Greeting
Tobias

回答 (1 件)

Jesús Zambrano
Jesús Zambrano 2019 年 8 月 30 日
編集済み: Jesús Zambrano 2019 年 8 月 30 日
Hi,
I see you have tried to introduce delays. Since you say it can only be solved in a loop (so it is not possible to solve the loops manually), then try to check the inital guess. Here i copy what is highlighted in the documentation:
Create Initial Guesses Using the IC and Algebraic Constraint Blocks
Your model might contain loops for which the loop solver cannot converge without a good, initial guess for the algebraic states. You can specify an initial guess for the algebraic state variables, but use this technique only when you think the loop is legitimate.
There are two ways to specify an initial guess:
  • Place an IC block in the algebraic loop.
  • Specify an initial guess for a signal in an algebraic loop using an Algebraic Constraint block.
Hope it can help you!
  2 件のコメント
Tom Bernand
Tom Bernand 2019 年 9 月 3 日
Hi
thank you for the answer.
The IC block was a super idee : )
Greetings
Jesús Zambrano
Jesús Zambrano 2019 年 9 月 6 日
Great to hear it!
best,
Jesús

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by