MATLAB程序调试常见问题总结
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB 程序调试
程序调试是一个很基本也很重要的问题。
人不是神,没有谁能一遍写出完全正确没有错误的程序。
错误的程序大致分为以下三类:
1 拼写错误:比如应该是sum() ,写成了smu();这样的错误程序运行时会提示错误。
2 语法错误:比如6/0 这样的就会造成错误;这样的程序不一定会报错,但是结果显示的完全不正常。
3 逻辑错误:这样的错误非常隐蔽,往往是对算法考虑不周全。
程序可以顺利通过,显示的结果也是正常的数值,但是与先验的预期不符合。
那么:如何发现错误呢?
最简单的莫过于MATLAB 直接告诉你哪行出错了,但是很多时候情况并不这么简单。
比如第35 行出错了,但是出错的原因是因为上面几行的一些中间结果出错导致;或者程序根本没有报错,但是最后的结果不对。
这种时候就需要单步调试。
断点:
所谓断点,就是程序运行啊运行,运行到有断点的这一步会自动停住,方便你在中间环节调试,监督程序运行。
程序运行到当前断点:
S A i V -T A r d
L V -F
i t ‰
*l t l i
F
E ^
H Λ^ E
■
・>
I r a S ^a
⅛-
Γ 9⅞l S
i
∙e *l.
1
诒
1诒-⅛*s τ
s ⅜
>?
- *⅛K F ⅛⅝
.0r l .^⅝<^⅜L
⅛岁:
U I-□
」
・
[■ J i . :1S-翼
在当前断点处查看变量:
STEP IN ,
查看子函数运行情况:
子函数中的步进和跳出:
以上说的是MA TLAB 调试程序中最常用的方法。
此外再介绍一个函数:DBSTOP 在一般的情况下,MATLAB 运行程序时遇到错误会自动停止运行。
而这个函数可以实现遇到错误时自动进入调试状态,停在当前出错行。
语法格式:
DBSTOP IF ERROR 当然还有很多其他格式,具体的就看MA TLAB
HELP 吧。