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求和

3.3 程序控制结构 - 图1

(2)while循环

for循环的循环次数往往是固定的,而while循环可不定循环次数,其一般形式为

3.3 程序控制结构 - 图2

只要在表达式里的所有元素为真,就执行while和end语句之间的“语句”.通常,表达式的求值给出一个标量值,但数组值也同样有效.在数组情况下,数组的所有元素必须都为真.

3.3.2 选择结构

很多情况下,需要根据不同的条件执行不同的语句,在编程语言里,是通过选择结构实现的.MATLAB的选择结构语句有if语句、switch语句和try语句.

(1)if语句的格式1:

3.3 程序控制结构 - 图3

3.3 程序控制结构 - 图4

在这里,如果表达式为真,则执行语句1;如果表达式为假,不执行任何语句.

(2)if语句的格式2:

3.3 程序控制结构 - 图5

在这里,如果表达式为真,则执行语句1;如果表达式为假,则执行语句2.

(3)if语句的格式3:

3.3 程序控制结构 - 图6

3.3.3 switch语句

3.3 程序控制结构 - 图7

3.3 程序控制结构 - 图8

当表达式的值等于表达式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循环中遇到该语句,将跳过其后的循环体语句,进行下一次循环.