Filling up a matrix
조회 수: 2 (최근 30일)
이전 댓글 표시
I have an array of 69 x 1 cells. Every cell contains a matrix of either 12 x 1 or 13 x 1. I want Matlab to make a matrix of 13 x 69 and filling up the empty spaces of the 12 x 1 matrices by adding zero's.
Is this possible?
Thanks for the help!
댓글 수: 0
답변 (2개)
James Tursa
2015년 9월 28일
How about a simple loop:
result = zeros(13,69);
for k=1:69
n = numel(mycellarray{k});
result(1:n,k) = mycellarray{k};
end
Walter Roberson
2015년 9월 29일
first13 = @(V) V(1:13);
result = cell2mat( cellfun(@(V) first13([V;0]), YourCellArray, 'Uniform', 0) );
If the cells can be variable size all the way from empty to 13, then use
first13([V;zeros(13,1)])
댓글 수: 2
Walter Roberson
2015년 9월 29일
result = cell2mat( cellfun(@(V) first13([V;0]), YourCellArray, 'Uniform', 0).' );
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Type Conversion에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!