MATLAB程序调试和优化

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序调试和优化
一、在Debugger窗口调试程序
用open打开M文件并进入Debugger窗口。

二、设置断点
分为标准断点、条件断点和错误断点。

让断点不起作用或反之:Debug->Enable/Disable Breakpoint。

有效断点(红色)和无效断点(灰色):后者并非是不起作用的断点,程序运行到此照样停止,只是修改后没有保存而修改变成无效。

命令窗口处设置断点——dbstop函数,有两种形式,如下:
dbstop in mfile
dbstop in mfile at lineno
前者暂停在第一行可执行语句上,后者暂停在lineno行。

它将函数置于debug方式,其后可用dbcont和dbstep重新运行,也可用dbquit退出debug方式。

清除断点:Debug->Set/Clear Breakpoint或dbclear函数(dbclear all/in mfile/in mfile at lineno)。

在命令窗口显示断点状况:dbstatus或dbstatus mfile。

设置条件断点:Debug->Set/Modify Conditional Breakpoint。

断点的弹出菜单:鼠标右键点击断点。

命令窗口设置条件断点:dbstop in mfile at lineno if expression。

错误断点:Debug->Stop if Errors/Warings。

命令窗口设置错误断点:dbstop if error或dbstop if error identifier或dbstop if warning或dbstop if warning identifier或dbstop if naninf。

清除错误断点:dbclear if error或dbclear if warning或dbclear if naninf或dbclear if error identifier或dbclear if caught error。

三、交互地使用命令窗口和Debugger窗口
选中Debug->Open M-files when Debugging。

keyboard语句:观察和修改变量,并用return结束键盘方式并把控制再交给M文件。

在工作区上面的Stack中可以选择collatzplot函数,可以显示当前的变量及其值。

打开数组编辑器:双击变量,或用命令openvar variable。

who和whos:列出当前工作区的变量。

四、彩色语法突出显示(Syntax highlighting),改正语法错误
可使用原本的颜色,也可自定义:File->Prefences->Colors Prefences。

恢复默认颜色Restore Default Colors。

五、利用错误信息
语法错误,带有下划线,可作为超链接。

六、在MATLAB命令窗口进入Debug方式
dbstop - Set breakpoint.
dbclear - Remove breakpoint.
dbcont - Resume execution.
dbdown - Change local workspace context.
dbmex - Enable MEX-file debugging.
dbstack - List who called whom.
dbstatus - List all breakpoints.
dbstep - Execute one or more lines.
dbtype - List M-file with line numbers.
dbup - Change local workspace context.
dbquit - Quit debug mode.
七、Cells
Cell工具条:,从左到右依次是执行当前Cell;执行当前Cell并推进到下一个Cell;执行整个文件;减少或增加光标附近的数值,并运行;除或乘光标附近的数,并运行;插入Cell定界符;显示Cell标题。

Cell是指在Editor/Debugger窗口中把一个M文件分解成的若干段。

独立cell可以单独运行。

激活Cell方式:Cell->Enable Cell Mode。

定义Cell:Cell->Insert Cell Divider/Break。

给Cell加标题:Cell->Insert Text Markup->Cell Title。

下一个Cell:Cell->Next Cell。

上一个Cell:Cell->Previous Cell。

运行一个Cell:Cell->Evaluate Current Cell或点击响应的图标。

八、M-Lint
M-lint能帮助验证代码的完整性。

进入方式:mlint函数;M-Lint的图形用户界面(GUI)。

进入方式:在Current Directory中单击M-lint Code Check Report;或者在Editor窗口选择Tools->Check Code with M-Lint。

命令窗口:mlint函数。

文件比较报告:File Comparison Report。

九、Profile
Profile是能够检测程序性能的工具。

打开:在MA TLAB窗口打开Desktop->Profile;在Editor窗口打开Tools->Open Profile;在Command History窗口选择一条语句单击右键,在弹出的快捷菜单中选择Profile Code;在命令行输入“profile viewer”。

运行:检测M文件时在Run this code中输入文件名;检测图形用户界面时首先保证Run this code区空白,点击Start Profiling按钮,然后打开图形用户界面,然后使用,工作完成时点击Profiler窗口的Stop Profiling按钮。

改变Profiler字体:File->Preferences->Fonts,然后选择代码或文本字体,点击Ok或Apply 按钮,然后在Profiler窗口刷新。

Profiler简略报告和详细报告。

Profile函数:profile on (开始);profile off(中止)和profile viewer(打开)。

相关文档
最新文档