Effacer les filtres
Effacer les filtres

Change loop conditions when condition passed

1 vue (au cours des 30 derniers jours)
DP
DP le 11 Juin 2020
Commenté : DP le 11 Juin 2020
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
  1 commentaire
DP
DP le 11 Juin 2020
Ah, that makes more sense. Works perfectly!

Connectez-vous pour commenter.

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 Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by