Get a sorted matrix of eigen vectors

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)

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

Asked:

on 29 Nov 2015

Answered:

on 29 Nov 2015

Community Treasure Hunt

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

Start Hunting!