3.3 程序控制结构
作为一种程序设计语言,MATLAB语言和其他程序设计语言一样,除了按正常顺序执行的程序结构外,还提供了各种控制程序流程的语句,如循环语句、条件语句、开关语句等.
3.3.1 循环结构
在MATLAB中实现循环结构的语句有两种:for循环语句和while循环语句.
(1)for循环
for循环允许一组命令以固定的和预定的次数重复.for循环的一般形式是
for循环控制变量=表达式1:表达式2:表达式3
语句
end
表达式1的值为循环控制变量的初值;表达式2的值为步长,每执行循环体一次,循环控制变量的值将增加步长大小.步长可以为负值,当步长为1时,表达式2可省略;表达式3为循环控制变量的终值,当循环控制变量的值大于终值时循环结束.在for循环中,循环体内不能出现对循环控制变量的重新设置,否则将会出错;for循环允许嵌套使用.
【例3】 从1到10求和
(2)while循环
for循环的循环次数往往是固定的,而while循环可不定循环次数,其一般形式为
只要在表达式里的所有元素为真,就执行while和end语句之间的“语句”.通常,表达式的求值给出一个标量值,但数组值也同样有效.在数组情况下,数组的所有元素必须都为真.
3.3.2 选择结构
很多情况下,需要根据不同的条件执行不同的语句,在编程语言里,是通过选择结构实现的.MATLAB的选择结构语句有if语句、switch语句和try语句.
(1)if语句的格式1:
在这里,如果表达式为真,则执行语句1;如果表达式为假,不执行任何语句.
(2)if语句的格式2:
在这里,如果表达式为真,则执行语句1;如果表达式为假,则执行语句2.
(3)if语句的格式3:
3.3.3 switch语句
当表达式的值等于表达式1的值时,执行语句1;当表达式的值等于表达式2的值时,执行语句2;…;当表达式的值等于表达式n的值时,执行语句n;当表达式的值不等于任何case后面所列的表达式时,执行语句n+1.当任何一个分支语句执行完后,都直接转到end语句的下一条语句.
3.3.4 其他控制语句
(1)break语句
终止本层for或while循环,跳转到本层循环结束语句end的下一条语句.
(2)return语句
终止被调用函数的运行,返回到调用函数.
(3)pause语句
格式1: pause暂停程序运行,按任意键继续.
格式2: pause(n)程序暂停运行n秒后继续.
格式3: pause on/off允许/禁止其后的程序暂停.
(4)continue语句
在for循环或while循环中遇到该语句,将跳过其后的循环体语句,进行下一次循环.