やり方がわかりません。値が繰り返される行列がいくつかあり、それらを並べ替えて、並べ替えられたインデックスの行列を取得したいと考えています。例えば:
a = [1 4 3 10 8 2];
b = sort(a);
% This doesn't work but I wish it did - that's what I'm looking for.
% idx = find(a==b); idx = [1 6 3 2 5 4];
[v idx] = ismember(b,a);
ただし、繰り返される値と NaN がある場合、エラーが発生します。これを試して:
a = [1 NaN 4 2 10 8 2];
b=sort(a);
[v, i] = ismember(b,a);
[1 7 7 3 6 5 0] は有効ですが、[ 1 4 7 3 6 5 0] である必要があります。
これは後で処理できますが、上記の結果を返すと、よりエレガントになります。