选择结构又可以叫做分支结构,它根据给定的条件是否成立,决定程序运行的方向。在不同的条件下执行不同的操作。
MATLAB可以用来实现选择结构的语句有三种:if语句、switch语句、try语句。
一.if语句
1.if语句
1.1条件为矩阵的情况
if语句的条件可以是一个矩阵。
如果条件中的矩阵中没有0这个元素,那么表示条件为真;如果有0这个元素,表示条件为假。
让我们来看一个例子:
如果条件为真时,我们输出字符串条件为真,否则就不输出字符串。
将下面的程序放入脚本文件中:
if [1 2 3 4]disp('条件成立')
end
运行程序后的结果:
如果是矩阵中含有0呢?那是什么情况呢?
if [1 2 3 0]disp('条件成立')
end
运行程序后的结果:
我们会发现命令行窗口中不显示条件成立,表示我们的条件为假。
1.2条件为数值的情况
与其他编程语言类似,我们通常情况下会将条件语句中的条件设置为一个数值。当条件结果为0时,表示该条件不成立;条件结果为非0时,表示该条件成立,执行if中的语句。
条件成立执行if中的语句;条件不成立执行if语句后面的语句。
我们来看一个例子:如果矩阵中的元素都是整数,那么输出整个矩阵。
x=[10 10 20];
if fix(x)==xdisp(x)
end
运行脚本后:
1.3if语句的应用
我们来看一道数学题,输入一个数值后,计算相应的函数值:
这道题目,如何使用if语句实现呢?
%第一步输入一个数字
x=input('请输入一个数字:');
%第二步x=10
if x==10y=cos(x+1)+sqrt(x*x+1);%y=cos(x+1)+sqrt(x^2+1)disp(y);%显示函数的数值
end
%第三步x不等于10
if x~=10y=x*sqrt(x+sqrt(x));disp(y)
end
运算结果:
2.if-else语句
if-else语句,若if中的条件为真则执行if中的语句,如果为假则执行else中的语句。
我们来看一个例子,如果输入的数字是1,则显示该数字,否则提示显示错误:
x=input('请输入一个数字:');
if x==1disp(x)
elsedisp('输入错误')
end
运行结果:
那么,对于这道数学题我们使用if-else如何实现呢?
%输入一个数字
x=input('请输入一个数字:');if x==10y=cos(x+1)+sqrt(x*x+1);%y=cos(x+1)+sqrt(x^2+1)disp(y);%显示函数的数值
elsey=x*sqrt(x+sqrt(x));disp(y)
end
运行结果:
3.if-elseif-else语句
输入一个字符,如果是数字,那么就输出它的平方;如果是大写字母,那么就输出该字母的小写字母;如果是小写字母,就输出该字母的大写字母;如果不是数字、大写字母、小写字母,就输出该字符。
ch=input('请输入一个字符:','s');
if ch>='A'&&ch<='Z'disp(lower(ch))
elseif ch>='a'&&ch<='z'disp(upper(ch))
elseif ch>='0'&&ch<='9'disp(str2double(ch)^2)%此处使用str2double函数是为了提高输出效能
elsedisp(ch)
end
运行结果: