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