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

Risposte (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);

Categorie

Scopri di più su Linear Algebra in Centro assistenza e File Exchange

Richiesto:

il 29 Nov 2015

Risposto:

il 29 Nov 2015

Community Treasure Hunt

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

Start Hunting!

Translated by