在编写程序的过程中难免会出现错误,使得程序无法继续运行或者结果不正确。MATLAB中提供了多种调试和错误处理手段。程序调试技巧在很大程度上是经验性的,需要不断积累。[大谦MATLAB,dqmatlab点com]
用try-catch语句检查错误
节简单地介绍了try-catch语句,使用该语句可以捕获未知的错误。
【例3-26】现有计算两个矩阵相乘的函数,在无法正确计算结果时将抛出错误。
code.matlab
function matrixMultiply(A, B)
try
X = A * B
catch
disp '** 计算A * B时出错。'
end
在上面的try-catch语句中,try块中的语句可以正常执行,catch块抛出出错信息。下面的语句首先定义两个矩阵A和B,然后调用matrixMultiply函数计算它们的乘积。由于A和B不满足矩阵相乘的条件,即A的列数不等于B的行数,所以结果出错。
code.matlab
A = [1 2 3; 6 7 2; 0 1 5];
B = [9 5 6; 0 4 9];
matrixMultiply(A, B)
**计算A * B时出错。
错误和警告信息
使用MATLAB的error和warning函数可以报告错误和警告信息并延迟程序的运行。
【例3-27】
如
code.matlab
if n < 1
error('n必须大于或等于1。')
end
如果n小于1,则给出出错信息“n必须大于或等于1”。
同样,下面用warning函数给出警告信息。
code.matlab
warning('输入内容必须是字符串')
警告输入内容必须是字符串。
用“编辑器”工具栏进行调试
使用MATLAB“编辑器”工具栏中的按钮选项,可以很方便地进行程序调试。具体的高度方式大体可以分为3种,即断点调试、块执行以及逐节调试等。
1.断点调试
在进行断点调试时,程序运行到断点处就会停下来,这样有利于很快找到错误出现的位置。此种调试方式需要先设置断点。要设置断点,在编辑器中,在需要设置断点的代码前单击鼠标左键,显示红色圆点,即为断点;再次单击,取消断点设置。
2.块执行
在编辑器中选择要执行的内容,单击鼠标右键,在弹出的快捷菜单中单击“执行所选内容”或“执行所选节”命令实现块执行。
3.逐节调试
在“编辑器”工具栏中单击“运行并前进”按钮,会执行当前节程序并前进到下一节。