Break statements still result in the first condition breaking array element being shown - how can it be stopped from being generated?
조회 수: 2 (최근 30일)
이전 댓글 표시
Just a little annoying that matlab throws up the value that breaks a condition in the case below - can the code below be changed to solve this please?
For example
A = [ 2 3 4 5 6 9 9 10] %(elements of A matches t)
for t = 1:8;
B(t) = 3*A(t);
if B(t) >= 24;
break
elseif B(t) <= 3;
break
end
end
end
I would like to get from this B = [6 9 12 15 18]- the last three exceed 24.
Instead I get B = [6 9 12 15 18 27]
How can the code be changed so that B(6) = 27 will not be printed?
Many Thanks!
댓글 수: 0
채택된 답변
Fangjun Jiang
2011년 12월 3일
One solution:
A = [ 2 3 4 5 6 9 9 10] %(elements of A matches t)
for t = 1:8;
B(t) = 3*A(t);
if B(t) >= 24 || B(t)<=3
B(t)=[];
break
end
end
댓글 수: 0
추가 답변 (1개)
Naz
2011년 12월 3일
As far as I understand, you don't care weather you reach the end of the A array or not. As soon as you hit the fist value that is out of (3 24) bound you want to break. Is that right? If so, then you can do the following:
A = [ 2 3 4 5 6 9 9 10] %(elements of A matches t)
for t = 1:length(A)
if 3*A(t) >= 24 || 3*A(t) <=3
break;
else
B(t) = 3*A(t);
end
end
댓글 수: 0
참고 항목
카테고리
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!