matlab 报错并停止运行,MATLAB下的程序调试

文章主要内容摘自《MATLAB 7.0从入门到精通》,求是科技编著。

程序错误一般分为两种:语法错误和逻辑错误。对于语法错误通常MATLAB会报错,并指出错误所在位置方便用户纠正。对于逻辑错误,往往需要用户对程序进行调试,发现错误原因和位置。MATLAB下的程序调试方法主要有直接调试法和工具调试法。

(1)直接调试法

1.通过分析后,将重点怀疑语句后的分号删掉,将结果显示出来,然后与预期值进行比较。

2.单步调试一个函数时,将第一行的函数声明注释掉,并定义输入变量的值,然后以脚本方式运行此M文件,这样就可保存下原来的中间变量了,可以对这些结果进行分析,找出错误。

3. 可以在适当的位置添加变量输出值的语句。

4.在程序的适当位置添加keyboard指令。当MATLAB执行到此处时将暂停,并显示k>>提示符,用户可以查看或改变各个工作空间中存放的变量,在提示符后键入return指令可以继续执行原文件。

(2)工具调试法

MATLAB的工具调试法主要包括以命令行为主的程序调试和以图形界面为主的程序调试。

2.1 以命令行为主的程序调试

1. 设置断点

dpstop in mfile

在文件名为mfile的M文件的第一个可执行语句前设置断点。

dbstop in mfile at lineno

在文件名为mfile的M文件的第lineno行设置断点。

dpstop in mile at subfun

当程序执行到子函数subfun时,暂时停止文件的执行并使MATLAB处于调试模式。

dbstop if error

M文件运行遇到错误时,终止M文件的运行并使得MATLAB处于调试状态。不包括try…catch语句中检测到的错误。

dbstop if all error

遇到任何类型的运行错误均停止运行并处于调试状态

dbstop if warning

运行M文件遇到警告时,终止M文件的运行并使得MATLAB处于调试状态,运行将在产生警告的行停止,程序可恢复运行

dbstop if caught error

当try…catch检测到运行时间错误时,停止M文件的执行,用户可以恢复程序的运行

dbstop if naninf或dbstop ifinfnan

当遇到无穷值或非数值时,终止M文件的执行

2.清除断点

dbclear all

dbclear all in mfile

dbclear in mfile

dbclear in mfile at lineno

dbclear in mfile at subfun

dbclear if error

dbclear if warning

dbclear if naninf

dbclear if infnan

3. 恢复执行

dbcout

从断点处恢复程序的执行0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值