MATLAB的流程控制

zyazky 2020-05-17

作为一种程序设计语言,MATLAB同一般高级程序语言一样,为用户提供了丰富的程序结构语言来实现用户对程序流程的控制。MATLAB的程序路程控制主要包括循环控制和条件选择控制。

循环控制结构

for循环结构

for循环结构的格式为:

for 循环变量 = 向量表达式
		循环体语句
end

该循环结构的执行方式为:从向量表达式的第一列开始,依次将向量表达式各列的值赋值给循环变量,然后执行循环体语句组中的命令,直到最后一列。通常使用的for循环格式为:

for i=s: h:e

例题

求1-50的累加和。

>> sum = 0;
>> for i = 1 : 1:50
sum = sum + i;
end
>> sum

sum =

        1275

for循环语句可以实现多重循环,但for与end必须成对出现。

while循环结构

while循环结构的基本格式为:

while 关系表达式
		循环体语句组
end

该循环结构的执行方式为:
(1)判断关系表达式是否为真,若为真,则执行(2),否则执行(3);
(2)执行循环体语句组中的命令,再返回至(1);
(3)执行end语句,即循环结束。

例题

>> sum = 0;
>> i = 1;
>> while i<= 50
sum = sum + i;
i = i + 1;
end
>> sum

sum =

        1275

条件选择结构

if条件选择结构

if 条件表达式1
	条件块语句组1
elseif 条件表达2
	条件块语句组2
...
elseif 条件表达式n-1
	条件块语句n-1
else
	条件块语句组n-1
end

例题

学生成绩分类:90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E,要求输入一个分数输出其对应等级。

>> grade = input("Enter a grade:");
if grade >=90
		degree = ‘A‘;
elseif (grade >= 80) && (grade < 90)
		degree = ‘B‘;
elseif (grade >= 70) && (grade < 80)
		degree = ‘C‘;
elseif (grade >= 60) && (grade < 70)
		degree = ‘D‘;
else
		degree = ‘E‘;
end
Enter a grade:90
>> disp([‘The degree is:‘,degree])
	The degree is:A

switch条件选择结构

switch条件选择结构用于多分支选择,其基本格式为:

switch 表达式
	case 常量表达式1
			语句组1;
  case  常量表达式2
  		语句组2;
      ....
   case 常量表达式n
   		语句组n;
   otherwise
   		语句组n+1
end

MATLAB中,switch条件选择结构只执行第一个匹配的case对应的语句组,故不需要break。

例题

>> degree = input("Enter a degree:");switch (degree)
case ‘A‘
 disp(‘The grade is 90-100.‘);
case ‘B‘
	disp(‘The grade is 80 -90.‘);
otherwise
	disp(‘The grade is under 80.‘);
end
Enter a degree:‘C‘
The grade is under 80.

相关推荐