access multidimensional array per row
조회 수: 12 (최근 30일)
이전 댓글 표시
Hi,
I have 10x1 cell named Results in which includes 672x7 cell in each cell. For 672x7 cell, I want to access row by row. However, it throws an error saying "Index exceeds matrix dimensions." Can you see which line is a problem?
for i1=1:size(Results,1) % 10*1 cell
for i2=1:size(Results{i1,1}) % 672*7 cell
for i3=1:size(tc,2) % 7 methods
min(Results{i1,i2}(i3,:))
end
end
end
댓글 수: 0
답변 (1개)
James Tursa
2017년 2월 9일
편집: James Tursa
2017년 2월 9일
i2 ranges from 1 to 1st dimension of Results{i1}, which is 672. You can't then turn around and use this as the 2nd index in Results. I.e., Results{i1,i2} can't use i2 in that 2nd index since that dimension only goes up to 1. So you need to rethink and redo that Results{i1,i2}(i3,:) reference. It's going to have to look like Results{i1}{i2,something}etc.
Also, your for loops have size(something) as an upper limit, but size returns a vector. Do you really want to use numel(something) or size(something,1) instead?
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!