以字典排序方式对单元格数组进行排序?

Sib*_*ing 0 arrays sorting matlab

我有一个100x3单元格数组,每个元素都是一个字符串.现在我希望根据第1栏进行排序.我可以轻松地做到这一点

sorted1 = sortrows(data, 1);
Run Code Online (Sandbox Code Playgroud)

但是,我不想在这里停下来.我想根据第二栏进一步排序.当然,这种排序不能破坏第一次排序.换句话说,它与字典的排序方式非常相似.

我怎么能这样做?

cha*_*pjc 5

sortrows 如果您也指定了其他列,则继续按其他列排序:

>> data = {'banana','blue','cow'; 
           'zebra','ape','frog';
           'banana', 'apple', 'pear';
           'banana', 'apple', 'orange'};
>> sorted1 = sortrows(data, 1)
sorted1 = 
    'banana'    'blue'     'cow'   
    'banana'    'apple'    'pear'  
    'banana'    'apple'    'orange'
    'zebra'     'ape'      'frog'  
>> sorted1 = sortrows(data, [1 2])
sorted1 = 
    'banana'    'apple'    'pear'  
    'banana'    'apple'    'orange'
    'banana'    'blue'     'cow'   
    'zebra'     'ape'      'frog'  
Run Code Online (Sandbox Code Playgroud)

请注意,通过排除第3列[1 2],它不会浪费时间按第3列排序('pear'仍然在之前'orange').