Get a sorted matrix of eigen vectors

1 view (last 30 days)
Tushar Aggarwal
Tushar Aggarwal on 29 Nov 2015
Answered: Tushar Aggarwal on 29 Nov 2015
I have to write a function that takes in X (N*D data matrix) and return eigenvecs a D*D matrix, normalized eigenvectors (with length=1) sorted based on its eigenvalue magnitude (with d-th column corresponds to eigenvector with the d-th biggest eigenvalue).
How can I use eig to solve this problem. eig take sonly square matrix but X here id N*D

Answers (1)

Tushar Aggarwal
Tushar Aggarwal on 29 Nov 2015
Normalize X to have 0 mean
X=X-mean(X(:));
calculate covariance
covx = cov(X);
and then eignvectors and eigenvalue
[a,b] = eig(covx);

Categories

Find more on Linear Algebra 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!