필터 지우기
필터 지우기

Change loop conditions when condition passed

조회 수: 1 (최근 30일)
DP
DP 2020년 6월 11일
댓글: DP 2020년 6월 11일
Hi everyone,
I'm trying to modify this loop for when an elseif condtion is executed ONCE, another condtion will be passed.
Basically, tf_r1 is a logic matrix that goes like this: 0 0 1 0 0, after my code hits 1, I want it to recongize the upcoming 0 as something else.
for k=1:5
if tf_r1(k) == 0
strcat('SF in Row 1 Column', num2str(k))
elseif tf_r1(k) == 1
strcat('NA in Row 1 Column', num2str(k))
% When the above elseif is executed ONCE, then execute this:
tf_r1(k) == 0
strcat('TA in Row 1 Column', num2str(k))
end
end
Thank you!
-DP

채택된 답변

David Hill
David Hill 2020년 6월 11일
I misunderstood you.
flag=0;
for k=1:5
if tf_r1(k) == 0 && ~flag
strcat('SF in Row 1 Column', num2str(k))
elseif tf_r1(k) == 1
strcat('NA in Row 1 Column', num2str(k))
flag=1;
elseif tf_r1(k)==0 && flag
tf_r1(k) == 0
strcat('TA in Row 1 Column', num2str(k))
end
end
  댓글 수: 1
DP
DP 2020년 6월 11일
Ah, that makes more sense. Works perfectly!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

David Hill
David Hill 2020년 6월 11일
Just add a flag
flag=0;
for k=1:5
if tf_r1(k) == 0
strcat('SF in Row 1 Column', num2str(k))
elseif tf_r1(k) == 1
strcat('NA in Row 1 Column', num2str(k))
% When the above elseif is executed ONCE, then execute this:
if ~flag
tf_r1(k) == 0
strcat('TA in Row 1 Column', num2str(k))
flag=1;
end
end
end
  댓글 수: 1
DP
DP 2020년 6월 11일
편집: DP 2020년 6월 11일
Hi David,
Thank you for your help. I executed the flag you mentioned, but it did not change the response.
Here are the answers:
ans =
'SF in Row 1 Column1'
ans =
'SF in Row 1 Column2'
ans =
'NA in Row 1 Column3'
ans =
logical
0
ans =
'TA in Row 1 Column3'
ans =
'SF in Row 1 Column4'
ans =
'SF in Row 1 Column5'
I'm trying to get the last two answers to be 'TA in Row 1 Column 4' and 'TA in Row 1 Column 5'.
Thank you!

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by