第4周逻辑判断及流程控制.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4周逻辑判断及流程控制.ppt

2.4.3 流程控制语句   【例2-4-3】 求MATLAB的相对精度。   解: 解题的思路是让y不断减小,直至MATLAB分不出1+y与1的差别为止。其程序为 clc clear y=1; while 1+y1 y1=y; y=y/2; end,y1 结果为 y1 =2.2204e-016 2.4.3 流程控制语句 它就是MATLAB内部给出的浮点数相对精度。 2.4.3 流程控制语句   3. for语句   for语句的结构形式为 for k=初值: 增量: 终值 语句组A,end 即它把语句组A反复执行N次, 每次执行时程序中的k值不同。有多少个k值呢? 可得 N=1+(终值-初值)/增量   【例2-4-4】 用for语句求三角函数表的程序为 clc clear for x=0: 0.1: pi/4 disp([x,sin(x),cos(x),tan(x)]) end 2.4.3 流程控制语句 所得的结果将和2.3节中的答案相同。这也可以看出,MATLAB的元素群运算功能与一个for循环相当。由于它不需每次检验表达式,因此运算速度比for语句快得多。但是不能认为它可全部取代for语句,由下例可以看出。 2.4.3 流程控制语句   【例2-4-5】 列出构成hilbert矩阵的程序,它需要两重循环: clc clear n=input(n=),format rat%有理数形式 for i=1: n, for j=1: n,h(i,j)=1/(i+j-1); end, end,h 执行时,先按提示输入n,比如输入5, 结果为 h= 1 1/2 1/3 1/4 1/5 1/2 1/3 1/4 1/5 1/6 1/3 1/4 1/5 1/6 1/7 1/4 1/5 1/6 1/7 1/8 1/5 1/6 1/7 1/8 1/9 2.4.3 流程控制语句 2.4.3 流程控制语句   format rat, n=input(n=), for i=1: n for j=1: n h(i,j)=1/(i+j-1); end end h 为改善可读性用缩进方法。结果和上一结果相同,如本例中应写成: 2.4.3 流程控制语句   由于我们现在是在MATLAB命令窗中直接输入程序,因此不得不把它写在一行中。此时要注意,在if、 for、 while与表达式之间应留空格,在表达式与语句组之间必须用空格或逗号分隔,而在语句组的后面,必须要用逗号或分号来与end或else相分隔,否则,MATLAB会显示出错信息并中止运行。   break是中止循环的命令,在循环语句中,可用它在一定条件下跳出循环,这是常常用到的。在多重循环中,break 只能使程序跳出包含它的最内部的那个循环。 2.4.3 流程控制语句   4. switch语句   switch-case-otherwise语句是一种均衡快速的多分支语句,其基本语言结构可表达为: switch 表达式(标量或字符串) case 值1 语句组 A case 值2 语句组B  otherwise 语句组N end 2.4.3 流程控制语句   当表达式的值(或字符串)与某case语句中的值(字符串)相同时,它就执行该case语句后的语句组,而后直接跳到终点的end。case语句可以有N-1个,即可以有N-1个分支,如果没有任何一个case值能与表达式值相符,则将执行otherwise后面的语句组N。   例如,判断输入数n的奇、 偶、 空的程序可用switch语句写成 clc clear n=-3 switch mod(n,2), case 1,A=odd case 0,A=even otherwise,A=empty end   注意, 把它写成单行命令时的标点格式,其中有些逗号可以用分号代替,但不得省略。另外为了包含负数中的奇数,将例2-4-1中的rem改为mod,读者可从rem(-3,2)和mod(-3,2)的差别得出结论。在正式写程序

文档评论(0)

docindpp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档