如何根据排列重新排列序列的组成部分?

m2016b

我有一个序列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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章