- https://www.mathworks.com/help/matlab/ref/tril.html
- https://www.mathworks.com/help/matlab/ref/mean.html
How do I compute the mean correlation from a n by n correlation matrix?
6 views (last 30 days)
Show older comments
I have a 34 x 34 correlation matrix and would like to compute the mean correlation (i.e., average of correlations above or below the diagonal). I was wondering if anyone could show me how to do that.
0 Comments
Answers (1)
Jyotish Robin
on 30 Mar 2017
Hi Liane!
You could accomplish the task by making use of the functions 'tril' and 'mean'.
If a is your matrix, the following command returns the upper triangular elements (not including the diagonal elements) as a column vector:
colvect= a(find(~tril(ones(size(a)))))
Now if you do
mean(colvect)
It will give you the average of upper triangular entries of the matrix a.
In a similar way, you could deal with the lower triangular entries also. You could learn more about 'tril' and 'mean' functions from the following documentations:
Hope this helps!
Regards,
Jyotish
0 Comments
See Also
Categories
Find more on Operating on Diagonal Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!