Simulink上で,時刻tの時点において,tからNステップ分前までのデータを用いてデータの分散を計算したく思っています。
良い方法をご教示いただけないでしょうか?

 採用された回答

交感神経優位なあかべぇ
交感神経優位なあかべぇ 2024 年 6 月 16 日

1 投票

Tapped Delayブロックを使用すれば、現在時刻からNstep前までの値の配列を取得できます。
この配列から分散を計算できます。

1 件のコメント

貴弘
貴弘 2024 年 6 月 17 日
ありがとうございます!

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

その他の回答 (2 件)

Toshinobu Shintai
Toshinobu Shintai 2024 年 6 月 14 日

1 投票

以下の質問に回答されているように、MATLAB Functionというブロックを用いてリングバッファを構築すると、現在時刻からNstep前までの値を配列に格納できます。
この配列に対して、平均を計算して、各要素から引き算したものの2乗和を計算し、Nで割れば分散を得ることができます。
Hiroshi Iwamura
Hiroshi Iwamura 2024 年 6 月 16 日

1 投票

DSP System Toolbox をお持ちであれば、
Buffer ブロックを使うか、
Moving Variance ブロックでウィンドウ幅を指定することでもできます。
Varianceブロックでもできますが、こちらの "running" モードは廃止予定です。

カテゴリ

ヘルプ センター および File Exchange で モデル化 についてさらに検索

製品

リリース

R2023a

タグ

Community Treasure Hunt

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

Start Hunting!