Index in position 2 exceeds array bounds (must not exceed 3).
    조회 수: 3 (최근 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!


