我有一个序列r
,我需要根据排列r
重新安排k
的组件以获取序列:
y = [y0 y1 y2 y3 y4 y5 y6 y7]
abs(y0) > abs(y1) > abs(y2) > abs(y3) > abs(y4)
和abs(y5) > abs(y6) > abs(y7)
示例:
r = [-2.3 2.1 2.0 -1.4 1.2 0.5 -0.02]
和k = [1 2 3 5 4 6 7]
所以
y = [-2.3 2.1 2.0 1.2 -1.4 0.5 -0.02]
我使用了这个命令,但是我找不到搜索到的序列:
[~,k] = sort(abs(r),'descend');
y = r(k);
答案 0 :(得分:0)
显然这只适用于较新的MATLAB版本,但如果你有一个(不确定何时引入,但肯定高于2014b),这将有效:
y=sort(r,'direction','descend','ComparisonMethod','abs')