Как пометить комплексные собственные значения матрицы в порядке возрастания их мнимой части в Octave? - PullRequest
0 голосов
/ 06 августа 2020

Когда используется функция eig(a), Octave, похоже, не упорядочивает комплексные собственные значения в каком-либо конкретном порядке (тогда как для реальных собственных значений Octave хранит собственные значения и их собственные векторы в порядке возрастания).

Мне нужно чтобы упорядочить комплексные собственные значения (а также их соответствующие собственные векторы) матрицы в порядке возрастания их мнимой части. Есть ли встроенная процедура для этого?

Если нет, как это реализовать?

1 Ответ

1 голос
/ 06 августа 2020

Функция sort имеет второй выходной аргумент, который задает индексы входных данных в отсортированном порядке. В вашем случае, если d является вектором собственных значений:

[~,I] = sort(imag(d));
d = d(I);

Вы можете использовать тот же I для сортировки соответствующих собственных векторов V в том же порядке:

V = V(:,I);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...