関数の中で関数を使用するには? How do I use a function in a function?

10 views (last 30 days)
松
on 8 May 2024
Commented: on 15 May 2024
写真は一例ですが,MATLAB functionの出力値を別のMATLAB functionの入力値として使用し,その出力値を元のMATLAB functionの入力値として使用したいのですが,エラーが出てしまいうまく動作しません.どのように改善すればいいのでしょうか.

Accepted Answer

Akash
Akash on 13 May 2024
Hi 松,
Simulink cannot solve algebraic loop, if it involves blocks that cannot be assigned algebraic variables. These blocks might include those with discrete outputs, non-double or complex outputs, Stateflow blocks, or nonvirtual subsystems.
When an algebraic loop is detected, you have to leave the loop as it is or you have to eliminate it. In some scenarios, adding an 'Initial Condition' block or an 'Algebraic Constraint' block may solve the problem, though it might not be sufficient for all cases. Alternatively, introducing a small delay into the loop, using either a 'discrete delay' block or a 'memory' block, can sometimes effectively remove the loop by breaking the immediate dependency cycle.
For more information and potential solutions to algebraic loops in Simulink, you can go through the MATLAB Central discussion linked below.

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!