资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,气象统计应用,海洋环境学院,循环语句,Matlab,提供了两种实现循环结构的语句:,for,语句和,while,语句,。,for,语句的结构,for,循环变量,=,表达式,1:,表达式,2:,表达式,3,循环体;,end,已知,求,n=100,时,y,的值。,clear;,y=0;,N=100;,for i=1:1:N,y=y+1/i.2;,end,disp(y);,执行过程为:,若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循环。,while,语句的结构,while,表达式,循环体;,end,3,条件语句,if-else-end,语句,switch-case-otherwise,语句,if,语句,if,条件式,表达式;,else,表达式;,end,if,条件式,表达式;,end,if,条件式,1,表达式,1,;,elseif,条件式,2,表达式,2,;,end,从键盘输入,x,值,计算分段函数,x=input(,请输入,x,的值:,);,if x=10,y=cos(x+1)+sqrt(x*x+1);,else,y=x*sqrt(x+sqrt(x);,end,disp(y);,试编程:键盘输入百分制成绩,编程转化为五等级制的成绩。即输入,0,100,分以内的数,则,90,以上为,A,,,80,以上为,B,,,70,以上为,C,,,60,以上为,D,,,60,以下为,E,。输入其他的数值,则输出无效分数。,clear;,sco=input(,请输入成绩,n);,x=floor(sco/10);,switch x,case 9,10,disp(,成绩为,A);,case 8,disp(,成绩为,B);,case 7,disp(,成绩为,C);,case 6,disp(,成绩为,D);,case 0,1,2,3,4,5,disp(,成绩为,E);,otherwise,disp(,无效分数,);,end,语法错误,变量名与函数名的误写、标点符号的缺漏和,end,的漏写等,这类错误,,Matlab,在运行时都能发现,终止执行并报错,容易改正。,直接调试法,对简单的程序采用直接调试法,通过分析,将重点怀疑语句后的分号删掉,将结果显示出来,然后与预期值比较。,在适当的位置添加输出变量值的语句。,单独调试一个函数时,将第一行的函数声明注释掉,并定义输入变量的值,然后以脚本的方式执行此,M,文件,找出错误。,直接调试法,在程序中的适当位置添加,keyboard,指令。当,Matlab,执行至此处时将暂停,并显示,k,提示符,用户可以查看或改变各个工作空间中存放的变量,在提示符后键入,return,指令可以继续执行原文件。,工具调试法,Debug function,dbstop -Set breakpoint.,dbclear -Remove breakpoint.,dbcont -Resume execution.,dbdown -Change local workspace context.,dbmex -Enable MEX-.,dbstack -List who called whom.,dbstatus -List all breakpoints.,dbstep -Execute one or more lines.,dbtype -List line numbers.,dbup -Change local workspace context.,dbquit -Quit debug mode.,工具调试法,1.,设置断点。制定程序代码的断点,使得,Matlab,可在断点前停止执行,从而可以检查各个局部变量的值。,dbstop in file,在第一个可执行语句前设置断点,dbstop in location,在,location,行设置断点,dbstop in m subfun,当程序执行到子程序,subfun,时,暂时中止执行,并设断点,dbstop if error,遇到错误时,终止,M,文件运行,并停在错误行,dbstop in tem4.m,dbstop in tem4 at 6,3.dbcont:,从断点处恢复执行,4.dbstep,:执行,1,行或多行语句,5.dbtype mile,:列出文件内容,并在每行语句前加上标号以方便设置断点。,工具调试法,以图形界面为主的程序调试,窗口与命令的对应关系,窗口命令,调试命令,step,dbstep,step in,dbstep in,step out,dbstep out,run/continue,dbcont,go until cursor,dbstop in mfile,set/clear breakpoint,dbstop/dbclear,set/modify conditional breakpoints,设置,/,修改条件断点,enable/disable breakpoint,允许,/,禁止断点功用,clear breakpoints in all files,dbclear all,stop if errors/warnings,dbstop if error,exit debug mode,dbquit,
展开阅读全文