Eigenvectors of a 3D eigenvalue matrices

9 次查看(过去 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
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
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:
  1. “eig”: https://in.mathworks.com/help/matlab/ref/eig.html
  2. “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
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).

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Linear Algebra 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by