我想在不使用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)
答案 0 :(得分:1)
解决方法如下
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);
答案 1 :(得分:0)
看起来像我的协方差。制作那些行向量列向量,然后取小对角线cov(x,y)的任一元素,你应该得到相同的结果。
答案 2 :(得分:0)
替换
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)
编辑:哎呀,应该阅读评论。