MATLAB排序(A,'下降')返回错误的答案

时间:2016-01-03 23:47:01

标签: arrays matlab sorting

我试图按值的降序对以下一维数组进行排序:

setuptools

我知道在这种情况下,数组已经按降序排列,但我想弄清楚为什么当我使用sudo python3 setup.py install时,MATLAB会返回一个新的顺序:

109 32 29 22 22 19 15 12 12

这不再按降序排列。当数组的顺序正确时,这显然会导致程序出错。

1 个答案:

答案 0 :(得分:2)

您提供的顺序确实不正确,但肯定 MATLAB的错误。由于您的数组已按降序排列,因此排序索引应简单地从1到9进行枚举。

我非常怀疑罪魁祸首是因为你没有正确输入数组。此外,您的错误无法再现。

这可以通过将其放入MATLAB并检查排序索引来验证:

A = [109 32 29 22 22 19 15 12 12]; 
[Ai,ind] = sort(A,'descend'); 

Ai与输入A相同,而ind将从1到9按升序排列。