matlab调试工具

在开发函数M文件过程中,不可避免地出现错误,即故障。MATLAB提供了很多函数和方法,帮助调试函数。

 

在MATLAB表达式中,有两类错误:语法错误和运行错误。当MATLAB计算一个表达式的值或一个函数被编译到内存时会发现语法错误。一旦发现语法错误,MATLAB立即标志这些错误,并提供有关所遇到的错误类型,以及发生错误处M文件的行数。给定这些反馈信息,就很容易纠正这些错误。

而另一方面,即使MATLAB标志了运行错误,但找出错误一般比较困难。当发现运行错误时,MATLAB把控制权返回给命令窗口和MATLAB的工作空间。失去了对发生错误的函数空间的访问权,因此,用户不能询问函数工作空间中的内容排除问题。

根据作者的经验,当一些操作结果导致空矩阵或NaNs时,最容易发生运行错误。所有有关NaNs的操作都返回NaNs值。因此,如果有可能出现NaNs结果,则当出现NaNs时,最好运用逻辑函数isnan来执行一些缺省操作。因为空矩阵为零维,所以对空矩阵寻址常常导致错误。函数find表示了可产生空矩阵结果的一般情况。如果函数find的空矩阵输出用于索引其它数组,所返回的值也将是空的。这样,空矩阵具有传播性质。例如:

 

>>x=pi*(1 : 4)    %  example data

 

>>i=find(x>20)  %  use find function

 

>>y=2*x(i)     %  propagate the empty matrix

 

很清楚,当希望y具有有限维数和值时,可能发生运行错误。当执行一个操作或使用可返回空结果的函数时,逻辑函数isempty有利于为空矩阵定义一个缺省值,这样避免运行错误。

有几种调试函数M文件的方法。对于简单的问题,可直接使用下列的方法组合:

1、去掉文件中所选择的行的分号,以便中间结果显示在命令窗口中。

2、在文件中加入显示感兴趣的变量的语句

3、把keyboard命令放在文件中所选择的地方,给键盘暂时控制权。这样,可以查询函数空间并按需要改变其值。

4、在M文件开始,在function语句前加上%,将函数M文件改变为脚本M文件。当MATLAB执行该脚本M文件时,该空间就是MATLAB工作空间。这样,当发生错误时可以询问。

当M文件大,递归调用或者多次嵌套(即调用其它M文件函数,被调用M文件函数又调用其它M文件函数,等等)时,用MATLAB的调试函数会更方便。与上述所列方法相反,这些调试函数不要求将有问题的M文件进行编辑。表16.1所给出的这些函数类似于其它高级编程语言中所提供的函数。有关进一步的信息,以及它们的使用实例,参阅《MATLAB用户指南》。

MATLAB调试函数

 

dbclear:

 

取消断点

 

dbcont:

 

在断点后恢复运行

 

dbdown:

 

工作空间下移

 

dbquit:

 

退出调试模式

 

dbstack:

 

列出谁调用谁

 

dbstatus:

 

列出所用的断点

 

dbstep:

 

执行一行或多行

 

dbstop:

 

设置断点

 

dbtype:

 

列出带行号的M文件

 

dbup:

 

工作空间上移

 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值