文档详情

第二章 MATLAB的基本语法.ppt

发布:2017-05-24约2.78万字共105页下载文档
文本预览下载声明
switch结构的语法形式: switch expression(scalar or string) case valuel statements case value2 statements ……… otherwise statements end 执行switch结构时,先计算表达式expression的值,当结果等于某个case的value时,就执行该case紧随的语句。如果所有的case的value都和expression计算结果不相等,则执行otherwise后面紧随的语句。 2.循环控制语句 两类循环控制语句,分别是for循环和whlie循环: (1)for循环 for循环用于已知循环次数的情况,其语法格式: for index=start:increment:end statements end index为循环变量,increment为增量,end用于判断循环是否应该终止。增量increment默认值是1,可以自由设置。当增量为正数时,循环开始先将index赋值为start,然后判断index是否小于或等于end。若是,则执行循环语句,执行后,对index累加一个增量increment;再判断index是否小于或等于end,若是,则继续执行循环语句,并继续对index累加,循环往复,直到index大于end时退出循环。 (2)while循环 while循环用于已知循环退出条件的情况,其语法形式: while expression statements end 当表达式expression的结果为真时,就执行循环语句,直到表达式expression的结果为假,才退出循环。 3.流程控制命令 在执行主程序文件中,往往还希望在适当的地方对程序的运行进行观察或干预,这时就需要流程控制命令。在调试程序时,还需要人机交互命令,所以有些流程控制命令是人机交互式的。流程控制命令见书中表2-18。 2.8.7 程序设计举例 【例2-8-4】编写M文件分别用if和swich分支语句实现将百分制的学生成绩转换为五分制输出。 (1).if语句,打开M文件编辑器,输入以下程序,然后保存并运行该程序。 clear n=input(’输入n=’) if n=90 chji=’优秀’ elseif n=80 chji=’良好’ elseif n=70 chji=’中等’ elseif n=60 chji=’及格’ else chji=’不及格’ end 测试运行此程序,当输入n=85时,得到: chji=良好 (2).swich语句,打开M文件编辑器,输入以下程序,然后保存并运行该程序。 clear n=input(’输入n=’) switch fix(n/10) case {10,9} chji=’优秀’ case 8 chji=’良好’ case 7 chji=’中等’ case 6 chji=’及格’ otherwise chji=’不及格’ end 测试运行此程序,当输入n=72时,得到: chji=中等 【例2-8-5】编写M文件,分别实现用for和while循环语句求1到100的和。 (1).for循环语句,打开M文件编辑器,输入以下程序,然后保存并运行该程序。 sum=0; for i=1:1:100 sum=sum+i; end sum 运行程序,输出结果: sum=5050 (2).while循环语句,打开M文件编辑器,输入以下程序,然后保存并运行该程序。 sum=0; i=1; while (i=100) sum=sum+i; i=i+1; end sum 运行程序,输出结果: sum=5050 【例2-8-6】编制m文件,等待键盘输入某一区间数,并显示这个区间中的第一个37的整数倍的数。 ◆ 打开M文件编辑器,输入以下程序,然后保存并运行该程序。 n1=input(请输入起始数n1=); n2=input(请输入终止数(大于37)n2=); for n=n1:n2 if rem(n,37)~=0 continue end break end n 测试运行此程序,分别输入n1、n2的数值为: 请输入起始数n1=100 请输入终止数(大于37)n2=370 得到100~370区间中的第一个37的整数倍的数是: n = 111 【例2-8-7】编制一个解数论问题的函数文件:取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。 ◆ 打开M文件编辑器,输入以下程序,然后保存并运行该程序。 function x=collatz(n) % Classic “3n+1” Plo
显示全部
相似文档