I want to restart the loop from starting when a specific condition is met.
25 次查看(过去 30 天)
显示 更早的评论
a = table2array(BRTSTestData);
c = 20;
f = 1;
s = 0;
for i = 1:5
for j = 1:6
s = s + a(i,j);
end
if s > 20
f = f+1;
a = a/f;
break
end
for k = 1:5
s = s - a(k,i);
end
Now here I want to restart the first for loop from i = 1 when s > 20 and operate f = f+1. If I use break statement it terminates the loop and starts from next condition.
0 个评论
采纳的回答
Geoff Hayes
2020-5-27
Sanyam - perhaps use a while loop instead.
a = table2array(BRTSTestData);
c = 20;
f = 1;
s = 0;
i = 1;
while i <= 5
for j = 1:6
s = s + a(i,j);
end
if s > 20
f = f+1;
a = a/f;
i = 1; % <--- reset i to one
break;
end
for k = 1:5
s = s - a(k,i);
end
i = i + 1; % <--- increment i
end
2 个评论
Geoff Hayes
2020-5-27
I think in the code that I posted, the break should have been a continue
a = table2array(BRTSTestData);
c = 20;
f = 1;
s = 0;
i = 1;
while i <= 5
for j = 1:6
s = s + a(i,j);
end
if s > 20
f = f+1;
a = a/f;
i = 1; % <--- reset i to one
continue; % <--- end the current iteration and continue with the next
end
for k = 1:5
s = s - a(k,i);
end
i = i + 1; % <--- increment i
end
Perhaps that is all that you need to do too in the new code that you have posted - change the break to continue.
更多回答(0 个)
另请参阅
类别
在 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!