Assigning variable names to eigenvalues

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!

Answers (1)

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 Comment

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.

Sign in to comment.

Categories

Find more on Linear Algebra in Help Center and File Exchange

Products

Release

R2021a

Asked:

on 6 Sep 2021

Commented:

on 7 Sep 2021

Community Treasure Hunt

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

Start Hunting!