我正在尝试对mydata进行排序:
mydata =
Columns 1 through 3
[11512x2 double] [17330x2 double] [15044x2 double]
我想按长度(mydata(1)),长度(mydata(2))和长度(mydata(3))对其进行排序(升序),
所以,在排序后我必须得到:
mydata =
Columns 1 through 3
[11512x2 double] [15044x2 double] [17330x2 double]
如果是结构,我可以这样做:
[blah, order] = sort([mydata(:).Area],'ascend');
然后:
sortedStruct = mydata(order);
mydata = sortedStruct;
但它没有..
答案 0 :(得分:2)
您可以生成长度向量,对其进行排序并使用索引:
l = cellfun(@length ,mydata);
[unused,order] = sort(l);
sortedStruct = mydata(order);