我需要按降序对特征向量的向量Ev(从[Ev,Ed] = eig(A)获得)进行排序。我还需要在排序中使用的索引。
我不能使用控制系统工具箱附带的esort.m(我没有,也不能得到)。我可以使用esort.m的替代函数吗?
感谢。
答案 0 :(得分:1)
使用sort
,real
和imag
功能,您可以"复制" esort
函数:
imre = rand(10,1)+rand(10,1)*1i; %random imaginary number
re = real(imre); %extract the real part
im = imag(imre)*1i; %extract the imaginary part
[sorted,ind] = sort(re); %sort according to the real part
imre_sort = sorted+im(ind); %add the imaginary part.
所以简单的功能类似于:
function imre_sort = todelete(imre,ord)
%ord can be 'ascend' or 'descend'
if nargin == 1
ord = 'ascend';
end
re = real(imre);
im = imag(imre)*1i;
[sorted,ind] = sort(re,ord);
imre_sort = sorted+im(ind);
end