我有一個序列r
,我需要根據置換k
以獲得序列rearanging的r
的組件:如何根據排列重新排列序列的組成部分?
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);
得到的結果是什麼錯?問題是沒有獨特的解決方案,因爲abs(y4)> abs(y5)'不應該是真的。你的代碼返回'y = -2.3000 2.1000 2.0000 -1.4000 1.2000 0.5000 -0.0200',它滿足你的條件。 – m7913d
在我的代碼中,k是自動創建的,而我已經有'k = [1 2 3 5 4 6 7]'。我的代碼給出了'k = [1 2 3 4 5 6 7]'。 – m2016b
那麼,只需使用'y = r(k);'給定'k'而不用重新計算它? – m7913d