matlab课件第4讲条件语句和循环语句教学提纲.ppt_第1页
matlab课件第4讲条件语句和循环语句教学提纲.ppt_第2页
matlab课件第4讲条件语句和循环语句教学提纲.ppt_第3页
matlab课件第4讲条件语句和循环语句教学提纲.ppt_第4页
matlab课件第4讲条件语句和循环语句教学提纲.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、=log(x+sqrt(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

3、语句 switch语句根据表达式的取值不同,分别执行不同的语句,其语句格式为: 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

4、没有折扣 200price500 3%折扣 500price1000 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)

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

6、自动转去求两矩阵的点乘. 程序如下: A=1,2,3;4,5,6; B=7,8,9;10,11,12; try C=A*B; catch C=A.*B; end C lasterr %显示出错原因,循 环 语 句,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)

7、=0; end end end A,关于For 循环的说明:,1. For 循环不能用For 循环内重新赋值循环变量n 来终止. for n=1:10 x(n)=sin(n*pi/10); n=10; end x x = Columns 1 through 7 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 Columns 8 through 10 0.5878 0.3090 0.0000,2. 语句1 :10 是一个标准的MATLAB 数组创建语句.在For 循环内接受任何有效的MATLAB 数组. data=3 9 45 6; 7 16 -

8、1 5 data = 3 9 45 6 7 16 -1 5 for n=data x=n(1)-n(2) end x =-4 x =-7 x =46 x =1,3. For 循环可按需要嵌套. 例:利用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 循环变量=矩阵表达

9、式 循环体语句 end 执行过程是依次将矩阵的各列元素赋给循环变量,然后执行循环体语句,直至各列元素处理完毕.,例8: 写出下列程序的执行结果。 s=0; a=12,13,14;15,16,17;18,19,20;21,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 isu

10、m = 5050,例10:求自然数前n项和,项数n由键盘输入.,3break语句和continue语句 与循环结构相关的语句还有break语句和continue语句.它们一般与if语句配合使用. break语句用于终止循环的执行.当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句. continue语句控制跳过循环体中的某些语句.当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环.,例11: 求100,200之间第一个能被21整除的整数. 程序如下: for n=100:200 if rem(n,21)=0 continue end break end n,循环的嵌套,如果一个循环结构的循环体又包括一个循环结构,就称为循环的嵌套,或称为多重循环结构. 多重循环的嵌套层数可以是任意的,可以按照嵌套层数,分别叫做二重循环、三重循环等.处于内部的循环叫作内循环,处于外部的循环叫作外循环.,例12: 若一个数等于它的各个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论