我有以下问题:我有一个N整数三重奏数组(即Nx3矩阵),我想在Matlab中按顺序排序。为了做到这一点,我想使用Matlab的内置sort算法,但我想问一下,我认为这样做是否正确,或者是否存在一种更简单的方法(最好使用Matlab例程)。
我想把每个三重奏转换成一个数字,然后用sort()对这些数字进行排序。如果我的整数在0到9之间,我可以把它们转换成十进制。然而,它们更大。如果它们的最大绝对值是M,我想将它们转换为(M+1)-ary系统,如: If (a,b,c)三重子,对应的整数是a*(M+1)^2+b*(M+1)+c。对这些转换后的整数进行排序会解决这个问题,还是我在推理中犯了一个逻辑错误?
谢谢!
PS:我知道Matlab中的sort()确实有一个字符串的词汇表选项,但是我的整数没有相同的数字长度。也许用前导零填充它们并将它们连接起来就能起作用了?
发布于 2015-01-15 09:33:55
你考虑过使用sortrows吗?
应该使您能够按字典顺序对3列数据进行直接排序。
https://stackoverflow.com/questions/27960275
复制相似问题