分享一些Matlab调试技巧

Matlab的调试总体分为,直接调试和间接调试。
1.
直接调试:
1)去掉句末的分号;
2)单独调试一个函数:将第一行的函数声明注释掉,并定义输入量,以脚本方式执行 M 文件;
3)适当地方添加输出变量值的语句;
4)添加keyboard命令;



pause命令
以下为该命令的用法

   pause命令用于暂时中止程序的运行。当程序运行到此命令时,程序暂时中止,然后等待用户按任意键继续进行。该命令在程序的调试过程和用户需要查询中间结果时十分有用。调用格式:

   pause:导致M文件的停止,等待用户按任意键继续运行

   pause(n):此用法将在继续执行前中止执行程序n秒,这里n可以是任意实数。时钟的精度是由MATLAB的工作平台所决定的,绝大多数工作平台都支持0.01秒的时间间隔。

   pause on:此用法将允许后续的pause命令中止程序的运行。

   pause off:此用法将保证后续的任何pause或pause(n)语句都不中止程序的运行。


2.工具调试:
1.
)以命令行为主的调试:
1)设置断点:

·        dbstop in mfile:在文件名为mfileM文件第一个可执行语句前设断点;

·        dbstop in mfile at lineno:mfile的第lineno行设断点;

·        dbstop in mfile at subfun:当程序执行到子程序subfun时,暂时中止执行,并设断点;

·        dbstop if error:遇到错误时,终止M文件运行,并停在错误行(不包括try...catch语句中检测到的的错误,不能在错误后重新开始运行);

·        dbstop if all error:遇到任何类型错误均停止(包括try...catch语句中检测到的的错误);

·        dbstop if warning:程序可恢复运行;

·        dbstop if caught error:try...catch检测到运行时间错误是,停止M文件执行,可恢复运行;

·        dbstop if naninf  dbstop if infnan

2)断点清除:

·        dbclear all:清除所有M文件中的所有断点;

·        dbclear all in mfile:清除文件名为mfile的文件中的所有断点;

·        dbclear in mfile:清除文件名为mfile中第一个可执行语句前的断点;

·        dbclear in mfile at lineno:

·        dbclear in mfile at subfun:

·        dbclear iferror/warning/naninf/infnan:

3)恢复运行:

·        dbcount:从断点处恢复程序的执行,直到下一个断点或错误后返回Matlab基本工作空间;

4)调用堆栈:

·        dbstack

·        1.dbstack(N)

·        2.dbstack('-completenames')

5)列出所有断点:

·        dbstatus

s=dbstatus:返回值为M×1结构体
其中字段:
name-
函数名;
line-
断点行向量;
expression_r-
line中相对应的断点条件表达字符串;
cond-
条件字符串,如errorcaughterrorwarning,或naninf
identifier-
当条件字符串是errorcaught errorwarning,或naninf时,改字段是Matlab
信息指示字符串;
·
dbstatusmfile:列车制定M文件中所有断点设置,mfile必须为M文件函数或有效路径;
6)执行一行或多行语句:

·        dbstep:执行下一个可执行语句;

·        dbstep nlines:执行下nlines行可执行语句;

·        dbstep in:执行下一行可执行语句,如有子函数,进入;

·        dbstep out:执行函数剩余部分,离开函数时停止;

·        注:这四种都返回调试模式,如遇断点,中止;

7)列出文件内容:

·        dbtype mfile:列出mfile文件的内容,并在每行语句前加上标号以方便使用者设定断点;

·        dbtype mfile start:end:列出mfile文件中指定行号范围的部分

·        注:在UNIXVMS调试模式下,并不现实Matlab的调试器,此时必须使用dbtype来显示源程序代码;

8)切换工作空间:

·        dbdown:遇到断点时,将当前工作空间切换到被调用的M文件的空间;

·        dbup:将当前工作空间切换到调用的M文件的空间;

9)退出调试模式:

·        dbquit

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然!我很乐意分享一些MATLAB使用的技巧。以下是一些常用的技巧: 1. 使用脚本文件和函数:将代码组织成脚本文件和函数可以提高代码的可重用性和模块化程度。脚本文件可以用来执行一系列命令,而函数可以封装特定的功能。 2. 使用MATLAB编辑器:MATLAB自带的编辑器拥有语法高亮、自动补全、调试等功能,可以提高编写代码的效率。此外,编辑器还支持代码折叠和注释等功能,有助于提高代码的可读性。 3. 合理利用内置函数和工具箱:MATLAB提供了许多内置函数和工具箱,可以帮助你快速完成各种任务,如矩阵运算、信号处理、图像处理等。熟悉这些函数和工具箱,可以极大地提高编程效率。 4. 使用向量化操作:MATLAB是一种矢量化编程语言,支持对整个向量或矩阵进行操作,而不需要使用循环。利用向量化操作可以大幅提高代码的执行速度。 5. 使用调试工具:当代码出现错误时,可以使用MATLAB调试工具来定位问题所在。调试工具可以让你逐行执行代码并查看变量的值,帮助你找出代码中的错误。 6. 优化代码性能:MATLAB提供了一些优化工具和技术,可以帮助你提高代码的执行速度。例如,可以使用矩阵运算替代循环,避免频繁的内存分配等。 7. 参考文档和在线资源:MATLAB拥有丰富的文档和在线资源,包括官方文档、用户手册、论坛等。在遇到问题时,及时查阅相关文档和资源可以帮助你快速解决问题。 希望这些技巧对你有所帮助!如果你有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值