Eigenvalus and Eigenvectors, Forming matrices

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 Comments

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.
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.
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

Sign in to comment.

 Accepted Answer

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

More Answers (0)

Categories

Find more on Linear Algebra in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!