MATLAB程序调试(总结)

时间:2024.5.2

MATLAB程序调试

程序调试是一个很基本也很重要的问题。人不是神,没有谁能一遍写出完全正确没有错误的程序。
错误的程序大致分为以下三类:
1 拼写错误:比如应该是sum(),写成了smu();这样的错误程序运行时会提示错误。
2 语法错误:比如6/0这样的就会造成错误;这样的程序不一定会报错,但是结果显示的完全不正常。
3 逻辑错误:这样的错误非常隐蔽,往往是对算法考虑不周全。程序可以顺利通过,显示的结果也是正常的数值,但是与先验的预期不符合。
那么:如何发现错误呢?
最简单的莫过于MATLAB直接告诉你哪行出错了,但是很多时候情况并不这么简单。
比如第35行出错了,但是出错的原因是因为上面几行的一些中间结果出错导致;或者程序根本没有报错,但是最后的结果不对。
这种时候就需要单步调试。
断点:
所谓断点,就是程序运行啊运行,运行到有断点的这一步会自动停住,方便你在中间环节调试,监督程序运行。

程序运行到当前断点:

步进:

在当前断点处查看变量:

STEP IN, 查看子函数运行情况:

子函数中的步进和跳出:

以上说的是MATLAB调试程序中最常用的方法。
此外再介绍一个函数:DBSTOP
在一般的情况下,MATLAB运行程序时遇到错误会自动停止运行。
而这个函数可以实现遇到错误时自动进入调试状态,停在当前出错行。
语法格式:
DBSTOP IF ERROR
当然还有很多其他格式,具体的就看MATLAB HELP吧。


第二篇:MATLAB程序调试和优化


程序调试和优化

一、 在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

dbcont dbdown dbmex dbstack - Remove breakpoint. - Resume execution. - Change local workspace context. - Enable MEX-file debugging. - List who called whom.

- List all breakpoints.

- Execute one or more lines.

- List M-file with line numbers.

- Change local workspace context.

- Quit debug mode. dbstatus dbstep dbtype dbup dbquit

七、 Cells

Cell

MATLAB程序调试和优化

工具条:,从左到右依次是执行当前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是能够检测程序性能的工具。

打开:在MATLAB窗口打开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(打开)。

更多相关推荐:
污水处理站调试总结

1、工程概述本污水处理站采用生物微氧-好氧接触氧化处理工艺,废水中的有机物在生物微氧反应器内部分COD降解,同时提高废水的可生物降解性,为后续好氧生物处理创造有利条件。而后在膜微孔曝气生化池内充分曝气供氧的条件…

厌氧调试总结

厌氧调试总结.txt不要放弃自己!-------(妈妈曾经这样对我说,转身出门的一刹那,我泪流满面,却不想让任何人看见!)看到这一句小编也心有感触,想起当初离家前往几千里外的地方的时候,妈妈也说过类似的话,但是…

7500空分设备调试总结

KDON-7500/7500型空分设备调试总结(****有限责任公司氧气厂)****有限责任公司KDON-7500/7500型空分设备由河南**空分设备公司成套安装。采用常温分子筛吸附,增压透平膨胀机,规整填料…

EPON设备调试总结

Epon设备调试和宽带设备基本思路是相同的,下面是一个简单的调试总结:1,对于新开局来说,加电后单板不需要手动添加,系统会自动发现,仅仅需要确认单板。configBoardconfirm02,然后就是配置vla…

001调试总结

云南省电力基建调试所QI/YDSY—04—TS022—20xx调试技术报告云电调QS字[20xx]第001号工程名称:曲靖电厂二期扩建工程2X300MW燃煤机组项目名称:4机组汽机专业调试技术总结云南省电力试验…

邹县电厂7号1000MW发电机安装及调试总结

邹县电厂7号1000MW汽轮发电机系由东方电机股份有限公司与日立公司联合设计制造。在安装与调试期间,日立公司派出了工地代表进行现场技术指导,作为合同乙方,我公司也参与了整个安装与调试全过程,现将安9.10a.检…

0Sf-qp_e秸秆电厂水冷振动炉排安装调试总结

|_~吾尝终日而思矣,不如须臾之所学也;吾尝而望矣,不如登高之博见也。--《荀子·劝学》秸秆电厂水冷振动炉排安装调试总结华电宿州生物质能发电有限公司#1锅炉即将整套启动,在完成的节点计划锅炉煮炉、冲管、汽机额定…

调试camera总结

调试camera经验总结一个好的camera效果需要多方面保证1senor镜头马达要好这是源如果源头不好后面怎么优化都没有用2ISP要好ISP是否有硬件滤波器3A算法是否先进iphone好也是其3A的算法很厉害...

[MTK]LCD 调试总结

MTKLCD调试总结ZZ加实践20xx4916331液晶显示模式并行MCU接口RGB接口Vysnc接口串行SPI接口MDDI接口2屏幕颜色实质上即为色阶的概念色阶是表示手机液晶显示屏亮度强弱的指数标准也就是通常...

CIMPLICITY调试总结

1安装数据库时会提示frame30未安装出错需在服务器管理中手动添加或删除角色在安装时需选备用源路径可上网查路径选本地D盘字母小写2数据库软件安装完成后先建立数据库注意用户名和登录密码登录名和密码最好在安装数据...

变频器调试方法总结

MITSUBISHI变频器调试方法总结1变频器外部接线在介绍变频器调试方法之前首先介绍一下吊车起升系统变频器的外部接线端子以MITSUBISHI三菱变频器为例图1熔炼125吨吊车起升变频器外部接线RST变频器三...

凯迪运营公司调试总结

运营公司调试总结一调试工作面临的困难1调试资质问题我们进驻项目面临监理单位地方质监部门对调试资质的审查这是目前对我们调试工作最大的困扰对照电力工程调试能力资格管理办法20xx版的要求申请调试资质的单位必须是中电...

调试总结(96篇)