- 1、本文档共90页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]ch07
* 第*页 对错误进行处理并且从错误中恢复 1.发出错误报告 MATALB 中 error 函数可以报告错误并且中断程序运行。用户可以通过指定 error 函数参数的方式指定将要发出的错误信息。 if n1 error(‘n must be 1 or greater.’) end 当n1时在命令窗口中显示如下的信息: ??? n must be 1 or greater. * 第*页 2.识别错误发生的原因 当错误发生时,用户需要知道错误发生的位置及错误原因,以便能够正确处理错误。lasterror 函数可以返回最后发生的错误的相关信息,辅助用户识别错误。 * 第*页 3.错误重现 在一些情况下,需要重现已经抛出过的错误,以便于对错误进行分析。MATLAB 中函数 rethrow 可以重新抛出指定的错误。该函数的格式为 rethrow(err),其中输入参数 err 用于指定需要重现的错误。该语句执行后程序运行中断,将控制权转给键盘或 catch 语句的上一层模块。 rethrow 函数通常与 try-catch 语句一起使用。如: try 表达式 1 catch do_cleanup rethrow(lasterror) end * 第*页 警告处理 警告用于提示用户在程序运行中出现异常情况。与错误不同的是,警告并不中断程序的运行,而是显示警告内容并继续执行。警告通过函数 warning 发出,格式与 error 函数相同,如: warning(Input must be a string) warning(formatted_warningmsg, arg1, arg2, ...) warning(Ambiguous parameter name, %s., param) 警告处理的方式与错误处理的方式类似这里不再赘述。 * 第*页 程序设计的辅助函数 表达式与函数的评估 计时器函数 * 第*页 函数 功能 arrayfun 对数组的每个元素应用函数 builtin 以重载方式执行嵌套函数 cellfun 对单元数组的每个单元应用函数 echo 在执行中显示当前运行行 eval 执行包含 MATLAB 表达式的字符串 evalc 评估 MATLAB 表达式 evalin 在指定工作区中运行表达式 feval 函数评估 iskeyword 判断输入字符串是否为 MATLAB 关键字 isvarname 判断输入字符串是否为 MATLAB 有效变量名 pause 暂停,等待用户反应 run 运行非当前路径下的脚本 script 脚本文件描述 structfun 对结构体的每个域运行函数 symvar 判断表达式中的符号变量 tic, toc 采用计数器评估函数的运行 * 第*页 计时器函数 函数 功能 delete 删除内存中的计时器对象 disp 显示计时器对象的相关信息 get 获取计时器对象的属性 isvalid 判断计时器对象是否有效 set 设置或显示计时器对象的属性 start 开启计时器 startat 在指定时间启动计时器 stop 关闭计时器 timer 生成计时器对象 timerfind 查找计时器对象 timerfindall 查找计时器对象,包括不可见对象 wait 等待,直至计时器停止 * 第*页 调试程序 一般来说,应用程序的错误有两类,一类是语法错误,另一类是运行时的错误。 语法错误包括词法或文法的错误,例如函数名的拼写错、表达式书写错等。 程序运行时的错误是指程序的运行结果有错误,这类错误也称为程序逻辑错误。 * 第*页 调试程序 直接调试法 利用调试工具 采用命令行调试程序 采用调试界面调试程序 * 第*页 直接调试法 在程序调试时,程序运行中变量的值为一个重要的线索。因此,查看变量值为程序调试的重要线索,由于在函数调用时只返回最后的输出参数,而不返回中间变量,因此,可以选择下面的方法查看程序运行中的变量值。 (1)通过分析后,将可能出错的语句后面的分号(;)删除,将结果显示在命令窗口中,与预期值进行比较; (2)利用函数 disp 显示中间变量的值; (3)在程序中的适当位置添加 keyboard 指令。当 MATLAB 执行至此处时将暂停,等待用户反应。当程序运行至此时将暂停,在命令窗口中显示 k提示符,用户可以查看工作区中的变量,可以改变变量的值。输入 return 指定返回程序,继续运行。 (4)在调试一个单独的函数时,可以将函数改写为脚本文件,此时可以直接对输入参数赋值,然后以脚本方式运行该 M 文件,这样可以保存中间变量,在运行完成后,可以查看中间变量的值,对结果进行分析,查找错误所在。 * 第*页 采用命令行调试程序 函数
您可能关注的文档
- [理学]61特征值与特征向量.ppt
- [理学]6数据库保护.ppt
- [理学]6抽样分布.ppt
- [理学]6分子结构.ppt
- [理学]6章蛋白质的分离纯化和表征-教学用.ppt
- [理学]6章热力学基础.ppt
- [理学]6第6章离子聚合.ppt
- [理学]6第六讲MATLAB程序设计.ppt
- [理学]6统计指数.ppt
- [理学]7-08shi空间直线.ppt
- 人教新目标版英语九年级 中考模拟学情评估(三)(含答案).pdf
- 上海市风华中学2024-2025学年高三上学期9月阶段测试英语试题(无答案).pdf
- 统编版2024-2025学年语文六年级上册期末检测卷(有答案).pdf
- 人教新目标版英语九年级第二学期全册学情评估(含答案).pdf
- 内蒙古自治区巴彦淖尔市杭锦后旗第六中学2024-2025学年八年级上学期阶段性测试历史试题(解析版).pdf
- 湖南省娄底市涟源市部分学校2024-2025学年高一上学期9月月考语文试题 Word版无答案.pdf
- 湖南省衡阳市常宁市2023-2024学年七年级上学期期末考试英语试题.pdf
- 湖南省娄底市涟源市部分学校2024-2025学年高一上学期9月月考语文试题 Word版含解析.pdf
- 江苏省泰州市姜堰区城西实验学校2024-2025学年部编版九年级上学期月考历史试卷(原卷版).pdf
- 内蒙古伊金霍洛旗2022-2023学年七年级上学期期末考试英语试题.pdf
最近下载
- 2024年社会工作者《中级法规与政策》数字型考点.pdf VIP
- 竺乾威、朱春奎、李瑞昌:《公共管理导论》 第三章 组织.pptx VIP
- 建筑工程图集 B16G101-1:中英文双语版16G101-1.pdf VIP
- 图集规范-05N6井盖标准图集.pdf
- 室外消防钢结构楼梯拆除方案.pdf
- (精选施工方案)0141 民航总局办公楼加固整修工程.doc VIP
- 统编版小学语文四年级上册第三单元 观察 大单元整体学历案教案 教学设计附作业设计(基于新课标教学评一致性).docx
- 有关青岛市新建住宅质量保修手册.doc
- 同课异构省一等奖《同底数幂的乘法》教案 (省一等奖) .doc
- 连云港市新海高级中学2023-2024学年高一上学期10月月考数学试题(解析版).docx VIP
文档评论(0)