Explain how many times a for loop will execute

I can add ires to see the result, I am not sure how to see how many times the loops will execute. If someone could explain how to do this that would be helpful. I have done several searches and tried using the break function, but if its really big number says -32687:32688, how does one tell how many times it loops. without counting each 64560 times. I have figured it out on smaller loops by putting the ii at the bottom of the code. This has a loop within a loop and I am lost.
ires = 0;
for index1 = 10: -2: 1
for index2 = 2:2:index1
if index2 == 6
break;
end
ires = ires + index2;
end
end

回答 (1 件)

Mario Malic
Mario Malic 2020 年 10 月 10 日

1 投票

ires = 0;
for index1 = 10: -2: 1
for index2 = 2:2:index1
if index2 == 6
break;
end
ires = ires + 1; % index2 for what?
end
end
MATLAB enters first loop with index1 = 10, then proceeds in the second loop with index2 = 2. Within second loop it checks the if condition and adds 1 to ires. When the 'if' condition is fulfilled, it exits the second loop, and returns in the first one with index1 = 8 and so on.

8 件のコメント

Jorge Rodriguez
Jorge Rodriguez 2020 年 10 月 10 日
i understand how it works, I just don't know how to see how many times it loops
Mario Malic
Mario Malic 2020 年 10 月 10 日
ires contains the number of loops done.
disp(ires)
Jorge Rodriguez
Jorge Rodriguez 2020 年 10 月 10 日
doesn't that just display what ires is and not the actual number of times it loops? I just don't understand how your supposed to understand how many times the loop is performed?
Jorge Rodriguez
Jorge Rodriguez 2020 年 10 月 10 日
ok if i add n_times=0; and then frprintf( 'number of times the loop %d\n',n_times);
I can see how many loops, but that is only for one loop not both loops. I hope this explains what i am asking.
ires = 0;n_times=0;
for index1 = 10: -2: 1
for index2 = 2:2:index1
if index2 == 6
break;
end
ires = ires + index2;
n_times=n_times + 1;
end
end
fprintf('ires is %d\n',ires);
fprintf('number of times the loop %d\n',n_times);
Mario Malic
Mario Malic 2020 年 10 月 10 日
I misinterpred iris, thought that was the loop counter.
Jorge Rodriguez
Jorge Rodriguez 2020 年 10 月 10 日
so any other ideas?
Mario Malic
Mario Malic 2020 年 10 月 10 日
編集済み: Mario Malic 2020 年 10 月 10 日
Your code is working, n_times counts both loops.
Jorge Rodriguez
Jorge Rodriguez 2020 年 10 月 10 日
Okay, I just thought it was counting loop one. Well i gave it a solid try. Thanks for your help.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

製品

リリース

R2019a

タグ

質問済み:

2020 年 10 月 10 日

コメント済み:

2020 年 10 月 10 日

Community Treasure Hunt

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

Start Hunting!

Translated by