0

我有以下代码:

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

我计算两个矩阵的列的 pearson 相关性。这对我来说很好,结果是正确的。然而,这个过程似乎非常非常缓慢。有谁知道如何在这里加速计算?

4

2 回答 2

3

您可以使用corr统计工具箱中的完全删除循环

>> matrixA = randn(100, 256);
>> matrixB = randn(100, 10000);
>> size(corr(matrixA, matrixB))
ans =

   256   10000
于 2015-06-10T13:05:05.387 回答
1

只需连接矩阵,在一次操作中计算所有相关性,然后提取相关的。

>> matrixA = rand(100,256);
>> matrixB = rand(100,10000);
>> matrixC = [matrixA,matrixB];
>> c = corrcoef(matrixC);
>> correlation_matrix = c(1:256, 257:10256)

应该快很多。

于 2015-06-10T12:33:56.390 回答