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

 채택된 답변

1 개 추천

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

추가 답변 (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!