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 个评论

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

请先登录,再进行评论。

 采纳的回答

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

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Linear Algebra 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by