讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。
MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili
节选自第4章:MATLAB程序流程控制
break 和 continue 也是MATLAB中的关键字,它们可以更加灵活地控制循环过程的执行。在MATLAB中,break和continue只能与for循环或while循环一同使用,不能用于其他场合。下面我们来简要介绍一下 break 和 continue 的用法:
-
break关键字用于终止执行 for 或 while 循环。实际使用中,当满足某个条件时,我们会使用break立即退出循环。这在找到所需结果后立即退出循环的场景非常有用。
-
continue关键字用于跳过循环的当前迭代,然后继续下一次迭代。实际使用中,当满足某个条件时,continue 将跳过当前循环迭代的剩余部分,然后继续进行下一次迭代。这对于在某些情况下跳过特定的迭代非常有用,而不必完全退出循环。
下面我们来看两个简单的案例:
(1)已知 ,当n最小取多少时, y的计算结果大于10?这个例子在while函数中出现过,下面我们尝试使用for循环求解。
y = 0;
for n = 1:1e8
y = y + 1/n;
if y > 10
disp(n)
break % 退出for循环
end % if配套的end
end % for配套的end
使用for循环需要通过向量或者矩阵给出循环的次数,由于我们这个问题的循环次数是未知的,因此可以预先给一个很大的循环范围,我们这里给定n为1至1×10^8构成的向量。
如果在循环体中找到了我们所需的结果(即y大于10),就可以通过break关键字退出循环。通常情况下,判断条件是否成立需要用到if语句。
(2)使用循环输出1至10中所有的奇数。
for i = 1:10
if mod(i, 2) == 0
continue
end
disp(i)
end
在每次迭代中,使用mod(i, 2)来检查 i 是否为偶数。如果 i 是偶数,那么 mod(i, 2) 的结果将为0,这时会执行continue,直接跳到下一次迭代,因此当i为偶数时,代码后面的disp(i)不会被执行;只有i为奇数时才会被输出。
思考:如果不使用continue关键字,代码应该如何修改?