Matlab-按属性对对象的单元格数组排序

Matlab-按属性对对象的单元格数组排序,matlab,cell-array,Matlab,Cell Array,假设我有一个名为Foo的类,其datenum属性名为DateTime。如果我有一个Foo对象的单元格数组集合,我将如何根据每个对象的DateTime属性对其进行排序 我看到过重载sort方法和处理对象数组的引用,但是由于动态调整大小,我使用的是单元格数组,这些指令不起作用。有人有什么建议吗?Cheers最简单的方法是将时间值提取到向量中,对其进行排序,然后使用新的顺序对原始数组进行排序 %# extract DateTime from the cell array fooCell dateTim

假设我有一个名为Foo的类,其datenum属性名为DateTime。如果我有一个Foo对象的单元格数组集合,我将如何根据每个对象的DateTime属性对其进行排序


我看到过重载sort方法和处理对象数组的引用,但是由于动态调整大小,我使用的是单元格数组,这些指令不起作用。有人有什么建议吗?Cheers

最简单的方法是将时间值提取到向量中,对其进行排序,然后使用新的顺序对原始数组进行排序

%# extract DateTime from the cell array fooCell
dateTime = cellfun(@(x)x.DateTime, fooCell);

[~,sortIdx] = sort(dateTime);

%# reorder fooCell
fooCell = fooCell(sortIdx);