资源描述:
《MATLAB文件与程序调试.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、M文件与程序调试在入门阶段,通常在行命令模式下工作。键入一行命令后,让系统立即执行该命令。用这种方法时,程序可读性差且难以存储。对于复杂的问题,应编成可存储的程序文件,再让MATLAB执行该程序。MATLAB的程序类型有三种:直接在命令窗口下执行的MATLAB指令;可以存取的M文件,也叫脚本文件。最后一种是函数(function)文件。后两种都是以.m为后缀的M文件。一、MATLAB程序%后面的内容是程序的注解,注解使程序更具可读性。在主程序开头用clear指令清除变量,以消除工作空间中其他变量对程序运行的影响。但注意在子程序中不要用clear。参数值要集中放在程序的开始部分,以
2、便维护。应充分利用MATLAB工具箱提供的指令来执行所要进行的运算,在语句行之后输入分号使其及中间结果不在屏幕上显示,以提高执行速度。程序尽量模块化,也就是采用主程序调用子程序的方法,将所有子程序合并在一起来执行全部的操作。充分利用Debugger来进行程序的调试(设置断点、单步执行、连续执行)。设置好MATLAB的工作路径,以便程序运行。二、MATLAB程序的基本设计原则%说明清除命令:清除workspace中的变量和图形(clear,close)定义变量:包括全局变量的声明及参数值的设定逐行执行命令:指MATLAB提供的运算指令或工具箱………提供的专用命令控制循环包含:for
3、,if,then,switch,while等语句逐行执行命令………end绘图命令:将运算结果绘制出来三、MATLAB程序体的基本组成结构复杂程序还需要调用子程序,或与其他应用程序结合起来。在编辑环境中,文字的不同颜色显示表明文字的不同属性。绿色:注解;黑色:程序主体;红色:属性值的设定;蓝色:控制流程。在运行程序之前,必须设置好MATLAB的工作路径,使得所要运行的程序及运行程序所需要的其他文件处在当前目录之下,只有这样,才可以使程序得以正常运行。否则可能导致无法读取某些系统文件或数据,从而程序无法执行。通过cd指令在命令窗口中可以更改、显示当前工作路径。通过路径浏览器(path
4、browser)也可以进行设置。四、M文件的编辑及工作路径设置几点说明:一组MATLAB语句的集合,没有输入,也没有输出,可以以任意MATLAB语句开始。类似于DOS下的批处理文件,它的执行方式很简单,用户只需在MATLAB的命令提示符下键入该文件的文件名,这样MATLAB就会自动执行该命令文件中的各条语句。脚本文件能对MATLAB工作空间中的数据进行处理处理,文件中所有语句的执行结果也完全返回到工作空间中。可以方便调用已有的M函数、其他脚本文件等。脚本文件格式适用于需要立即得到结果的小规模运算。五、脚本文件六、脚本文件的创建与执行步骤:在FILE菜单下点击NEW生成一个新的M文
5、件或点击OPEN打开已存在的M文件;程序编写;点击FILE菜单中的Save将编辑好的M文件保存;执行程序。ⅰ在命令窗口中直接输入待执行文件的文件名。ⅱ点击Debug-Run菜单。ⅲ点击Run按钮。七、脚本文件示例程序(MATLAB调试器的使用方法)【例1】已知A=[589];B=[11,12,13;14,15,16;17,18,19];建立一个命令文件计算BAT的值,然后将变量A,B的值互换。%exchange.m文件A=[589];B=[11,12,13;14,15,16;17,18,19];compud%计算BATC=A;A=B;B=C;AB%compud.m文件D=B*AT
6、>>D=268334400A=111213141516171819B=589设置或清除断点:使用快捷键F12。执行:使用快捷键F5。单步执行:使用快捷键F10。stepin:当遇见函数时,进入函数内部,使用快捷键F11。stepout:执行流程跳出函数,使用快捷键Shift+F11。执行到光标所在位置:非常遗憾这项功能没有快捷键,只能使用菜单来完成这样的功能。观察变量或表达式的值:将鼠标放在要观察的变量上停留片刻,就会显示出变量的值,当矩阵太大时,只显示矩阵的维数。退出调试模式:没有设置快捷键,使用菜单或者快捷按钮来完成。八、调试器的使用九、脚本文件注意事项脚本文件中的所有变量为
7、全局变量,执行后可以在工作空间及命令窗口中查询和修改。脚本文件中每一行的语句在编写时若最后没有;,则其执行结果将在命令窗口中显示。因此,为了节省执行时间,应尽量避免变量的显示。十、函数文件几点说明:新建、打开、保存与命令文件相同。一组MATLAB语句的集合,函数可以接受输入参数,然后执行并输出结果。由function起头,后跟的函数名必须与文件名相同。函数体内使用的除返回和输入变量这些在function语句中直接引用的变量以外的所有变量都是局部变量(即需即用),即在该函数返回之后