版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Matlab 快捷键介绍 常用的调试方法。 (1) 设置或清除断点:使用快捷键F12。 (2) 执行:使用快捷键F5。 (3) 单步执行:使用快捷键F10。 (4) step in:当遇见函数时,进入函数内部,使用快捷键F11。 (5) step out:执行流程跳出函数,使用快捷键Shift+F11。 (6) 执行到光标所在位置:非常遗憾这项功能没有快捷键,只能使用菜单来完成这样的功能。 (7) 观察变量或表达式的值:将鼠标放在要观察的变量上停留片刻,就会显示出变量的值,当矩阵太大时,只显示矩阵的维数。 (8) 退出调试模式:没有设置快捷键,使用菜单或者快捷按钮来完成。 常用的快捷键(用【】
2、表示)或命令: 1. 在命令窗口(Command Window)中: 1) 【上、下键】切换到之前、之后的命令,可以重复按多次来达到你想要的命令 2) clc清除命令窗口显示的语句,此命令并不清空当前工作区的变量,仅仅是把屏幕上显示出来的语句清除掉 3) clear这个才是清空当前工作区的变量命令,常用语句clear all来完成 4)【Tab】键(转自版友心灯)在emailmatlab/email看到的:在command窗口,输入一个命令的前几个字符,然后按tab键,会弹出前面含这几个字符的所有命令,找到你要的命令,回车,就可以自动完成。目前讨论结果是:matlab6.5版本中,如果候选命令
3、超过100个,则不显示。而在matlab7以后版本中,则没有这个限制,均可正常提示 5)【Ctrl+C】(或【CtrlBreak】)(转自版友yangjin_ren)在matlab程序运行过程中,可能由于程序编写的失误,导致程序不停的运行,在命令窗口输入“Ctrl+C”可以将运行的程序停下来,而不需要将整个Matlab程序关掉。不过进行此操作的前提是能够激活切换到命令窗口才行,呵呵。 2. 在编辑器(Editor)中: 1) 【Tab】(或【Ctrl+】)增加缩进(对多行有效) 2) 【Ctrl+】减少缩进(对多行有效) 3) 【Ctrl+I】自动缩进(即自动排版,对多行有效) 4) 【Ctr
4、l+R】注释(对多行有效) 5) 【Ctrl+T】去掉注释(对多行有效) 6) 【Ctrl+B】括号配对检查(对版本6.5有效,但版本7.0无效,不知道是取消了还是换了另外的快捷键,请大牛们指点,其他版本没有测试过) 7) 【F12】设置或取消断点 8) 【F5】运行程序快捷键 ctrl+i 让matlab帮你自动对齐程序 ctrl+r 注释 ctrl+t 取消注释 常用操作 1、在Matlab里可以通过system这个
5、命令调出dos命令,比如创建文件夹:system('mkdir step1')在当前目录下建立名为”step1"的文件夹!在实际编程中,可以结合函数exist使用。比如: if exist('Step1') = 0 system('mkdir Step1'); end 即:先判断当前目录下是否以存在名为Step1的子目录(文件夹),如果不存在,则建立! 2、时间的标注:datanum与datetick初
6、学者要把下面的基本使用规则,牢记于心1. 输入时,标点必须是英文状态下的2. 大多数情况下,matlab对空格不予处理3. 小括号代表运算级别,中括号用于生成矩阵,大括号用于构成单元数组4. 分号;的作用:不显示运算结果,但对图形窗口不起作用。分号也用于区分行,5. 逗号,的作用:函数参数分隔符,也用于区分行,显示运算结果,当然不加标点也显示运算结果6. 冒号:多用于数组7. 续行号.不能放在等号后面使用,不能放在变量名中间使用,起作用时默认显蓝色8. 双引号'string'是字符串的标识符9. 感叹号!用于调用操作系统运算10.百分号%是注释号,百分号后面直到行末的语句mat
7、lab跳过执行.另外还有一个块注释,即对多行一次注释,会使用到,格式为(注意% 和%都要单独成行)% %11.乘号*总是不能省略的,除了表示复数,比如2+3i时可以省略12.除号/或,它两个的关系是:a除以b表示为a/b,或ba13.等号=用于赋值14.双等号=表示数学意义上的等号15.主窗口里面,输入时,换行用Shift+Enter16.主窗口里面,运行程序,执行命令用Enter17.矩阵中用圆括号表示下标,单元数组用大括号表示下标18.对变量名的基本要求:区分大小写,不超过63个字符,以字母开头,只能是字母,数字和下划线19.clc即clear command(清屏),
8、60;clf即clear figure(清理图形窗口) clear 清理内存所有变量, clear+变量名 清理内存指定变量 edit+函数名 查看或编辑源文件 who 显示当前变量名列表 whos 显示变量详细列表 which+函数名 证实该函数是否在当前路径 what 列出当前路径的所有matlab文件 load 加载外部文件 save 保存文件到外部20.matlab的帮助函
9、数: help help+函数名或help+函数类名 精确查询 helpwin 打开帮助窗口 helpwin+函数名 精确查询 helpdesk 打开帮助窗口 doc 打开帮助窗口 doc+函数名 打开帮助窗口, 精确查询 lookfor+关键字 这个是matlab中的谷歌,模糊查询21.有时候程序会陷入死循环,这时把操作切换到运行窗口,按Ctrl+C结束运行22.函数式M文件的文件名,在matlab主
10、窗口下不区分大小写, 函数式M文件中,变量都是局部变量 脚本式M文件中,变量都是全局变量23.主窗口中,几个有用的快捷键: 在命令提示符后,可以用键盘上的上箭头和下箭头调用历史命令行 Esc 清除当前输入行 Ctrl+左箭头,光标左移一个单词 Ctrl+右箭头,光标右移一个单词 Del删除光标后一个字符 Alt+Backspace 恢复上次删除24.编辑器(Editor)中的几个有用的快捷键:
11、 Tab或Ctrl+ 增加缩进,对多行有效 Ctrl+ 减少缩进,对多行有效 Ctrl+I 自动缩进,对多行有效 Ctrl+R 注释,对多行有效 Ctrl+T 去掉注释,对多行有效 Ctrl+B 括号配对检测,未配对会有红色波浪线标出 F12 设置或取消断点 F5 运行程序MATLAB程序调试方法和过程3.8 MATLAB程序的调试和优化在MATLAB的程序调试过程中,不仅要求程序能够满足设计者的设计需求
12、,而且还要求程序调试能够优化程序的性能,这样使得程序调试有时比程序设计更为复杂。MATLAB提供了强大的程序调试功能,合理的运用MATLAB提供的程序调试工具尤其重要。本节从MATLAB程序调试的方法和过程开始介绍,先让用户懂得合理运用MATLAB的程序调试功能,再总结MATLAB程序优化的方法,从而达到实现提高程序性能的目的。3.8.1 MATLAB程序调试方法和过程(1)MATLAB是一种解释和执行同时进行的语言,这使得程序的调试变得相对便利,尤其是MATLAB具有良好的所见即所得特性。在MATLAB程序调试过程中,可运用的除了一系列调试函数外,MATLAB还提供了专门的调试器
13、,即M文件编译器,通过该M文件编译器和调试函数的共同使用,用户能够完成大部分的程序调试工作。1调试的基本任务程序调试(Debug)的基本任务就是要找到并去除程序中的错误。程序的错误大致可以分为如下三类。语法错误:由于程序员疏忽、输入不正确等原因而造成的代码违背程序语言规则的错误。运行错误:由于对所求解问题的理解差异,导致程序流程出错或对程序本身的特性认识有误而造成的程序执行结果错误的情况。异常:程序执行过程中由于不满足条件而造成的程序执行错误。语法错误是初学者最常犯的错误,例如,变量或函数名拼写错误、缺少引号或括号等。这类错误对于熟练掌握MATLAB的用户来说很容易避免,并且当MATLAB运行
14、发现这些错误时会立即标识出这些错误,并向用户说明错误的类型以及在M文件中的位置,下面用一个例子来说明,在debug.m文件中输入如下内容:1. A=1 2 3,4 5 6,7 8 9;
15、0; %定义矩阵A 2. B=1 2 3 4,5 6 7 8,9 10 11 12,13 14 15 16; %定义矩阵B 3. C=A*B
16、60; %C为矩阵A和B相乘 运行时则会出现如下错误:1. ? Error using => mti
17、mes 2. Inner matrix dimensions must agree. 在上述矩阵四则运算的例子中,矩阵A和矩阵B的维数不满足运算前置条件,即两个矩阵的维数不同不能进行运算。运行错误也能够被MATLAB发现,但是用户却不知道错误到底发生在何处,也就不能通过查询函数工作区域的方法来查询错误来源,更多时候是MATLAB无法发现运行错误,但是运行结果在验证时出错。这类错误的处理方法多是依靠编程经验解决,下面就求解方程组的例子来进行说明,在命令窗口中输入以下指令:1. >> A=1 2
18、0;3;4 5 6;7 8 9; 2. >>B=9 8 7;6 5 4;3 2 1; 3. >>x = B/A
19、; %x为矩阵B除以A 运行结果为:1. x = 2. -2.6667 0 1.6667 3. -2.1667
20、60; 0 1.1667 4. -1.6667 0 0.6667 该结果在不同计算机的不同版本的MATLAB下可能不完全相同。为了验证这个结果,在命令窗口中输入如下命令:1. >> A*x-B;
21、0; %矩阵A,x和B进行计算 2. >> norm(A*x-B)
22、; %返回表达式计算结果的最大奇异值 运算结果为:1. ans = 2. 74.4236 显然x不是A*x=B的解。说明这就是一个简单的运行错误,MATLAB同样有运行结果,但是进行验证时结果却不正确。原因是在求解A*x=B方程的解时,应该不能用B右除A,而应该是左除,例如,在MATLAB命令窗口输入如下命令:1. >> x=AB 运行结果为:1. x =
23、 2. -27 -26 -17 3. 42 41 24 4. -16 -16 -8 验证结果为:1. >> A*x-B 2
24、. ans = 3. 0 0 0 4. 0 0 0 5. 0
25、; 0 0 6. >> norm(A*x-B) 7. ans = 8. 0 运行错误通常很难发现,用户在分析问题时要做到非常细心,并且有时需要做必要的验证。异常的错误往往出现在规模较大的MATLAB程序中,并且涉及多个函数的调研以及数据的调用,异常的种类也很多,例如,被调用的文件不存在、数据传输路径错误、异常的数据输入等。3.8.1 MATLAB程序调试方法和过程(2
26、)2调试工具MATLAB提供了大量的调试函数供用户使用,这些函数可以通过help指令获得,在MATLAB命令执行窗口输入如下指令:1. >> help debug 用户便可获得这些函数,这些函数都有一个特点,就是以"db"开头,具体功能和作用如下:1. dbstop - Set breakpoint
27、160; %设置断点 2. dbclear - Remove breakpoint %清除断点 3. dbcont - Resume e
28、xecution %重新执行 4. dbdown - Change local workspace context %下移本地工作空间内容 5. dbmex - Enable
29、;MEX-file debugging %使MEX文件调试有效 6. dbstack - List who called whom %列出函数调用关系 7. dbstatu
30、s - List all breakpoints %列出所有断点 8. dbstep - Execute one or more lines &
31、#160; %单步或多步执行 9. dbtype - List M-file with line numbers %列出M文件 10. dbup - Change local workspace context
32、0;%上移本地工作空间内容 11. dbquit - Quit debug mode %退出调试模式 在MATLAB中,这些调试函数都有相应的图形化调试工具,使得程序的调试更加方便、快捷。这些图形化调试工具在MATLAB编译器的"debug
33、"和"Breakpoints"菜单中,以方便调试使用。3调试方法对于简单的MATLAB程序中出现的语法错误,可以采用直接调试法,即直接运行该M文件,MATLAB将直接找出语法错误的类型和出现的地方,根据MATLAB的反馈信息对语法错误进行修改。当M文件很大或M文件中含有复杂的嵌套时,则需要使用MATLAB调试器来对程序进行调试,即使用MATLAB提供的大量调试函数以及与之相对应的图形化工具。下面通过一个判断2000年至2010年间的闰年年份的示例来介绍MATLAB调试器的使用方法。(1)创建一个leapyear.m的M函数文件,并输入如下函数代码程序。1. %程序
34、为判断2000年至2010年10年间的闰年年份 2. %本程序没有输入/输出变量 3. %函数的使用格式为leapyear,输出结果为2000年至2010年10年间的闰年年份 4. function leapyear %定义函数leapyear 5. for year=2000:2010
35、60; %定义循环区间 6. sign=1; 7. a = rem(year,100); %求year除以100后的剩余数 8. b = rem(year,
36、4); %求year除以4后的剩余数 9. c = rem(year,400); %求year除以400后的剩余数 10. if
37、 a =0 %以下根据a、b、c是否为0对标志变量sign进行处理 11. signsign=sign-1; 12. end 13. if b=0
38、60;14. signsign=sign+1; 15. end 16. if c=0 17. signsign=sign+1; 18. end 19. if sign=1 20. fprintf('%4d n',year) 21. end 22. end (2)运行以上M程序,此时MATLAB命令窗口会给出如下错误提示:1. ? Error:
39、File: leapyear.m Line: 10 Column: 6 2. The expression to the left of the equals sign is not a valid target for an assignment. 由错误提示可知,在程序的第10行存在语法错误,检测可知if选择判断语句中,用户将"="写成了&
40、quot;="。因此将"="改成"=",同时也更改第13、16、19行中的"="为"="。3.8.1 MATLAB程序调试方法和过程(3)(3)程序修改并保存完成后,可直接运行修正后的程序,程序运行结果为:1. 2001 2. 2002 3. 2003 4. 2005 5. 2006 6. 2007 7. 2009 8. 201
41、0 显然,2001年至2010年间不可能每年都是闰年,由此判断程序存在运行错误。(4)分析原因。可能由于在处理年号是否是100的倍数时,变量sign存在逻辑错误。(5)断点设置。断点为MATLAB程序执行时人为设置的中断点,程序运行至断点时便自动停止运行,等待用户的下一步操作。设置断点只需要用鼠标单击程序左侧的" "使得" "变成红色的圆点(当存在语法错误时圆点颜色为灰色),如图3.2所示。应该在可能存在逻辑错误或需要显示相关代码执行数据附近设置断点,例如,本例中的12、15和18行。如果用户需要去除断点,可以再次单击红色圆点去除,也可以单击工具栏中的 工具去除所有断点。(6)运
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山东工程职业技术大学单招职业倾向性考试题库及答案1套
- 2026年检察保密知识测试题及参考答案
- 2026年心理咨询师辅导习题带答案
- 2026年湖南省娄底地区单招职业适应性考试题库及答案1套
- 2026年电工上岗考试试题及答案(必刷)
- 2026贵州贵阳观山湖人力资源服务有限公司人员招聘3人笔试模拟试题及答案解析
- 2026年心理有关知识测试题及完整答案1套
- 2025河南南阳市唐河县属国有企业招聘现场审核(第3号)笔试参考题库及答案解析
- 2026中国中煤陕西公司煤化工二期项目招聘54人笔试备考试题及答案解析
- 2025浙江绍兴市职业教育中心(绍兴技师学院)第一学期第六次编外用工招聘1人笔试参考题库及答案解析
- 2026长治日报社工作人员招聘劳务派遣人员5人备考题库及答案1套
- 河道清淤作业安全组织施工方案
- 2026年1月1日起施行的《兵役登记工作规定》学习与解读
- GB/T 46831-2025塑料聚丙烯(PP)等规指数的测定低分辨率核磁共振波谱法
- 2021海湾消防 GST-LD-8318 紧急启停按钮使用说明书
- 2025年国家开放大学《公共经济学》期末考试备考试题及答案解析
- 2025年河北省职业院校技能大赛高职组(商务数据分析赛项)参考试题库(含答案)
- GB/T 33725-2017表壳体及其附件耐磨损、划伤和冲击试验
- FZ/T 01057.1-2007纺织纤维鉴别试验方法 第1部分:通用说明
- 实习协议模板(最新版)
- 不同GMP法规间的区别
评论
0/150
提交评论