1

時系列のグループをMATLABのセルにインポートします。各時系列には、異なる次元があります。セルは次のようになります。

datacell = 

[176x1 double] [132x1 double] [129x1 double] [86x1 double] [90x1 double] ...[162x1 double] 

セルを最小の次元から最大の次元に、左から右に再配置したいと思います。セルには1000のエントリがあり、これを手動で行う方法はありません。これどうやってするの?誰かがこれを処理する上でいくつかのアイデアを与えてください。

ありがとう!

4

2 に答える 2

4

単純:

[~, I] = sort(cellfun(@length, datacell));
new_datacell = datacell(I);
于 2012-07-03T08:56:24.373 に答える
2

ああ、私は1分で2番目だったようです;)


このようなことをします:

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)
于 2012-07-03T08:55:32.437 に答える