How to compute the correlation between two metrices of same dimenstion (correlation between a column of a matrix to corresponding column of other matrix)?
2 次查看(过去 30 天)
显示 更早的评论
I have two matrix A and B. Both metrics are same dimenstion. I need to compute the correlation coefficient between [A(:,1), B(:,1)], [A(:,2), B(:,2)], ......., [A(:,n),B(:,n)]. It is a column of A to a corresponding a column in B. At the end I want the output like correlation cofficient of each column from A matrix to corresponding column of B matrix. How do I perform efficiently in MATLAB?
0 个评论
采纳的回答
Ive J
2021-9-4
A = rand(10, 3);
B = rand(10, 3);
R = diag(corr(A, B))
9 个评论
Ive J
2021-9-6
The previous one was technically the same. I included this line:
R2 = diag(corr(A, B)); % to compare (you don't need it for your large arrays)
only for you to see my approach does exactly what corr built-in function does, with the difference that it only calculates column-wise correlation coeffs and not all pairwise combinations. So, this is computationally more efficient and thanks to MATLAB, it's done multithreaded.
Glad it worked for you.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!