Simulink上での分散の計算

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

 Accepted Answer

1 vote

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

More Answers (2)

Toshinobu Shintai
Toshinobu Shintai on 14 Jun 2024

1 vote

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

1 vote

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

Products

Release

R2023a

Community Treasure Hunt

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

Start Hunting!