- 1、本文档共75页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB程序设计 5. 程序的调试和优化 程序的调试 程序的错误种类 错误的识别和程序调试 程序的优化 程序优劣的分析 程序优化的技巧 有效地使用内存 * MATLAB程序设计 (1)程序的错误种类 在MATLAB 7的表达式中可能存在两种类型的错误,即语法错误和运行错误 : 语法错误 语法错误发生在M文件程序代码的生成过程中,一般是由函数参数输入类型有误或是矩阵运算阶数不符等引起。 运行错误 运行错误一般指在程序运行过程中,出现溢出或是死循环等异常现象。 * MATLAB程序设计 (2)错误的识别和程序调试 对于简单的问题,使用下面的一种或几种方法可以方便地求解: 将函数中输出关键值的行的分号(;)去掉,这样,这些运算的中间结果将在命令窗口中予以显示,用户可以据此来检查中间结果的正确性。 在函数中添加一些语句,用来显示用户认为很重要的变量的值。 使用keyboard命令中断程序,该命令实现函数工作区间和命令窗口工作区间的交互,从而获得用户所需要的信息,使用该命令后,程序将处于调试状态,此时命令窗口的提示符由“”变为“K”,用户可以进行相应的操作。 在函数头前加“%”,这样就将函数式M文件变为脚本式M文件,而脚本式M文件运行时,其工作区间就是MATLAB 7的工作区间,这样在出现错误的时候就可以查询这个工作区间。 * MATLAB程序设计 错误的识别和程序调试 错误识别函数及其功能 函 数 名 功 能 描 述 echo 在函数运行时显示代码 disp 显示特定的值或信息 Sprintffprintf 显示不同格式和类型的数据 whos 列出工作区间的所有变量 size 显示矩阵的维数 keyboard 中断程序运行,允许用户从键盘进行交互操作 return 回复keyboard命令后函数的运行 warning 显示特定的警告信息 error 显示特定的错误信息 * MATLAB程序设计 错误的识别和程序调试 程序断点的设置 函 数 描 述 dbstop 用于在M文件中设置断点 dbstatus 显示断点信息 dbtype 显示M文件文本 dbstep 该函数用于从断点处继续执行M文件 dbstack 显示M文件执行时调用的堆栈 dbup/dbdowm 实现工作区间的切换 dbquit 结束调试状态 * MATLAB程序设计 (3)程序优劣的分析 在MATLAB 7语言中,使用profile函数以及计时函数tic和toc来分析程序中各个部分的耗时情况,从而帮助用户找出程序中需要改进的地方。其中profile在计算相对耗时以及查找文件执行过程中瓶颈问题时更为有效,而tic和toc函数在计算绝对耗时时更为有效。 * 程序的优化和加速技巧 P码文件 M文件都是文本文件,MATLAB源代码都能看到,若希望程序的必威体育官网网址性好且运行速度快,可将M脚本文件和M函数文件换成P码文件。 (1) P码文件的生成 P码文件使用pcode命令生成,生成的P码文件与原M文件名相同,其扩展名为“.p”。 语法: pcode Filename.m %在当前目录生成Filename.p pcode Filename.m –inplace %在Filename.m所在目录生成 MATLAB程序的优化和加速的方式很多 MATLAB程序设计 * (2) P码文件的特点 (a) P码文件的运行速度比原M文件速度快。 (b) 存在同名的M文件和P码文件时则P码文件被调用。 (c) P码文件必威体育官网网址性好。用文字编辑软件打开.p文件,看到的是乱码。 M文件性能优化 MATLAB语言是解释性语言,执行速度较慢。为了提高程序的运行效率,编程时需注意: (1) 使用循环时提高效率的措施 (a) 尽量用向量的运算来代替循环操作 (b) 在必须使用多重循环的情况下,尽量外循环次数少、内循环次数多 (c) 应用mex技术。 MATLAB程序设计 * (2) 大型矩阵的预先定维 给大型矩阵动态地定维是很费时的,由于MATLAB变量在使用之前不需要定义和指定维数,当变量新赋值的元素下标超出数组的维数时,MATLAB就为该数组扩维一次,大大地降低了运行效率。 因此,定义大矩阵时,首先用MATLAB的内在函数(如zeros或者ones)对其先进行定维,然后再进行赋值处理,这样可以显著减少所需时间。 (3) 优先考虑内在函数 (4) 采用高效的算法 (5) 尽量使用M函数文件代替M脚本文件 MATLAB程序设计 * 程序优化举例 1.循环的向量化。 例: %一般循环编程 x=1; for k=1:10000 y(k)=l
您可能关注的文档
- com_01_组件技术介绍分析.ppt
- 包装信息介绍详解.ppt
- COSO控制框架和内部控制培训分析.ppt
- CPS名词解释及衡量指标分析.ppt
- 包装机械供送与计量详解.ppt
- CPU选购公开课分析.ppt
- cssd清洗消毒技术操作规范分析.ppt
- CTPAT成品仓,船务员工)防恐管控培训分析.ppt
- cysb阀门基础知识大全分析.ppt
- 包装概论详解.ppt
- 2025年市总工会党组书记、市委组织部部长生活会“四个带头”个人对照检查发言材料2篇(含上年度整改+个人情况、个人事项+典型案例).docx
- 2025年部编版小学六年级下册《道德与法治》第四单元 让世界更美好第10课 我们爱和平教学课件.pptx
- 公司领导班子2025年围绕“四个带头”主题检视问题整改落实方案与组织生活会批评意见(20条)2篇文.docx
- 教育系统党组班子2025年对照“四个带头”含意识形态、以典型案例举一反三解析检视材料【2篇文】.docx
- 2025年国有企业领导班子、学校副校长生活会“四个带头”方面对照个人检视发言材料2篇文(附:上年度整改情况、典型案例解析).docx
- 2025年生活会“四个带头”个人对照检查材料2篇文(含对其他领导批评意见,个人公开事项申报、意识形态).docx
- 2025年国有企业党委书记、领导班子生活会“四个带头”方面对照检查发言材料2篇文(上年度整改情况).docx
- 乡镇领导班子、市委组织部常务副部长2025年对照“四个带头”含违纪行为为典型案例的剖析与反思检视剖析材料{2篇文}.docx
- 市委社会工作部2025年生活会领导班子对照检视发言材料2篇文(含以案为鉴,深刻反思存在问题、反面典型案例举一反三解析、其他需要说明情况).docx
- 2025年民主生活会、组织生活会批评意见(20条)与市直单位领导班子“四个带头”对照检查材料【含上年度查摆问题整改落实情况】2篇文.docx
最近下载
- 专题06阅读修辞手法(比喻、拟人)赏析 部编版四年级语文下册阅读理解专项.ppt
- 2023年全国中学生数学奥林匹克竞赛(预赛)(浙江省六校第四次数学竞赛联考)一试试题(模拟4).pdf VIP
- P9工作法:夯实技术硬实力、架构力和领导力_随笔.docx VIP
- 金属非金属矿山从业人员安全生产培训教材.pptx VIP
- 燃机IGV进口导叶工作原理介绍.doc
- 2024年湖南高速铁路职业技术学院高职单招职业技能测验历年参考题库(频考版)含答案解析.docx
- 2023-2024学年北京市高二下册第一次月考数学试题(含解析).pdf
- 200项施工现场常见安全隐患.ppt
- 动脉粥样硬化和冠状动脉粥样硬化性心脏病 ppt课件.pptx VIP
- 2024年南京机电职业技术学院单招职业适应性测试试题及答案解析.docx
文档评论(0)