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

下载本文档

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

文档简介

第四讲 条件语句和循环语句 一 单条件语句 格式1 if逻辑表达式程序语句组end if语句计算所跟的逻辑表达式的值 若值为真就做下面的程序语句组 若值为假就跳到end后继续做程序 条件语句 格式2 if逻辑表达式程序语句组1else程序语句组2end if语句计算所跟的逻辑表达式的值 若值为真就做下面的程序语句组1 然后就跳到end后继续做程序 否则 值为假 就做else后的程序语句组2 然后再接着做end后的程序 例2 计算分段函数的值 程序如下 x input 请输入x的值 ifx 0y x sqrt pi exp 2 elsey log x sqrt 1 x x 2 endx y 例 输入三角形的三条边 求面积 A input 请输入三角形的三条边 ifA 1 A 2 A 3 elsedisp 不能构成一个三角形 end运行 请输入三角形的三条边 456 9 9216 二 多条件语句 if条件1程序语句组1elseif条件2程序语句组2 elseif条件m语句组melse语句组nend语句用于实现多分支选择结构 程序如下 x input 请输入x的值 ifx 0y 1 elseifx 0y 0 elsey 1 endx y switch语句switch语句根据表达式的取值不同 分别执行不同的语句 其语句格式为 switch表达式case表达式1语句组1case表达式2语句组2 case表达式m语句组motherwise语句组nend 当表达式的值等于表达式1的值时 执行语句组1 当表达式的值等于表达式2的值时 执行语句组2 当表达式的值等于表达式m的值时 执行语句组m 当表达式的值不等于case所列的表达式的值时 执行语句组n 当任意一个分支的语句执行完后 直接执行switch语句的下一句 例5 某商场对顾客所购买的商品实行打折销售 标准如下 商品价格用price来表示 price 200没有折扣200 price 5003 折扣500 price 10005 折扣1000 price 25008 折扣2500 price 500010 折扣5000 price14 折扣输入所售商品的价格 求其实际销售价格 程序如下 price input 请输入商品价格 switchfix price 100 case 0 1 价格小于200rate 0 case 2 3 4 价格大于等于200但小于500rate 3 100 casenum2cell 5 9 价格大于等于500但小于1000rate 5 100 casenum2cell 10 24 价格大于等于1000但小于2500rate 8 100 casenum2cell 25 49 价格大于等于2500但小于5000rate 10 100 otherwise 价格大于等于5000rate 14 100 endprice price 1 rate 输出商品实际销售价格 try语句语句格式为 try语句组1catch语句组2endtry语句先试探性执行语句组1 如果语句组1在执行过程中出现错误 则将错误信息赋给保留的lasterr变量 并转去执行语句组2 例6 矩阵乘法运算要求两矩阵的维数相容 否则会出错 先求两矩阵的乘积 若出错 则自动转去求两矩阵的点乘 程序如下 A 1 2 3 4 5 6 B 7 8 9 10 11 12 tryC A B catchC A B endClasterr 显示出错原因 循环语句 1 for end循环 格式 for循环变量 初值 步长 终值循环体语句组end 注 步长为1时 可省略 例7 编程生成一个6阶矩阵 使其主对角线相邻上元素皆为1 与主对角线相邻元素皆为2 其余元素皆为0 程序如下 fori 1 6forj 1 6ifi jA i j 1 elseifabs i j 1A I j 2 elseA I j 0 endendendA 关于For循环的说明 1 For循环不能用For循环内重新赋值循环变量n来终止 forn 1 10 x n sin n pi 10 n 10 end xx Columns1through70 30900 58780 80900 95111 00000 95110 8090Columns8through100 58780 30900 0000 2 语句1 10是一个标准的MATLAB数组创建语句 在For循环内接受任何有效的MATLAB数组 data 39456 716 15 data 39456716 15forn datax n 1 n 2 endx 4x 7x 46x 1 3 For循环可按需要嵌套 例 利用for循环求1 2 3 5 的值sum 0 fori 1 5pdr 1 fork 1 ipdr pdr k endsum sum pdr end 4 为了得到最大的速度 在For循环被执行之前 应预先分配数组 x zeros 1 10 forn 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 22 23 fork as s k enddisp s 2 while end循环 一般格式 while逻辑表达式循环体语句组end 表达式一般是由逻辑运算和关系运算以及一般运算组成的 以判断循环的进行和停止 只要表达式的值非0 继续循环 直到表达式值为0 循环停止 例9 用while循环求1 100间整数的和sum 0 i 1 whilei sum 5050 例10 求自然数前n项和 项数n由键盘输入 3 break语句和continue语句与循环结构相关的语句还有break语句和continue语句 它们一般与if语句配合使用 break语句用于终止循环的执行 当在循环体内执行到该语句时 程序将跳出循环 继续执行循环语句的下一语句 continue语句控制跳过循环体中的某些语句 当在循环体内执行到该语句时 程序将跳过循环体中所有剩下的语句 继续下一次循环 例11 求 100 200 之间第一个能被21整除的整数 程序如下 forn 100 200ifrem n 21 0continueendbreakendn 循环的嵌套 如果一个循环结构的循环体又包括一个循环结构 就称为循环的嵌套 或称为多重循环结构 多重循环的嵌套层数可以是任意的 可以按照嵌套层数 分别叫做二重循环 三重循环等 处于内部的循环叫作内循环 处于外部的循环叫作外循环 例12 若一个数等于它的各个真因

温馨提示

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

评论

0/150

提交评论