目录
选择结构又称为分支结构,他根据给定的条件是否成立,来决定程序的运行路线,在不同的条件下,执行不同的操作。
MATLAB用于实现选择结构的语句有 if语句、switch语句和 try语句。
注:在我们日常的选择结构使用中,主要是使用if 语句,它的灵活性好、适用范围广。
语句格式如下:
if 条件
语句组
end
注1:条件一般用关系运算或逻辑运算来表示,其结果是一个标量或矩阵。当结果矩阵非空且不包含零元素时,该条件成立,否则不成立。MATLAB建议条件尽量使用标量,条件的结果非零时,表示条件成立,零表示条件不成立。
注2:当条件成立时,执行语句组,执行完后继续执行 if 语句后面的语句,若条件不成立,则直接执行 if 语句后面的语句。
例,当x是整数矩阵时,输出x的值。
程序如下:
- if fix(x)==x
- disp(x);
- end
运行如下:
- >> x=[1,2,3,4];
- >> Untitled100
- 1 2 3 4
-
- >> x=[1,1.5,3,4];
- >> Untitled100
语句格式如下:
if 条件
语句组1
else
语句组2
end
注:当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句后面的语句。
例,计算分段函数的值。
程序如下:
- x=input('请输入x的值:');
- if x==10
- y=cos(x+1)+sqrt(x*x+1);
- else
- y=x*sqrt(x+sqrt(x));
- end
- y
运行如下:
- >> Untitled667
- 请输入x的值:10
-
- y =
-
- 10.0543
-
- >> Untitled667
- 请输入x的值:5
-
- y =
-
- 13.4500
语句格式如下:
if 条件1
语句组1
elseif 条件2
语句组2
elseif 条件m
语句组m
else
语句组n
end
例,输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符,则输出其对应数的平方,若为其他字符则原样输出。
程序如下:
- c=input('请输入一个字符:','s');
- if c>='A' && c<='Z'
- disp(lower(c));
- elseif c>='a' && c<='z'
- disp(upper(c));
- elseif c>='0' && c<='9'
- disp(str2double(c)^2);
- else
- disp(c);
- end
运行如下:
- >> Untitled3
- 请输入一个字符:R
- r
- >> Untitled3
- 请输入一个字符:r
- R
- >> Untitled3
- 请输入一个字符:5
- 25
- >> Untitled3
- 请输入一个字符:*
- *