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

Respuestas (1)

Tushar Aggarwal
Tushar Aggarwal el 29 de Nov. de 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);

Categorías

Más información sobre Linear Algebra en Centro de ayuda y File Exchange.

Preguntada:

el 29 de Nov. de 2015

Respondida:

el 29 de Nov. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by