Simulink, "Matlab function block" with constant input and dynamic output

4 ビュー (過去 30 日間)
Tom Bernand
Tom Bernand 2019 年 8 月 28 日
編集済み: Tom Bernand 2019 年 8 月 28 日
Hello,
I want to create a function block with constant inputs, but which has a dynamic output.
Specifically, my input gives me the start value for a function in the block. I want to output the calculated intermediate values (while - loop) in order to use them in another block.
Is this generally feasible with Simulink and if so, how?
Thank you and greetings
Tobias

回答 (1 件)

Walter Roberson
Walter Roberson 2019 年 8 月 28 日
No, it does not make sense in Simulink.
What you can do is use a discrete time system. Use a MATLAB Function Block. The state information will tell you when you are initializing; read the inputs and store whatever necessary information into persistent variables. Then after that, each time the function is invoked, refer to the state information you saved in persistent variables and calculate one round of while loop, with the output being the results of the intermediate calculation.
  1 件のコメント
Tom Bernand
Tom Bernand 2019 年 8 月 28 日
編集済み: Tom Bernand 2019 年 8 月 28 日
Thank you very much for the quick answer.
The idea with the persistent variables is very good.
However, I don't know exactly how to replace the while loop.
I would now proceed according to the following scheme. First call the function block. Calculate the values, then cache them and finally pass them on. In the next block they are then processed and introduced back into the first block. I would end the loop over a (for or while condition in the first block): Could this work?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeInteractive Model Editing についてさらに検索

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by