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
1 view (last 30 days)
Show older comments
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 Comments
Accepted Answer
Stephen23
on 19 Mar 2018
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 Comments
More Answers (1)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!