MATLAB程序运行出错
展开全部
述方法描述中,采用如下实例程序进行说明。
%实例程序
[xx,yy]
=
meshgrid(1:20,1:20);
d
=
sqrt(xx.^2+yy.^2);
zz
=
peaks(10);
out
=
d
+
zz;
surf(out);shading
interp;
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
This
MATLAB
function
adds
arrays
A
and
B
and
returns
the
result
in
C.
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>>
10
仔细分析上述信息,最终确定MATLAB程序执行错误的原因。上述实例中,程序执行错误的原因为:变量a和变量zz的行数和列数不一致,不符合+操作符的要求。
%实例程序
[xx,yy]
=
meshgrid(1:20,1:20);
d
=
sqrt(xx.^2+yy.^2);
zz
=
peaks(10);
out
=
d
+
zz;
surf(out);shading
interp;
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
This
MATLAB
function
adds
arrays
A
and
B
and
returns
the
result
in
C.
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>>
10
仔细分析上述信息,最终确定MATLAB程序执行错误的原因。上述实例中,程序执行错误的原因为:变量a和变量zz的行数和列数不一致,不符合+操作符的要求。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询