gpt4 book ai didi

matlab - 如果满足条件,则在当前迭代步骤结束时退出循环

转载 作者:太空宇宙 更新时间:2023-11-03 20:08:35 25 4
gpt4 key购买 nike

我遇到的一个常见问题如下:

在循环(通常是 for 循环)中,一些约束 - 并且必须 - 在开始时检查。现在有时如果条件满足,循环内的代码应该运行到当前迭代步骤的末尾,然后退出

通常我会这样做

a = 0;
quit = 0;

for i = 1:1:11
if (a == 5) % Condition to be checked *before* the calculation
quit = 1; % Stop loop after this iteration
end

a = a + 1; % Calculation
...

if (quit == 1)
break;
end
end

但是在一个紧密的循环中,这个额外的条件检查 if (quit == 1) 可能会导致相关的减速。还需要引入一个额外的变量,所以我想知道这通常是如何完成的,或者是否有更好的方法......

最佳答案

为什么不这样做。

for i = 1:1:11
if (a == 5) % Condition to be checked *before* the calculation
func() --> do all the calculations
break; % Stop loop after this iteration
else
func() --> do all calculations
end
end

function func()
a = a+1
//all other calculations
end

关于matlab - 如果满足条件,则在当前迭代步骤结束时退出循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25264152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com