我不知道该怎么做。我有一些具有重复值的矩阵,我想对它们进行排序并获得排序索引的矩阵。例如:
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]。
我可以稍后处理这个问题,但如果它返回上面的结果会更加优雅。