我有一个序列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);
显然,这仅在较新的 MATLAB 版本中有效,但如果您有一个(不确定它何时推出,但肯定高于 2014b),这将起作用:
y=sort(r,'direction','descend','ComparisonMethod','abs')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句