How to partition a matrix into components that are independent?

2 views (last 30 days)
I'm going to partition a symmetric matrix (covariance matrix) into columns/rows that are independent. Any help is appreciated.
  2 Comments
Mahdi
Mahdi on 26 May 2014
Do you mean that you want to extract certain values (rows/columns) and define them as new variables?
MJ
MJ on 26 May 2014
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)

Star Strider
Star Strider on 26 May 2014
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
MJ
MJ on 26 May 2014
No. I have a cov matrix (40x40) that includes several linearly dependent variables, so I'm trying to find those variables.
Star Strider
Star Strider on 26 May 2014
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.


Kelly Kearney
Kelly Kearney on 26 May 2014
help corr
Will calculate linear correlation between columns of a matrix.

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!