MATLAB互相关自己的代码

MATLAB Cross Correlation Own code

我正在尝试理解我的前任编写的代码。她没有在 MATLAB 中使用 xcorr,而是执行了以下操作。显然这似乎有效。如果有人可以解释这里发生了什么,我将不胜感激。她通过在下面的代码中计算下面的变量 sym 来表示模式是对称的。

close all hidden

t = 0:0.01:2*pi;
x = sin(t)
plot(x,'k')
mu = mean(x)
sigma = std(x)

y = (x-mu)/(sigma);
hold on
plot(y,'r')

yrev = y(end:-1:1);
hold on 
plot(yrev)
hold on
sym = sum(y.*yrev/length(y))
plot(y.*yrev/length(y),'r*')

sym 是 y 和 y 的反转之间的 normalised cross-correlation

  • 如果sym接近于1,则y是对称函数。
  • 如果sym接近于零,则y是非对称函数
  • sym接近负一,则y为反对称函数

编辑:与xcorr

的关系

如果您按如下方式计算 sym,您将获得相同的结果:

sym = xcorr(y, yrev, 0, 'coeff')