I have a cell array of size 1x934 and each cell has 160x160x96 double. I want to make a cell array of 1xn (n i think it is 89664) where each cell has 160x160
2 ビュー (過去 30 日間)
古いコメントを表示
I have a cell array of size 1x934 and each cell has 160x160x96 double. I want to make a cell array of 1xn (n i think it is 89664) where each cell has 160x160
0 件のコメント
採用された回答
Stephen23
2018 年 3 月 19 日
Method one: concatenate into one numeric array, then split. This will not work of you do not have enough memory for the complete array. Where C is your cell array:
D = reshape(num2cell(cat(3,C{:}),1:2),1,[])
Method two: split into cell arrays, then concatenate. Does not require one large array to be sored in contiguous memory. Where C is your cell array:
D = cellfun(@(a)num2cell(a,1:2),C,'uni',0);
D = reshape(cat(3,D{:}),1,[]);
0 件のコメント
その他の回答 (1 件)
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!