離散自己/相互相関を計算する
[c [,lagindex]] = xcorr(x [,maxlags [,scaling]]) [c [,lagindex]] = xcorr(x,y [,maxlags [,scaling]])
実数または複素浮動小数点数のベクトル.
実数または複素浮動小数点数のベクトル.
デフォルト値は x.
スカラーで,1より大きな整数.
デフォルト値は n.
ただし,nはx,
yベクトルの長さの大きい方です.
文字列で,値は以下のどれか:
"biased", "unbiased",
"coeff", "none".
デフォルト値は "none".
実数または浮動小数点数のベクトルで,向きは
xと同じです.
行ベクトルで, cの値に
対応する添字(lag index)を有します.
c=xcorr(x)
は,以下のように正規化しない離散自己共分散を計算します:
そして,c を返します.
自己共分散の並びは,
となります.ただし,nは,
xの長さです.xcorr(x,y)
は正規化しない離散相互共分散を以下のように計算します:
結果をcに返します.
相互共分散の並びは,
となります.
ただし,nは,
xおよびy
の長さの大きい方です.maxlags 引数が指定された場合,
xcorr は c を
返し,共分散の並びは
と
なります.
maxlags が length(x)よりも
大きい場合, cの先頭と末尾の複数の値は
ゼロになります.
scaling 引数は,
cに結果を出力する前に
を正規化する方法を以下のように指定します:
c=
/n.c=
./(n-(-maxlags:maxlags)).c=
/(norm(x)*norm(y)).ifft(fft(x).*conj(fft(y)))により
を計算します.t = linspace(0, 100, 2000); y = 0.8 * sin(t) + 0.8 * sin(2 * t); [c, ind] = xcorr(y, "biased"); plot(ind, c) | ![]() | ![]() |

| バージョン | 記述 |
| 5.4.0 | xcorr追加. |