我想不使用for-loop计算两组数据之间的相关性。对于循环,下面的代码是解决方案。
clear all
clc
x = [1 2 3 4 5 6 7];
y = [7 6 5 4 3 2 1];
sum = 0;
for i = 1:length(x)
sum = sum + (x(i)-mean(x))*(y(i)-mean(y));
end
p = sum/(length(x)-1)发布于 2014-10-04 01:06:58
按以下方式解决
clear all
clc
x = [1 2 3 4 5 6 7];
y = [7 6 5 4 3 2 1];
p = sum( (x-mean(x)).*(y-mean(y)))/(length(x)-1);发布于 2014-10-03 04:31:52
在我看来是协变的。将这些行向量列向量,然后取小对角线cov(x,y)的任一元素,您就会得到相同的结果。
发布于 2014-10-03 07:07:39
替换
sum = 0;
for i = 1:length(x)
sum = sum + (x(i)-mean(x))*(y(i)-mean(y));
end
p = sum/(length(x)-1)使用
p = sum( ( x-mean(x) ) .* ( y-mean(y) ) )/(length(x)-1)编辑:喔,应该读了注释。
https://stackoverflow.com/questions/26173273
复制相似问题