Convert covariance matrix to correlation matrix

Version 1.0.0.0 (1.76 KB) by Denis
Converts covariance matrix to correlation matrix setting exactly 1-s on its main diagonal
1.7K Downloads
Updated 10 Jul 2008

View License

The function is "remix" of native matlab cov2corr() function, which produces correlation matrix with elements on its main diagonal slightly greater or less then 1. So it can't be used in various further computations, for example in squareform() function.

The problem can be resolved simply by setting all the diagonal elements to 1 (freaky way) or by using variance instead of std while computing correlation matrix (covariance(x,y)/sqrt(var(x)*var(y)) instead of covariance(x,y)/(std(x)*std(y))).

Cite As

Denis (2024). Convert covariance matrix to correlation matrix (https://www.mathworks.com/matlabcentral/fileexchange/20630-convert-covariance-matrix-to-correlation-matrix), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2008a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.0.0