How to partition a matrix into components that are independent?

I'm going to partition a symmetric matrix (covariance matrix) into columns/rows that are independent. Any help is appreciated.

2 Comments

Do you mean that you want to extract certain values (rows/columns) and define them as new variables?
No. I have a symmetric matrix, a covariance matrix (40x40), which includes linearly dependent variables. I'm going to find variables that are linearly correlated, or those that are independent.

Sign in to comment.

Answers (2)

Is this what you want to do?
X = rand(4,4);
Xr = X(2,:) % Extract second row
Xc = X(:,3) % Extract third column

2 Comments

No. I have a cov matrix (40x40) that includes several linearly dependent variables, so I'm trying to find those variables.
The easiest way is probably to use the core MATLAB function corrcoef. The way I would suggest using it is to use the P (probability) values:
[R,P] = corrcoef(X)
[pr,pc] = find(P < 0.05)
and search for the lowest ones, or those that exceeded your limits, for instance P < 0.05 or lower. The find function will give you the row and column indices for those values. There may be other criteria, but this has the advantage of having statistical validity.

Sign in to comment.

help corr
Will calculate linear correlation between columns of a matrix.

Categories

Find more on Sparse Matrices in Help Center and File Exchange

Tags

Asked:

MJ
on 26 May 2014

Commented:

on 26 May 2014

Community Treasure Hunt

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

Start Hunting!