How to update values ​​in Simulink

8 ビュー (過去 30 日間)
Shunsuke kishi
Shunsuke kishi 2019 年 12 月 18 日
回答済み: Mark McBroom 2019 年 12 月 29 日
I am creating a simulation with Simulink. I originally wrote the code in MATLAB script, but it is necessary to block it, and it is blocked mainly using MATLAB function. I want to use the value calculated in the previous loop in the next loop. How should I do that? Here is a simple block. Specifically, a wants to take a value from "initial_value" in the first loop, but wants to update the value from "calculate" in the subsequent steps.

回答 (2 件)

Fangjun Jiang
Fangjun Jiang 2019 年 12 月 18 日
All you need is to declare "a" as a persistent variable.
doc persistent
  1 件のコメント
Shunsuke kishi
Shunsuke kishi 2019 年 12 月 19 日
Sorry, I forgot to post the photo. I want to use "a" output by "calculate" in the next loop as shown in this photo. When written in code, it looks like this:無題111.png
a = 0;
a0 = 0.1;
while(1)
a = a + a0;
end

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


Mark McBroom
Mark McBroom 2019 年 12 月 29 日
It would be easier to do this with basic simulink blocks. See attached screen shot. Unit delay block by default has initial value of a=0 but can be set to non-zero vaue.

カテゴリ

Help Center および File ExchangeCreate Large-Scale Model Components についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by