Eigenvectors of a 3D eigenvalue matrices
4 ビュー (過去 30 日間)
古いコメントを表示
I have three matrices called Lambda1, Lambda2 and Lambda3. The size of each matrix is 512x512x220. Lambda1 contains eigenvalues λ1 for each x, y and z, Lambda2 contains eigenvalues λ2 for each x, y and z and Lambda3 contains eigenvalues λ3 for each x, y and z.
How do I calculate eigenvectors for every x, y and z of the 512x512x220 matrix?
2 件のコメント
Matt J
2022 年 3 月 18 日
You cannot calculate eigenvectors knowing only the eigenvalues and nothing else. You need the matrix that the eigenvalues came from.
回答 (1 件)
Jaswanth
2023 年 10 月 11 日
Hi Pseudoscientist,
Considering that you have the values of the mentioned three matrices, Lambda1, Lambda2, and Lambda3, each containing eigenvalues for each x, y, and z coordinate, you can create eigenvectors using the "eig" function.
Please refer the following sample code:
% Create Eigenvalues matrix
% The diag() function is used to create a diagonal matrix with these eigenvalues as its diagonal elements.
Eigenvalues = diag([lambda1, lambda2, lambda3]);
% Solve eigenvalue problem
[V, ~] = eig(Eigenvalues);
For more information on the functions used here, please refer to the following resources:
- “eig”: https://in.mathworks.com/help/matlab/ref/eig.html
- “diag”: https://in.mathworks.com/help/matlab/ref/diag.html?searchHighlight=diag&s_tid=srchtitle_support_results_1_diag
Hope this Helps.
1 件のコメント
Christine Tobler
2023 年 10 月 11 日
As Matt J. said above, it's not possible to compute the eigenvectors given only the eigenvalues. Here you are simply constructing a new matrix, for which the eigenvectors can be computed, but they won't match the eigenvectors of the original matrix (in fact, V will just be the identity matrix here).
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!