获得多个向量之间的相似度?

时间:2014-05-23 11:13:03

标签: matlab signal-processing

我写了一个程序来分析多个音频文件,算法很长,但现在我有一个我期待的结果,问题是如何描述我得到的不同矢量之间的相似度: enter image description here enter image description here enter image description here

我知道交叉相关是一种方法,但我不能从结果中得出结论:

xcorr(x1,x2,'coeff')

任何我得到的一些我无法解释的数字。所以我的问题是如何评估不同曲线之间的相似性,请我也要求代码,所以我可以理解,即使它是一行。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

使用corrcoef并查看非对角线值。例如:

>> x1 = 1:12;
>> x2 = 1:12;
>> c = corrcoef(x1,x2);
>> c(1,2)
ans =
     1 %// equal vectors

>> x2(end) = 13;
>> c = corrcoef(x1,x2);
>> c(1,2)
ans =
    0.9977 %// slightly different

>> x2 = rand(1,12);
>> c = corrcoef(x1,x2);
>> c(1,2)
ans =
    0.0349 %// hardly any correlation