自己相関、相互相関について

14 ビュー (過去 30 日間)
YUTA SUZUKI
YUTA SUZUKI 2017 年 12 月 8 日
コメント済み: Akira Agata 2017 年 12 月 10 日
1024個の加速度データの自己相関および相互相関を算出しています。 以下の部分までは算出できています。 グラフプロットの際に、縦軸が相関係数(0-1)、横軸がlagとなるようにプロットしたいのですが、わかりませんでした。 ご教授いただけないでしょうか? 宜しくお願い致します。
if true
% code
end
x = data(:,1);
y = data(:,2);  %データ読み込み
r = xcorr(x,y) %相互相関 
r = xcorr(x)  %自己相関

採用された回答

Akira Agata
Akira Agata 2017 年 12 月 9 日
関数 xcorr のヘルプページ にある例が参考になると思います。
[r,lags] = xcorr(x,y) のように使うことで、相関係数 r とラグ lags それぞれの配列を出力することができるので、あとは plot(lags,r) とすれば、相関係数のラグ依存性のグラフを作成することができます。
  2 件のコメント
YUTA SUZUKI
YUTA SUZUKI 2017 年 12 月 9 日
回答ありがとうございます。例えば自己相関の場合に下記のようにしていますが、縦軸が相関係数になりません(添付ファイル参照)。
[r,lags] = xcorr(ax)
   plot(lags,r)
Akira Agata
Akira Agata 2017 年 12 月 10 日
元のデータがスケーリングされていない場合、xcorr 関数の正規化オプションを指定する必要があります。たとえば以下のように指定すると、ラグがゼロのときに相関係数が 1 となるようスケーリングされます。
[r,lags] = xcorr(ax, 'coeff')

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

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange記述統計 についてさらに検索

Community Treasure Hunt

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

Start Hunting!