练习12选择结构和循环结构-Read_第1页
练习12选择结构和循环结构-Read_第2页
练习12选择结构和循环结构-Read_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、知识背景在数学计算或工程数据处理中,有时我们需要先编制特定程 序,然后利用程序来完成任务。如果我们遇到较为复杂的问题,那么, 在编制程序的过程中可能还会遇到循环和嵌套结构。事实上,在C语言和FORTRAN语言里我们早已接触过类似问题,但 MATLAB在 这方面还是有一些自身的特点。熟练掌握 MATLAB中选择结构和循 环结构是今后遇到的复杂问题,建立模型,进而编程解决问题的必要 条件。主要内容本练习考查知识点本练习我们学习MATLAB中的选择语句IF和SWITCH,要 注意语句的语法结构和END的用法。FOR和SWITCH用于循环结构, 分别用于循环次数已知和未知的情况。使用时应注意与 END

2、的对应 关系。练习过程(1)选择结构首先我们来看一下IF语句,MATLAB中的IF语句用于选择结构,它一般的形式如下:ifA1% 表达式 1B1%命令 1elseifA2% 表达式 2B2%命令 2elseB3%命令 3end从 if 语句结构中我们就能看出if 语句执行的特点。 若表达式 1 成立,则执行命令 B1 ,若表达式 2 成立,执行命令 2;如果上述情况均未出现,则执行命令 3。其中 elseif 语句可以重复使用。if 语句最简单的形式是:if A%表达式B% 命令end有了上面的知识,我们就可以来编写一个小程序。比如说, 我们要判断输入数据正负性,可以在命令区内输入:a=inp

3、ut('a二');ifa>0 judge二'正数,elseif a<0 judge二'负数',else judge二零',end回车后,首先在命令区出现“ a二”的提示符,要求输入一个数据。我们输入 -5,回车后,得到运行结果如图 12-1 所示上面的程序中,我们用到了 input 语句,这个语句要求用户输入 数据。当我们输入一个数据后,程序就会判断这个数据的正负性,给 出结果。在输入这个程序时 ,一定要注意,应该按照图 12-1 所示的格 式输入,即“if a>0 judge二'正数',”语句应跟在“ a=in

4、put('a二');”之后, 否则, MATLAB 将认为 a 是一个没有定义的变量。这一点要牢牢记 住。我们再来学习switch语句。switch语句的结构如下:switcha%读入一个语句caseA1%情况 1B1%命令 1caseA2B2caseotherwise%其余情况Bn%最后一个命令我们来看一个判断是否下雨的小程序。在命令区内输入:a=input('a'=);switch a case 1disp ('it is raining')case 0 disp ('I do not know')case-1 disp(&#

5、39;it is not raining')otherwisedisp('it is raining?')end这个程序将可能性分为四种情况, 不同情况下将得到不同的输出 结果。回车后,出现提示符,要求输入一个数值。我们输入 -1,得到 的结果,如图 12-2 所示。图 12-1 if 语句程序运行结果 图 12-2 switch 语句程序运行结果 switch 语句根据变量或者表达式的不同取值,分别执行不同 的命令。比如所举的例子中,当输入的a的值为1时,即easel,将显示“ it is raining”,不同的ease将执行不同的命令(输出关于是否 下雨的判断)。

6、( 2 )循环结构先来看一下 for 语句。 for 语句的格式为: for 变量 =表达式命令 1命令 2end上面所说的表达式, 一般就是循环条件。 for 语句一般用于循环次 数以知的情况。我们来看一个具体例子。在命令区中输入下面的程序:n=5;for i=1:nif i=ja(i,j)=2;elseif abs(i,j)=1a(i,j)=1;elsea(i,j)=0endendenda得到如下结果:a=2000002000002000002000002这是一个 for 和 if 语句联用的例子生成了一个主对角线为 2 的对 角阵。请读者对照前面的 if 语句结构来分析程序的特点。请注意

7、 end 的对应关系。每个for语句必须以end结尾,if语句的结尾也要有 end。 我们把程序写成上面的格式是为了增加可读性, 一个好的程序应该有 很强的可读性,以便出错时改正及程序间转换或调用。while 语句也一个循环语句,它一般用于循环次数未知的情况。 格式如下:while表达式命令end比如有这样一个问题:请求出阶乘大于或等于 99的最小整数。我们事先无法知道循环多少次,如果试算的话,将费时费力,这时 while 语句就派上用场了。我们编制并输出下面的程序:n=1;while prod(1: n) <99八99n=n+1;endn程序本身很简单,短短几行。我们来看一下图 123

8、 所示的结 果。图 12-3 while 循环语句运行结果 从这个例子中,读者应该能够体会到 for 语句与 while 语句的不 同。大家不要小看“ end',在if, switch, for,和while语句中都有用到 它。end最一般的用法是作为程序段结束的标志。使用时,要注意对 应关系,不可多,不可少,不可错位。然而,end还够作为指示符,表示向量的最后一个元素。请看下面的例子:输入:A=magic(3)B=A(end,2:end)得到的结果如下:A=816357B=9 2break 语句我们没有介绍,它一般用来跳出 for 或 while 循环。练习小结在这个练习当中,我们学习了 MATLAB 的选择结构和循环结构。 if 语句和 switch 语句用于选择,根据不同情况执行不同命令, if 语句 和switch都要以end 结尾。for和while用于循环结构。for 一般用 于循环次数已知的情况,每个 for 后都要跟 end;while 一般用于循环 次数已知的情况。end是语句段结束标志,也可作为指示符。使用时 应注意 end 的对应关系。思考题1. MATLAB 中可用于编写程序的常见语句有哪些?答:主要的有 if elseif else end switch case other

温馨提示

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

评论

0/150

提交评论