多语言展示
当前在线:934今日阅读:176今日分享:34

MATLAB程序运行时出现错误怎么办?

对于初学者来说,开发MATLAB程序时,经常回出现诸多错误。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命令行中,观察命令行中的错误信息,确定错误原因

3

在错误信息中,查找源程序中错误代码的行数,点击行数链接,可以直接定位错误语句

5

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

6

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

7

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

8

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

9

在调试状态下有多种方法可以查找程序问题的原因。(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    10K>> size(d)ans =    20    20K>> 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的行数和列数不一致,不符合+操作符的要求。

推荐信息