如何在 Octave 中按虚部的升序标记矩阵的复特征值?
How label the complex eigenvalues of a matrix in ascending order of their imaginary part in Octave?
当使用函数 eig(a)
时,Octave 似乎没有以任何特定顺序对复特征值进行排序(而对于实特征值,Octave 以升序存储特征值及其特征向量)。
我需要按虚部的升序对矩阵的复特征值(以及它们各自的特征向量)进行排序。是否有任何内置例程可以做到这一点?
如果没有,如何实现?
sort
函数有第二个输出参数,它按排序顺序将索引提供给输入。对于您的情况,如果 d
是特征值向量:
[~,I] = sort(imag(d));
d = d(I);
可以使用相同的I
对对应的特征向量进行排序
V
顺序相同:
V = V(:,I);
当使用函数 eig(a)
时,Octave 似乎没有以任何特定顺序对复特征值进行排序(而对于实特征值,Octave 以升序存储特征值及其特征向量)。
我需要按虚部的升序对矩阵的复特征值(以及它们各自的特征向量)进行排序。是否有任何内置例程可以做到这一点?
如果没有,如何实现?
sort
函数有第二个输出参数,它按排序顺序将索引提供给输入。对于您的情况,如果 d
是特征值向量:
[~,I] = sort(imag(d));
d = d(I);
可以使用相同的I
对对应的特征向量进行排序
V
顺序相同:
V = V(:,I);