matlab课件-第4讲-条件语句和循环语句.ppt

上传人:牧羊曲112 文档编号:5439328 上传时间:2023-07-07 格式:PPT 页数:29 大小:302.49KB
返回 下载 相关 举报
matlab课件-第4讲-条件语句和循环语句.ppt_第1页
第1页 / 共29页
matlab课件-第4讲-条件语句和循环语句.ppt_第2页
第2页 / 共29页
matlab课件-第4讲-条件语句和循环语句.ppt_第3页
第3页 / 共29页
matlab课件-第4讲-条件语句和循环语句.ppt_第4页
第4页 / 共29页
matlab课件-第4讲-条件语句和循环语句.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《matlab课件-第4讲-条件语句和循环语句.ppt》由会员分享,可在线阅读,更多相关《matlab课件-第4讲-条件语句和循环语句.ppt(29页珍藏版)》请在三一办公上搜索。

1、第四讲,条件语句和循环语句,一、单条件语句,格式1:if 逻辑表达式 程序语句组 end,if语句计算所跟的逻辑表达式的值,若值为真就做下面的程序语句组,若值为假就跳到end后继续做程序.,条 件 语 句,格式2:if 逻辑表达式 程序语句组1 else 程序语句组2 end,if语句计算所跟的逻辑表达式的值,若值为真就做下面的程序语句组1,然后就跳到end后继续做程序.否则,值为假,就做else后的程序语句组2,然后再接着做end后的程序.,例2:计算分段函数的值.程序如下:x=input(请输入x的值:);if x=0 y=(x+sqrt(pi)/exp(2);else y=log(x+s

2、qrt(1+x*x)/2;end x,y,【例】输入三角形的三条边,求面积.,A=input(请输入三角形的三条边:);if A(1)+A(2)A(3)else disp(不能构成一个三角形。)end运行:请输入三角形的三条边:4 5 6 9.9216,二、多条件语句,if 条件1 程序语句组1 elseif 条件2 程序语句组2 elseif 条件m 语句组m else 语句组n end语句用于实现多分支选择结构,程序如下:x=input(请输入x的值:);if x0 y=1;elseif x0 y=0;else y1;end x,y,switch语句 switch语句根据表达式的取值不同,

3、分别执行不同的语句,其语句格式为:switch 表达式 case 表达式1 语句组1 case 表达式2 语句组2 case 表达式m 语句组m otherwise 语句组n end,当表达式的值等于表达式1的值时,执行语句组1,当表达式的值等于表达式2的值时,执行语句组2,当表达式的值等于表达式m的值时,执行语句组m,当表达式的值不等于case所列的表达式的值时,执行语句组n.当任意一个分支的语句执行完后,直接执行switch语句的下一句.,例5:某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):price200 没有折扣 200price500 3%折扣 500

4、price1000 5%折扣 1000price2500 8%折扣 2500price5000 10%折扣 5000price 14%折扣输入所售商品的价格,求其实际销售价格.,程序如下:price=input(请输入商品价格);switch fix(price/100)case 0,1%价格小于200 rate=0;case 2,3,4%价格大于等于200但小于500 rate=3/100;case num2cell(5:9)%价格大于等于500但小于1000 rate=5/100;case num2cell(10:24)%价格大于等于1000但小于2500 rate=8/100;case

5、num2cell(25:49)%价格大于等于2500但小于5000 rate=10/100;otherwise%价格大于等于5000 rate=14/100;endprice=price*(1-rate)%输出商品实际销售价格,try语句语句格式为:try 语句组1catch 语句组2end try语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2.,例6:矩阵乘法运算要求两矩阵的维数相容,否则会出错.先求两矩阵的乘积,若出错,则自动转去求两矩阵的点乘.程序如下:A=1,2,3;4,5,6;B=7,8,9;10,11,12;

6、try C=A*B;catch C=A.*B;end Clasterr%显示出错原因,循 环 语 句,1.for-end循环,格式:for 循环变量=初值:步长:终值 循环体语句组 end,注 步长为1时,可省略.,例7:编程生成一个6阶矩阵,使其主对角线相邻上元素皆为1,与主对角线相邻元素皆为2,其余元素皆为0.,程序如下:for i=1:6 for j=1:6 if i=j A(i,j)=1;elseif abs(i-j)=1 A(I,j)=2;else A(I,j)=0;end end end A,关于For 循环的说明:,1.For 循环不能用For 循环内重新赋值循环变量n 来终止.

7、for n=1:10 x(n)=sin(n*pi/10);n=10;end xx=Columns 1 through 70.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090Columns 8 through 100.5878 0.3090 0.0000,2.语句1:10 是一个标准的MATLAB 数组创建语句.在For 循环内接受任何有效的MATLAB 数组.data=3 9 45 6;7 16-1 5data=3 9 45 67 16-1 5for n=datax=n(1)-n(2)endx=-4x=-7x=46x=1,3.For 循环可按需要嵌套

8、.例:利用for循环求1!+2!+3!+5!的值 sum=0;for i=1:5 pdr=1;for k=1:i pdr=pdr*k;end sum=sum+pdr;end,4.为了得到最大的速度,在For 循环被执行之前,应预先分配数组.x=zeros(1,10);for n=1:10 x(n)=sin(n*pi/10);end,for语句更一般的格式为:for 循环变量=矩阵表达式 循环体语句 end 执行过程是依次将矩阵的各列元素赋给循环变量,然后执行循环体语句,直至各列元素处理完毕.,例8:写出下列程序的执行结果。s=0;a=12,13,14;15,16,17;18,19,20;21,

9、22,23;for k=a s=s+k;end disp(s);,2.while-end循环,一般格式:while 逻辑表达式 循环体语句组 end,表达式一般是由逻辑运算和关系运算以及一般运算组成的,以判断循环的进行和停止;只要表达式的值非0,继续循环;直到表达式值为0,循环停止.,例9:用while循环求1100间整数的和 sum=0;i=1;while isum=5050,例10:求自然数前n项和,项数n由键盘输入.,3break语句和continue语句 与循环结构相关的语句还有break语句和continue语句.它们一般与if语句配合使用.break语句用于终止循环的执行.当在循环

10、体内执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句.continue语句控制跳过循环体中的某些语句.当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环.,例11:求100,200之间第一个能被21整除的整数.程序如下:for n=100:200 if rem(n,21)=0 continue end break end n,循环的嵌套,如果一个循环结构的循环体又包括一个循环结构,就称为循环的嵌套,或称为多重循环结构.多重循环的嵌套层数可以是任意的,可以按照嵌套层数,分别叫做二重循环、三重循环等.处于内部的循环叫作内循环,处于外部的循环叫作外循环.,例12:若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数.求1,500之间的全部完数.for m=1:500 s=0;for k=1:m/2 if rem(m,k)=0 s=s+k;end end if m=s disp(m);end end,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号