我有以下代码:
for k = 1:256
for t = 1:10000
% R matrix
buffer = corrcoef(matrixA(:,k),matrixB(:,t));
correlation_matrix(k,t) = buffer (2,1);
end
end
我计算了两个矩阵列的皮尔森相关性。这对我来说很好,结果是正确的。然而,这个过程似乎非常缓慢。有没有人知道如何在这里加速计算?
答案 0 :(得分:3)
您可以使用统计工具箱中的corr
>> matrixA = randn(100, 256);
>> matrixB = randn(100, 10000);
>> size(corr(matrixA, matrixB))
ans =
256 10000
答案 1 :(得分:1)
只需连接矩阵,计算一次操作中的所有相关性,然后提取相关的数据。
>> matrixA = rand(100,256);
>> matrixB = rand(100,10000);
>> matrixC = [matrixA,matrixB];
>> c = corrcoef(matrixC);
>> correlation_matrix = c(1:256, 257:10256)
应该快得多。