How to find a complex eigenvalue of a matrix

23 Ansichten (letzte 30 Tage)
MM
MM am 17 Dez. 2019
Beantwortet: MM am 3 Feb. 2020
I want to find the highest complex eigenvalue of a matrix A. For example:
lambda = eig(A)
I'll get:
lambda =
2.6955 + 0.0000i
-1.1216 + 3.9723i
-1.1216 - 3.9723i
-1.7535 + 0.0000i
-0.1240 + 2.2553i
-0.1240 - 2.2553i
When I do:
[lambda_max, index_max] = max(real(lambda))
I'll get:
lambda_max =
2.6955
While I would like to have
-0.1240
How can I do this?
(sometimes the imaginairy part of complex eigenvalues can be zero)
  10 Kommentare
Steven Lord
Steven Lord am 18 Dez. 2019
I think the cplxpair function may be of interest to you in making sure the complex conjugate pairs are grouped together.
Walter Roberson
Walter Roberson am 18 Dez. 2019
lambda = [
2.6955 + 0.0000i
-1.1216 + 3.9723i
-1.1216 - 3.9723i
-1.7535 + 0.0000i
-0.1240 + 2.2553i
-0.1240 - 2.2553i];
[uniquegroups, ~, group] = uniquetol([real(lambda), abs(imag(lambda))], 'byrows', true);
groupcounts = accumarray(group, 1);
maxeigreal = max(real(uniquegroups(groupcounts>1,:)));

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

MM
MM am 3 Feb. 2020
A bit late but I fixed it, I could do it without filtering the pairs

Weitere Antworten (0)

Kategorien

Mehr zu Linear Algebra finden Sie in Help Center und File Exchange

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by