Page 99 - 数学建模算法与应用
P. 99
第三章 MATLAB 编程基础
例如,在用 MATLAB 语句表示数学式 k1≤x≤k2 时,不能直接写成“k1 =x =
k2”,而应写成“k1 =x&x =k2”。此外,输入错误也可能导致语法错误。
(三)逻辑错误
逻辑错误也是编程中常见的一种错误,通常具有很强的隐蔽性,很难发现。
逻辑错误的原因通常是由于不正确的算法设计,这需要修改算法。
(四)运行错误
程序的运行错误通常包括不能正常运行和运行结果不正确,出错的原因一般
有:
■数据不正确,即输入数据不符合算法要求;
■输入矩阵的大小不正确,特别是当输入矩阵是一维数组时,应注意行向量
和列方向数量使用的差异;
■程序不完整,只能在某些数据上正确运行,而在其他数据上运行不正确,
或者可能根本无法运行法律运行正常,这可能是由于算法考虑不足。
对于简单 MATLAB 程序中出现的语法错误,可以通过运行 M 文件直接进行
调试。MATLAB 将直接识别语法错误的类型和位置,并根据 MATLAB 的反馈进
行修改。
当 M 文件较大或包含复杂嵌套时,需要使用 MATLAB 调试器调试程序,其
中包括 MATLAB 提供的大量调试功能和相应的图形工具。用一个确定 2000 年至
2010 年闰年的示例,介绍 MATLAB 调试器的使用。
例 编写一个判断 2000 年至 2010 年间的闰年年份的程序并调试。
解 1. 创建一个 leapyear.m 的 M 函数文件,并输入如下函数代码程序。
% 程序为判断 2000 年至 2010 年间的闰年年份
% 本程序没有输入输出变量
% 函数的使用格式为 leapyear
% 输出结果为 2000 年至 2010 年间的年份,包括闰年和非闰年
function leapyear()
for year = 2000:2010
sign = 1;
a = rem(year, 100);
b = rem(year, 4);
89

