Why is the result matrix “rho” of function corr (A, B) not a symmetric matrix?

4 views (last 30 days)
When I was browsing the ‘corr’ function examples provided on the official website, I found that the matrix rho in the result of corr (A, B) is not a symmetric matrix. This contradicts the mathematical knowledge I have learned, and I cannot understand why. Can someone help me? I would greatly appreciate it. The link is Linear or rank correlation - MATLAB corr (mathworks.com)

Accepted Answer

Bruno Luong
Bruno Luong on 4 Dec 2023
As the doc describe, for example
  • rho(2,1) is the correlation between X(:,2) and Y(:,1)
  • rho(1,2) is the correlation between X(:,1) and Y(:,2)
There is no reason why rho(2,1) must be equal to rho(1,2), as they involve two DIFFERENT pairs.

More Answers (1)

Torsten
Torsten on 4 Dec 2023
Moved: Torsten on 4 Dec 2023
corr(X,X) is symmetric, but why should corr(X,Y) be symmetric ? Element (i,j) is the correlation of column i of X and column j of Y, while element (j,i) is the correlation of column j of X and column i of Y.
  1 Comment
Steven Lord
Steven Lord on 4 Dec 2023
Instead of corr(X, X) you should probably just call corr(X). As stated on the documentation page for the corr function, "If you input only a matrix X, rho is a symmetric k-by-k matrix, where k is the number of columns in X. The entry rho(a,b) is the pairwise linear correlation coefficient between column a and column b in X."
The corresponding sentence for the two-input case does not include the word "symmetric".

Sign in to comment.

Products


Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!