Info

此问题已关闭。 请重新打开它进行编辑或回答。

Print message about which loop has been entered, after finishing for loop

1 次查看(过去 30 天)
I have 4 if statements in a for loop. I need to know which if statement was entered. Can be just one or all 4. after the for loop finishes I will need to print a message saying which entered without repeats or if none were. each if statement being A B C or D in the print message.
I tried assigning a letter to each if statement and if that was entered then add to an array. then look through the array after the for loop and print a message after going through 4 more if statements. I am over complicating it
ex: A and D were entered. None were entered. etc.
let me know if not clear i am ESL. Doing project for fun.

回答(1 个)

KL
KL 2017-11-21
set counters and use it with disp
counterA = 0;
counterB = 0;
counterNone = 0;
for k=1:10
%code
if (condition A here)
counterA = counterA+1;
disp(['condition A is true. counterA = ' num2str(counterA)]);
elseif (condition B here)
counterB = counterB+1;
disp(['condition B is true. counterB = ' num2str(counterB]);
else
counterNone = counterNone+1;
disp(['No condition is true. counterNone = ' num2str(counterNone]);
end
end
  2 个评论
lightroman
lightroman 2017-11-21
编辑:lightroman 2017-11-21
hi thank you. I need to only print after all iterations run. meaning after for loop or after last iteration. so somehow indicate which were entered. and only print after all 10 iterations have occured. because i only care if a if statement was enter least once.
KL
KL 2017-11-21
编辑:KL 2017-11-21
simply move all the disp statements outside the loop and customize your message. For example,
disp(['condition A was true ' num2str(counterA) ' times'])

此问题已关闭。

Community Treasure Hunt

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

Start Hunting!

Translated by