欢迎来到天天文库
浏览记录
ID:41224323
大小:6.33 MB
页数:108页
时间:2019-08-19
《多分支判断语句switch-case》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、多分支判断语句switch-case作用:多分支判断选择。一般表达形式:switch〈选择判断量〉case选择判断值1选择判断语句1case选择判断值2选择判断语句2……otherwise判断执行语句end注意:当其中一个case语句后的条件为真时,switch-case语句不对其后的case语句进行判断。1例如:利用switch_case语句编写判断季节的函数文件。functiondemo_switch_case(month)switchmonthcase{3,4,5}season='spring'case{6,7,8}season='s
2、ummer'case{9,10,11}season='autumn'otherwiseseason='winter'end将该函数文件以demo_switch_case.m为文件名保存后,在命令窗口输入“demo_switch_case(1)”,可调用该函数文件,返回结果为:season=winter。2人机交互命令作用:在执行MATLAB主程序文件时,在适当的地方对程序的运行进行观察或干预。重要性:在调试程序的时候,人机交互命令更是不可缺少。MATLAB语言提供的基本人机交互命令有:echo、input、pause和keyboard四种。3echo命
3、令作用:使M文件的命令在执行时可见,有利于程序的调试和演示。4echofile%文件在执行中的回应显示开关。echofileon%使指定的file文件的命令在执行中被显示出来。echofileoff%关闭指定文件的命令在执行中的回应。对于函数文件,echo命令一般只用于其调试阶段。函数文件echoon%打开文本文件的回应命令。echooff%关闭回应命令。echoonall%显示其后所有执行文件的执行过程。echooffall%关闭其后所有执行文件的显示。文本文件input命令input命令用来提示用户从键盘输入数据、字符串或表达式,并接收输入值。5例:R
4、=input('Howmanyapples')pause命令作用:使程序暂时终止执行,等待用户按任意键后继续执行基本调用格式:pause%暂停程序等待回应。pause(n)%在程序运行中等待n秒后继续运行。pauseon%显示其后的pause命令,并且执行pause命令。pauseoff%显示其后的pause命令,但不执行该命令。keyboard命令keyboard命令与input命令的作用相似。当程序遇到此命令时,MATLAB就将暂时停止运行程序,处于等待键盘输入状态且在屏幕上显示字符K。键盘处理完毕后,输入字符串return,程序将继续执行。在M
5、文件中使用该命令,对于程序的调试和在程序运行中修改变量都很方便。6例如:disp(‘pleaseinputamonth:’)%显示提示信息keyboard%控制权交给键盘demo_switch_case(ans)输入数字(例如3)回车,继续在命令行输入“return”,控制权返回给MATLAB,即可显示3月是春天。程序调试与诊断MATLAB程序出错时的基本处理方法语法格式错误如缺“(”或“)”等,在运行时可检测出大多数该类错误,并指出错在哪一行。算法逻辑错误这样的错误非常隐蔽,往往是对算法考虑不周全,程序可以顺利通过,显示的结果也是正常的数值,但是与先验的
6、预期不符合。7注意:在包含函数调用的MATLAB程序运行时,当发生运行错误时,不会显示出错信息,又无法检测各个局部变量。应采用调试技术来查找问题。8(1)在可能发生错误的M文件中,删去某些语句行末的分号,使显示其运行中间结果,从中可发现一些问题;(2)在M文件的适当位置上加上keyboard命令,使在执行时在此暂停,从而检查局部工作空间中变量的内容,从中找到出错的线索,利用return命令可恢复程序的执行;(3)注释掉M函数文件的函数定义行,使函数文件转变成脚本文件;(4)使用MATLAB调试器,设置断点,或单步执行。MATLAB的代码编辑调试器MATLA
7、B的代码编辑调试器是一个综合了代码编写与调试的集成开发环境。MATLAB代码调试过程主要是通过调试器菜单Debug下的各子项进行的。调试选项及其功能见表1-3。9M文件调试器Debug菜单表1-3调试选项及其功能选项图标功能快捷键OpenM-fileswhenDebbuging选择该选项则在调试打开M文件无Step下一步F10StepIn进入被调用函数内部F11StepOut跳出当前函数Shift+F11Continue执行,直至下一断点F5GountilCursor执行至当前光标处无Set/ClearBreakpoint设置或删除断点F12Set/Mod
8、ifyConditionalBreakpoint…设置或修改条件断
此文档下载收益归作者所有