1

我有以下问题: 我有一个整数三元组数组N(即一个Nx3矩阵),我想在 Matlab 中按字典顺序对其进行排序。为了做到这一点,我想到了使用Matlab的内置sort算法,但我想问一下我想到的方法是否正确,或者是否存在更简单的方法(最好使用Matlab例程)。

我想把每个三元组转换成一个数字,然后用sort(). 如果我的整数在 0 到 9 之间,我可以将它们转换为十进制。但是,它们更大。如果它们的最大绝对值是M,我想像这样将它们转换成 ( M+1)-ary 系统:如果 ( a, b, c) 三元组,对应的整数是a*(M+1)^2+b*(M+1)+c。对这些转换后的整数进行排序会解决问题,还是我在推理中犯了逻辑错误?

谢谢!

PS:我知道sort()在 Matlab 中确实有字符串的字典选项,但我的整数没有相同的数字长度。也许用前导零填充它们并将它们连接起来就可以了?

4

1 回答 1

2

你考虑过使用sortrows吗?
应该使您能够直接按字典顺序对 3 列数据进行排序。

于 2015-01-15T09:33:55.850 回答