How can I make each cell array consistent in size?

조회 수: 3 (최근 30일)
Farshid Daryabor
Farshid Daryabor 2020년 3월 6일
댓글: Farshid Daryabor 2020년 3월 6일
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);

채택된 답변

Alex Mcaulley
Alex Mcaulley 2020년 3월 6일
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);

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Data Types에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by