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

Antworten (1)

Tushar Aggarwal
Tushar Aggarwal am 29 Nov. 2015

0 Stimmen

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

Kategorien

Mehr zu Linear Algebra finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 29 Nov. 2015

Beantwortet:

am 29 Nov. 2015

Community Treasure Hunt

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

Start Hunting!

Translated by