Matlab中while语句使用 | 您所在的位置:网站首页 › fontname在matlab中的用法 › Matlab中while语句使用 |
目录 语法 说明 示例 重复执行语句,直到表达式为 False 跳至下一循环迭代 在表达式为 false 之前退出循环 while语句是条件为true时重复执行的while循环。 语法 while expression statements end提示 如果意外创建了一个无限循环(即永远不会自行结束的循环),请按下 Ctrl+C 停止执行循环。 如果条件表达式的计算结果是一个矩阵,则仅当该矩阵中的所有元素都为 true(非零)时,MATLAB 才会计算这些语句。要在任何元素为 true 时执行语句,在any函数中对表达式换行。 要以编程方式退出循环,可以使用break语句。要跳过循环中的其余指令,并开始下一次迭代,可以使用continue语句。 嵌套许多 while 语句时,每个 while 语句都需要一个 end 关键字。 MATLAB while 循环类似于其他编程语言(如 C 和 C++)中的 do...while 循环。但是,while 在循环的开头而不是末尾计算条件表达式。 do % Not valid MATLAB syntax statements while expression要模拟 do...while 循环的行为,请将 while 的初始条件设置为 true,并将条件表达式放入循环内。例如,通过使用 MATLAB while循环实现上面的do...while循环。 while true statements if ~expression break end end 说明while expression, statements, end 计算一个表达,并在该表达式为 true 时在一个循环中重复执行一组语句。表达式的结果非空并且仅包含非零元素(逻辑值或实数值)时,该表达式为 true。否则,表达式为 false。 示例 重复执行语句,直到表达式为 False使用 while 循环计算 factorial(10)。 n = 10; f = n; while n > 1 n = n-1; f = f*n; end disp(['n! = ' num2str(f)]) n! = 3628800 跳至下一循环迭代统计文件 magic.m 中的代码行数。使用continue语句跳过空白行和注释。continue跳过while循环中的其余指令并开始下一迭代。 fid = fopen('magic.m','r'); count = 0; while ~feof(fid) line = fgetl(fid); if isempty(line) || strncmp(line,'%',1) || ~ischar(line) continue end count = count + 1; end count count = 34 fclose(fid); 在表达式为 false 之前退出循环求随机数序列之和,直到下一随机数大于上限为止。然后,使用break语句退出循环。 limit = 0.8; s = 0; while 1 tmp = rand; if tmp > limit break end s = s + tmp; end表达式 表达式可以包含关系运算符(例如 = pi) disp('Expressions are true') break end 表达式的第一部分的计算结果为 false。因此,MATLAB 不需要计算表达式的第二部分,否则会导致未定义的函数错误。 |
CopyRight 2018-2019 实验室设备网 版权所有 |