Effacer les filtres
Effacer les filtres

Array Aをソートしそれに合わせArray Bの順序を入れ換える

3 vues (au cours des 30 derniers jours)
Takashi KOSHIMIZU
Takashi KOSHIMIZU le 5 Jan 2019
Commenté : Kazuya le 7 Jan 2019
A = [2 4 5], B = [1.2 0.7 0.1]と与えられた2つのarrayが有ります。
Bは有る関数を元に、Aから生成された値です。
Bを昇順にsortし(結果[0.1 0.7 1.2]となる)、それに合わせarray-A要素順序を並び替える為の手順(code)を教えて下さい。
Aの並びは、[5 4 2]となるMatlabのcoding手法をお伺いしています。

Réponse acceptée

Kazuya
Kazuya le 5 Jan 2019
[B,I] = sort(___)
の構文で出力できる I を使えばOKです。
参照:sort 関数のヘルプページ https://jp.mathworks.com/help/matlab/ref/sort.html
A = [2 4 5];
B = [1.2 0.7 0.1];
[~,I] = sort(B);
A(I)
ans =
5 4 2
  2 commentaires
Takashi KOSHIMIZU
Takashi KOSHIMIZU le 6 Jan 2019
回答の投稿有難うございます。非常に参考になりました。
~の意味合いも理解させて頂きました。
Kazuya
Kazuya le 7 Jan 2019
よかったです。sortrows 関数だと、行列や table 変数を特定の列のデータをもとに、マルっとソートできるので、より便利かもしれません。

Connectez-vous pour commenter.

Plus de réponses (1)

madhan ravi
madhan ravi le 5 Jan 2019
sort(A,'descend')
sort(B,'descend')

Catégories

En savoir plus sur 行列および配列 dans Help Center et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!