Change loop conditions when condition passed

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

 Réponse acceptée

David Hill
David Hill le 11 Juin 2020
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

Plus de réponses (1)

David Hill
David Hill le 11 Juin 2020
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 commentaire

DP
DP le 11 Juin 2020
Modifié(e) : DP le 11 Juin 2020
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!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Tags

Question posée :

DP
le 11 Juin 2020

Commenté :

DP
le 11 Juin 2020

Community Treasure Hunt

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

Start Hunting!

Translated by