Index in position 2 exceeds array bounds (must not exceed 3).
조회 수: 1 (최근 30일)
이전 댓글 표시
When calculating C (bolded) I get the following error "Index in position 2 exceeds array bounds (must not exceed 3)."
CXYZ=[166 64 64 0 0 0; 64 166 64 0 0 0; 64 64 166 0 0 0;0 0 0 80 0 0; 0 0 0 0 80 0; 0 0 0 0 0 80];
l(1,1) = 1;
l(1,2) = 0 ;
l(1,3) = 0;
l(2,1) = 0;
l(2,2) =1/sqrt(2);
l(2,3) =1/sqrt(2);
l(3,1) =0 ;
l(3,2)= -1/sqrt(2);
l(3,3) =1/sqrt(2);
g= [1, 2, 3, 4]
a=1
for (i = g)
for (j= g)
for(k=g)
for (p=g)
C(a) = l(1,i).*l(1,j).*l(1,k).*l(1,p).*CXYZ(1,1); % bolded
a= a+1;
end
end
end
end
채택된 답변
Walter Roberson
2019년 3월 17일
Because g includes 4, at some point you are going to try to access l(1,4) . However you only initialize l to (3,3) so l(4,:) and l(:,4) do not exist
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
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!