Adding up sizes of cell arrays
이전 댓글 표시
Hi, I am wondering how to add up the sizes of cell arrays for each "class." The "classes" are part of a loop. I need to be able to index each sum into j.
for j = 1:NumberOfClasses
sizeOfCellArray{j} = size(CellArray{j})
sum(j) = sizeOfCellArray(j).*sizeOfCellArray(j+1)
end
I know that this is wrong, because sizeOfCellArray(j+1) gets an error (Index exceeds matrix dimensions), but am I on the right track?
댓글 수: 1
Jan
2012년 6월 27일
Do not shadow the built-in function SUM by using a variable of the same name.
채택된 답변
추가 답변 (1개)
Kye Taylor
2012년 6월 27일
I assume you have a 1-by-NumberOfClasses cell array called CellArray.
Furthermore, I assume that each element of CellArray contains an array.
The following command will return a 1-by-NumberOfClasses double array, where the jth element gives the number of elements composing the array stored in CellArray{j}.
sizes = cellfun(@numel, CellArray);
The total number of elements contained in the contents of CellArray is given by
sum(sizes)
(Make sure you clear your variable sum - in your question's original code - before issuing the above command)
카테고리
도움말 센터 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!