MATLAB交叉关联自己的代码

时间:2017-03-08 19:13:36

标签: matlab cross-correlation

我正在尝试理解我的前任编写的代码。她没有在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*')

1 个答案:

答案 0 :(得分:2)

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

  • 如果sym接近1,则y是对称函数。
  • 如果sym接近零,则y是非对称函数
  • 如果sym接近减1,则y是反对称函数

编辑:与xcorr

的关系

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

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