写在前面:作者本人是纯纯的菜鸟,学习的内容来自于 中国大学MOOC 中南大学 《科学计算与MATLAB语言》,欢迎各位大佬或新手在这里和平讨论,如果我有错误请各位不吝赐教,提前感谢各位捧场!
switch语句的用法
switch 表达式
case 结果表1
语句组1
case 结果表2
语句组2
...
case 结果表n-1
语句组n-1
otherwise
语句组n
end
%switch语句按照1~n的顺序依次进行判断,直到结果表为真,执行对应的语句组中的命令
%当进行到任意一次判断结果为真时,无论是否满足剩下的结果表中的条件,都不会执行其他的语句组
%若判断n-1次还是没有真,则执行otherwise对应语句组
%结果表为是switch表达式的取值,当取值有多个时,用单元数据表示,表达式的值只要等于其中的某一个即可
例题:输入一个英文单词,判断其首字母是否为元音字母
思路:判断该字母储存在的字符c中第一个元素,使用switch语句
方案1:判断首字母是否存在以下字符;
c=input('请输入英文单词:','s');
%判断第一个字符
switch c(1)
case {'A','E','I','O','U','a','e','i','o','u'}
disp([c,'以元音字母开头'])
otherwise
disp([c,'以辅音字母开头'])
end
方案2:使用if语句,判断首字母在AEIOUaeiou组成的字符串中的具体位置,若存在,值必定大于1;若不存在,其值为0。
c=input('请输入英文单词:','s');
%第二种方案
if findstr(c(1),'AEIOUaeiou')>0
disp([c,''以元音字母开头])
else
disp([c,'以辅音字母开头'])
end
例题:PM2.5是指大气中直径小于或等于2.5微米的可入肺颗粒物,是衡量空气质量的重要指标。假定空气质量等级以PM2.5数值划分为6级。
PM2.5数值在[0,35)空气质量为优,[35,75)为良,[75,115)为轻度污染,[115,150)为中度污染,[150,250)为重度污染,大于等于250为严重污染。
编写程序,输入PM2.5数值,输出空气质量等级。
思路:因为PM2.5数值存在小数点,所以数据量非常庞大,因此在进行判断前可以用fix函数进行取整,将每种情况下的数值变少再进行判断。
g=input('请输入数据:');
switch fix(g)
case num2cell(0:34)
disp('优')
case num2cell(35:74)
disp('良')
case num2cell(75:114)
disp('轻度污染')
case num2cell(115:149)
disp('中度污染')
case num2cell(150:249)
disp('重度污染')
otherwise
disp('严重污染')
end
%num2cell 函数:将数值矩阵转化为单元矩阵,因为case的判断条件只能是单元数据
以上就是今天分享的全部内容了,再次感谢各位耐心看到这里!