Skipping calculations using if
조회 수: 2 (최근 30일)
이전 댓글 표시
Hello,
I have the following code:
for j = 1:(length(acalc)-1)
for ii = (j+1):length(acalc)
dotp(count2,:) = dot(acalc(j,:),acalc(ii,:));
magp(count2,:) = mag(j)*mag(ii);
count2 = count2 + 1;
end
end
Which works fine if length(acalc) > 1. However when length(acalc) = 1 (as it sometimes is), an error is returned presumably because of the failure in accessing acalc(ii,:) = acalc(j+1,:) = acalc(2,:)
Could someone help me resolve this issue? i.e. by simply skipping the calculations if length(acalc) = 1?
I tried simply stating if length(acalc) > 1 before this section of code, but that didn't seem to work.
Many thanks,
Tom
댓글 수: 0
답변 (1개)
Matt J
2013년 12월 3일
No, if length(acalc)=1, the code you've shown would never be executed. For example, running the following will not result in anything displayed.
acalc=10;
for j = 1:(length(acalc)-1)
disp 'Executing'
end
댓글 수: 4
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!