#author("2021-11-16T01:03:15+09:00","default:Miyashita","Miyashita") *配列の順番付け [#l3219369] #author("2021-11-16T01:04:17+09:00","default:Miyashita","Miyashita") *配列の昇順/降順の順番付け[#l3219369] 以下の配列Aについて考える.確認しやすいように値を設定した. #codeprettify(lang-matlab){{ A = [0.4, 0.6, 0.2, 0.3, 0.5, 0.1]; }} それぞれが全体の中で昇順で何番目になるかを求めたい.つまり,~ #codeprettify(lang-matlab){{ X = [ 4, 6, 2, 3, 5, 1] }} という配列をつくりたい.~ sortの2つめの引数は,~ #codeprettify(lang-matlab){{ >> [B,I] = sort(A,'ascend') I = [6 3 4 1 5 2] }} のように,昇順で並べ替えるためのインデックス,B = A(I)となるようなIが返される.~ このIをさらにsortをかければ,希望の配列が得られる. #codeprettify(lang-matlab){{ >> [~,X] = sort(I,'ascend') X = [4 6 2 3 5 1] }} sortの部分をascend(デフォルト)ではなくてdescendにすれば降順になり,値の高いものからナンバリングされた配列が作成される.