How can I make each cell array consistent in size?
2 views (last 30 days)
Show older comments
Farshid Daryabor
on 6 Mar 2020
Commented: Farshid Daryabor
on 6 Mar 2020
I'm really grateful for anyone telling me how to make the all double arrays in cell equal in zise (please find attached). For instance, I want to the all double in cell with the size 1715*11. The following code doesn'y work.
>> N = cellfun(@(x) length(squeeze(x(:,1))) , P); M = max(N);
>> N1 = cellfun(@(x) length(squeeze(x(1,:))) , P); M1 = max(N1);
>> newP = cellfun(@(x) [x, zeros( size(x, 1), M1-size(x, 2) ); zeros( M-size(x, 1), M1 )], P, 'uni' , 0);
0 Comments
Accepted Answer
Alex Mcaulley
on 6 Mar 2020
N = max(cellfun('size',P,1));
M = max(cellfun('size',P,2));
newP = cellfun(@(x) [x, zeros(size(x, 1), M-size(x, 2)); zeros(N-size(x, 1), M)], P, 'uni' , 0);
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!