hi, if i have Eigenvalues and Eigenvectors matrices calculated from covariance matrix (A), how can i formed new matrix (H) that the first row for it is the eigenvector that corresponding to the largest eigenvalue, and similarly for the rest of rows.
H=[e1'; e2'; ... ;en']
thanks.

4 Kommentare

John D'Errico
John D'Errico am 26 Mär. 2018
Have you not shown exactly that? You show how to create H.
You don't know how to sort them, maybe?
Just create the matrix, than sort your eigenvalues. Now use the results from the sort (READ THE HELP FOR SORT) to sort the rows of your matrix in corresponding order.
mohammed abdul wadood
mohammed abdul wadood am 26 Mär. 2018
Bearbeitet: mohammed abdul wadood am 26 Mär. 2018
you mean if the Eigen values matrix is (V), and the Eigen vectors matrix is (M), we can just sort the (M) matrix and we get the (H) matrix
[M V]=eig(c) H=(rot90(M))'
thank you sir, actually I'm just a beginner in matlab so i don't have many idea, your answers help my a lot, thanks.
John D'Errico
John D'Errico am 26 Mär. 2018
Sort returns TWO outputs.
you can use sort to sort a vector. Then take the second argument from sort to sort a second array or vector. This is what birdman did for you in his answer.
thanks sir, thank you for your helping

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Birdman
Birdman am 26 Mär. 2018

0 Stimmen

One approach:
A=[2 4;5 1]
[V,D,~]=eig(A)
[~,idx]=sort(D(D~=0),'descend')
V(idx,:)=V.' %corresponds to your desired H matrix

Weitere Antworten (0)

Kategorien

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

Community Treasure Hunt

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

Start Hunting!

Translated by