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

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

Accepted Answer

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

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!