网站大量收购闲置独家精品文档,联系QQ:2885784924

Matlab课件_第四章.ppt

  1. 1、本文档共133页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab课件_第四章

(8)keyboard 此命令将停止文件的执行并将控制权交给键盘,此时命令窗口的提示符由“”变成“K”,当输入return后,控制权将交回文件。该命令对程序的调试和在程序运行中修改变量值都很方便。 (9)pause 此命令用于暂时中止程序的运行。该命令对程序的调试和查询中间变量值时很方便。该命令的语法规则如下: 4.3 程 序 调 试 4.3.1 直接调试法 4.3.2 工具调试法 在编译和运行程序时出现错误(警告)无法避免,因此掌握程序调试的方法和技巧对提高工作效率很重要。 下面针对语法错误和逻辑错误推荐两种调试方法,即直接调试法和工具调试法。 4.3.1 直接调试法 对于简单的程序往往采用直接调试法,通常采取的措施如下。 (1)通过分析后,将重点怀疑语句后的分号 删掉,将结果显示出来,然后与预期 值进行比较。 (2)单独调试函数时,将函数声明行注释掉,并 定义输入变量的值,然后以脚本方式运行,这 样可保存中间变量,进而进行分析和找出错 误。 (3)在程序中的适当位置添加输出变量值的 代码。 (4)在程序中的适当位置添加keyboard命 令。 复杂的程序,必须采用工具调试法,即借助MATLAB提供的工具调试器(Debugger)进行调试。 4.3.2 工具调试法 1.以命令行为主的程序调试 2.以图形界面为主的程序调试 MATLAB提供了调试程序的工具,利用这些工具可以提高编程的效率,包括命令行的调试函数和图形界面的菜单命令。 1.以命令行为主的程序调试 以命令行为主的程序调试手段具有通用性,可以适用于各种平台,它主要是应用MATLAB提供的调试命令。 在命令窗口输入help debug可以看到对于这些命令的简单描述,下面分别进行介绍。 (1)设置断点 这是最重要的部分,可以利用它来指定程序代码的断点,使得程序在断点前停止执行,并进入调试模式,从而可以检查当前各个变量的值。 dbstop in mfile 在文件名为mfile的M文件的第一个可执行语句前设置断点。 dbstop in mfile at lineno 在文件名为mfile的M文件的第lineno行设置断点。如果第lineno行为非执行语句,则在其后的第一个可执行语句前设置断点。 dbstop in mfile at subfun 在文件名为mfile的M文件的子程序subfun的第一个可执行语句前设置断点。 dbstop if error 在程序运行遇到错误时,自动设置断点。这里的错误不包括try…catch之间的错误。 dbstop if all error 在程序运行遇到错误时,自动设置断点。这里的错误包括try…catch之间的错误。 dbstop if warning 在程序运行遇到警告时,自动设置断点。 dbstop if caught error 在程序运行try…catch间代码遇到错误时,自动设置断点。 dbstop if naninf 或 dbstop if infnan 当程序运行遇到无穷值或者非数值时,自动设置断点。 在命令窗口输入dbstop in function8,并打开文件function8.m就可看到如下图所示的界面,它在第一个可执行语句前设置了断点。 单击图中红点,会发现红点被取消,此时回复到初始状态。然后在命令窗口依次输入dbstop if error和function8(magic(3)),可得到如下的运行结果和如下图所示的界面。 (2)清除断点 dbclear all 清除所有M文件中的所有断点。 dbclear all in mfile 清除文件名为mfile的M文件中的所有断点。 dbclear in mfile 清除文件名为mfile的M文件中第一个可执行语句前的断点。 dbclear in mfile at lineno 清除文件名为mfile的M文件中第lineno行语句前的断点。 dbclear in mfile at subfun 清除文件名为mfile的M文件中子程序su

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档