How do I compute the mean correlation from a n by n correlation matrix?

10 次查看(过去 30 天)
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.

回答(1 个)

Jyotish Robin
Jyotish Robin 2017-3-30
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

Community Treasure Hunt

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

Start Hunting!

Translated by