How to find a complex eigenvalue of a matrix

23 visualizzazioni (ultimi 30 giorni)
MM
MM il 17 Dic 2019
Risposto: MM il 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 Commenti
Steven Lord
Steven Lord il 18 Dic 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 il 18 Dic 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,:)));

Accedi per commentare.

Risposta accettata

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

Più risposte (0)

Categorie

Scopri di più su Linear Algebra in Help Center e File Exchange

Prodotti


Release

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by