我将一组时间序列导入到 MATLAB 中的一个单元格中,每个时间序列都有不同的维度。单元格如下所示:
datacell =
[176x1 double] [132x1 double] [129x1 double] [86x1 double] [90x1 double] ...[162x1 double]
我想从左到右重新排列单元格,从最低维度到最大维度。单元格中有 1000 个条目,无法手动执行此操作。我怎样才能做到这一点?请有人给出一些处理这个问题的想法。
谢谢!
简单的:
[~, I] = sort(cellfun(@length, datacell));
new_datacell = datacell(I);
哦,看来我是第二个一分钟;)
做这样的事情:
test_data = {rand(100,1), rand(12,1), rand(200,1), rand(123,1)}
length_info = cellfun(@length,test_data)
[a,i_sort] = sort(length_info)
sorted_data = test_data(i_sort)