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

我编的程序在matlab中运行时只有提示出错了,但是我想知道具体在哪!怎么就知道了!... 我编的程序在matlab中运行时只有提示出错了,但是我想知道具体在哪!怎么就知道了! 展开
 我来答
shine戚七七
2015-09-21 · TA获得超过4.7万个赞
知道大有可为答主
回答量:2万
采纳率:75%
帮助的人:2680万
展开全部
方法/步骤
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的行数和列数不一致,不符合+操作符的要求。
slassddd
2010-06-02 · TA获得超过499个赞
知道小有建树答主
回答量:425
采纳率:0%
帮助的人:239万
展开全部
用m文件的话是会提示出错位置的。除非你是把代码直接写在工作空间
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式