Change loop conditions when condition passed
1 回表示 (過去 30 日間)
古いコメントを表示
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
0 件のコメント
採用された回答
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 件)
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
参考
カテゴリ
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!