我有两个单元阵列的单元阵列,排序根据另一单元阵列
reference = [{'A'}, {'B'}, {'H'}, {'D'}, {'G'}];
array2 = [{'A'}, {'G'}, {'H'}, {'B'}, {'D'}];
是否有MATLAB任何智能方式来排序数组2,相对于所述单元阵列的参考;
该函数应该返回array2的索引,其顺序与“reference”的顺序相同(array2将与参考相同)。
为如
magic_order = function(array2, reference)
....
end
magic_order(数组2,参考)将返回
1,4,3,5,2
,现在,如果我做
array2(1,4,3,5,2)
我会得到相同的参考
排序功能
reference = [{'A'}, {'B'}, {'H'}, {'D'}, {'G'}];
array2 = [{'A'}, {'G'}, {'H'}, {'B'}, {'D'}];
[a, b] = sort(reference)
isequal(reference, array2(b))
ans = 0
标题说的比赛,问题说的排序。这是什么? – excaza
对不起 - 我没想到,措辞会让人混淆。基本上,无论您提出什么建议,都会使(排列)array2,与参考相同。 – user702846
这并没有说明。请提供您期望的输出示例。如上所述,显而易见的答案是'array2 = reference' – excaza