如何基于两列对矩阵进行排序

Dav*_*vid 2 sorting matlab datetime date matrix

我试图使用MATLAB基于两列对单元格矩阵进行排序:

ticker date price
msft 1/9/11 19.8
msft 1/8/11 18.7
csco 1/8/11 9.8
csco 1/9/11 10.0
Run Code Online (Sandbox Code Playgroud)

我想先按日期排序矩阵然后按自动收报机排序,所以我想要的结果是:

ticker date price
csco 1/8/11 9.8
msft 1/8/11 18.7
csco 1/9/11 10.0
msft 1/9/11 19.8
Run Code Online (Sandbox Code Playgroud)

谁知道我怎么能这样做?谢谢.

Jac*_*cob 5

我会将日期列转换为相应的序列日期编号,datenum并使用sortrows所需的排序来对数据进行排序.

这是一些代码; 假设d是您给出的示例中的4x3单元格数组:

d = 

'msft'    '1/9/11'    [19.8000]
'msft'    '1/8/11'    [18.7000]
'csco'    '1/8/11'    [ 9.8000]
'csco'    '1/9/11'    [     10]
Run Code Online (Sandbox Code Playgroud)