matlab出错时,如何让它停在出错的地方

就像debug那样停在那儿,
而不是仅仅显示出错新息就跳出程序
谢谢各位的指导!
我的意思如下:
程序大概循环1800步,
但是我也不知道会在哪一步出错,
也许程序不会出错。
我现在希望的就是如果程序出错了(bug),
程序就停在那儿,
保持相应的变量,这样我就可以调试;
如果出错之后就跳出程序,
由于没有相应变量的新息,
我将无法继续调试。

matlab出错时,如何让它停在出错的地方
就像debug那样停在那儿,
而不是仅仅显示出错新息就跳出程序
回答:
[1]MATLAB也可以设置断点,你在M文件编辑菜单里能找到它,很容易。
[2]我不推荐你使用断点,其实你要问的是,
我如何能更好的调试MATLAB程序?是不是?
比如你调试循环可以在循环内部加入disp()语句,让它输出你关心的变量,它一出错,你看得很清楚
其他部分也是一样
还有就是 子程序要一个一个调试,确认它能工作再放到主程序里引用它,这样可以避免你程序过大带来调试上的麻烦,MATLAB跳出程序原因分很多种,即使你通过断点让它中断了,其实带来的反而是不良效果,你设置断点以后会理解我现在说的话的。适时监控你关心的部分才是上选。
PS:
[1]根据你的补充,其实可以使用折半的办法,让程序运行到一半的时候,输出一个变量,正确的话,说明如果出错可能会在后半段循环上,依次类推,不过你的循环次数其实不算多,我处理的循环比你复杂多了,呵呵。别紧张,慢慢来。
[2]如果有需要,可以站内M我
[3]推荐你常到http://www.4math.cn/看看 呵呵

参考资料:http://www.4math.cn/

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-28
刚刚遇到这个问题,想了一个方法:在容易出错的地方加try...catch...end,在catch...end间加断点,那么出错时就在该出错处暂停了。
第2个回答  2019-02-21
dbstop if error;%发生错误即停止在错误行,一般写在脚本开始处。
第3个回答  2008-11-30
可以设置断点
相似回答