필터 지우기
필터 지우기

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

조회 수: 3 (최근 30일)
Takashi KOSHIMIZU
Takashi KOSHIMIZU 2019년 1월 5일
댓글: Kazuya 2019년 1월 7일
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手法をお伺いしています。

채택된 답변

Kazuya
Kazuya 2019년 1월 5일
[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
Takashi KOSHIMIZU
Takashi KOSHIMIZU 2019년 1월 6일
回答の投稿有難うございます。非常に参考になりました。
~の意味合いも理解させて頂きました。
Kazuya
Kazuya 2019년 1월 7일
よかったです。sortrows 関数だと、行列や table 変数を特定の列のデータをもとに、マルっとソートできるので、より便利かもしれません。

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

madhan ravi
madhan ravi 2019년 1월 5일
sort(A,'descend')
sort(B,'descend')

카테고리

Help CenterFile Exchange에서 行列および配列에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!