In MATLab,
I am unsure how to take the output from an eigenvalue calculation to then use in another calculation.
For example I input
A = [1 2 3; 1 2 3; 1 2 3];
L = eig(A)
%This is where i need to assign variable names to the eigenvalues returned and order them from largest to smallest.
Thanks!

回答 (1 件)

Star Strider
Star Strider 2021 年 9 月 6 日

0 投票

Just subscript the original vector to refer to them individually —
format long G
A = [1 2 3; 1 2 3; 1 2 3];
L = eig(A)
L = 3×1
5.99999999999999 -4.46188628311578e-16 -5.6378189834996e-18
format short
L(1)
ans = 6.0000
L(2)
ans = -4.4619e-16
L(3)
ans = -5.6378e-18
.

1 件のコメント

Walter Roberson
Walter Roberson 2021 年 9 月 7 日
You could proceed to
E1 = L(1);
E2 = L(2);
E3 = L(3);
but then when you went to order them, it would be far easier to use
sorted_eig = sort(L,'descend')
than it would be to use
if E1 >= E2
if E1 >= E3
sorted_eig = [E1, E2, E3];
else
sorted_eig = [E3, E1, E2];
end
else
... and more tests
end
Putting them into individual variables is Not Helpful for this purpose.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeLinear Algebra についてさらに検索

製品

リリース

R2021a

質問済み:

2021 年 9 月 6 日

コメント済み:

2021 年 9 月 7 日

Community Treasure Hunt

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

Start Hunting!

Translated by