Eigenvectors of a 3D eigenvalue matrices
11 次查看(过去 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!