matlab怎么查找错误的具体位置

我编的程序在matlab中运行时只有提示出错了,但是我想知道具体在哪!怎么就知道了!

方法/步骤
1
下述方法描述中,采用如下实例程序进行说明。
%实例程序
[xx,yy] = meshgrid(1:20,1:20);
d = sqrt(xx.^2+yy.^2);
zz = peaks(10);
out = d + zz;
surf(out);shading interp;
2
MATLAB程序运行错误后,切换到MATLAB命令行中,观察命令行中的错误信息,确定错误原因
在错误信息中,查找源程序中错误代码的行数,点击行数链接,可以直接定位错误语句

错误语句定位后,自动跳转到代码编辑器中,在代码编辑器中通过光标标识错误代码的位置

确定错误语句后,通过F12快捷键在错误语句处设定断点

断点设定完成后,通过F5快捷键重新执行程序,程序会在断点处停止运行,进入调试状态

在调试状态下有多个步骤可以查找程序问题的原因。
(1)将鼠标放置在变量上方,这时代码编辑器会自动显示变量的类型、维数、各维大小等信息,根据此信息帮助程序员查找程序中变量错误原因。

在调试状态下有多个步骤可以查找程序问题的原因。
(2)将问题代码行复制到在MATLAB命令行中执行,重现错误。这样可以反复重新错误,而不中断程序运行,而且不用重新执行程序,提高调试效率。

在调试状态下有多种方法可以查找程序问题的原因。
(3)通过whos、size、help等命令协助确定错误原因。其中,whos命令可以查看当前工作区中变量列表,size可以确定某一变量的维数和各维大小,help可以确定某一操作符或函数的帮助信息。
如:
K>> whos
Name Size Bytes Class Attributes

ans 1x2 16 double
d 20x20 3200 double
filename 1x60 120 char
xx 20x20 3200 double
yy 20x20 3200 double
zz 10x10 800 double

K>> size(zz)
ans =
10 10
K>> size(d)
ans =
20 20
K>> help +
plus - Addition

C = A + B
C = plus(A,B)

plus 的参考页

另请参阅 cumsum, minus, sum, uplus

名为 plus 的其他函数
finance/plus, fixedpoint/plus, symbolic/plus, matlab/plus, +,
symbolic/plus, +, matlab/+, symbolic/+

K>>

仔细分析上述信息,最终确定MATLAB程序执行错误的原因。上述实例中,程序执行错误的原因为:变量a和变量zz的行数和列数不一致,不符合+操作符的要求。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-02
用m文件的话是会提示出错位置的。除非你是把代码直接写在工作空间本回答被网友采纳
相似回答