- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab课件 第七章 m文件和函数句柄
第7章 M文件 7.1 Matlab控制流 7.2 脚本文件和函数文件 7.3 变量的检测传递和限权使用函数 7.4 串演算函数 7.5 函数句柄 7.1 Matlab控制流 for循环 while循环 if-else-end结构 switch-case结构 try-catch结构 7.1.1 For循环结构 for n = array {commands} end for循环不能用for循环内重新赋值循环变量n来终止 在for循环内接受任何有效的MATLAB数组 for循环可按需要嵌套 当有一个等效的数组方法来解给定的问题时,应避免用for循环 为了得到最大的速度,在 for循环被执行之前,应预先分配数组 7.1.2 while循环结构 while expression {commands} end 7.1.3 if-else-end分支结构 break和continue的用法 7.1.4 switch-case结构 switch ex ex为一标量或字符串 case test1 (commands 1) case test2 (commands 2) …… case testk (commands k) otherwise (commands) 7.1.5 try-catch结构 try (commands1) catch (commands2) end 7.2 脚本文件和函数文件 7.2.1 M脚本文件的特点 一串按用户意图排列而成的(包括控制流向指令在内的)Matlab指令集合; 脚本文件运行后,所产生的所有变量都驻留在Matlab基本工作空间中。只要用户不使用clear指令加以清除,且 Matlab指令窗不关闭,这些变量将一直保存在基本工作空间中。 7.2.2 M 函数文件及其特点 函数文件的第一行总是以 “function”引导的“函数申明行”(function declaration line) 。输入参量包含传递个这个函数的数据,输出变量包含从这个函数输出的变量。Matlab允许使用比“标称数目”较少的输入输出参量,实现对函数的调用。 每当函数文件运行,Matlab会专门为它开辟一个临时工作空间。所有中间变量都存放在函数工作空间中。当执行完文件最后一条指令或遇到return时,就结束该函数文件的运行,同时该临时函数空间及其所有的中间变量就立即被清除。函数空间是相对基本空间独立的、临时的。 假如在函数文件中,发生对某脚本文件的调用,那么该脚本文件运行产生的所有变量都存放于该函数空间之中,而不是存放在基本空间。 7.2.3 函数文件一般结构 1.函数申明行 :位于函数文件的首行,以关键字 function开 头,函数名以及函数的输入输出参量都在这一行定义。函数名 和文件名必须相同。 2.H1行:紧随函数申明行之后以 %开头的第一行注释行,包括 大写体的函数文件名;运用关键词要描述的函数功能。 3.在线帮助文件文本 :H1行及其之后的连续 %开头的所有注 释行构成整个在线帮助文本。它通常包括:函数输入输出参量 的含义,调用格式说明。 4.编写和修改记录:与在线帮助文本区相隔一个“空”行,也以% 开头。标志编写及修改该文件的作者、日期和版本记录。它用 于软件档案管理。 5.函数体:这部分内容由实现该 M函数文件功能的Matlab指令 组成。它接收输入参量,进行程序流控制,得到输出参量。 7.2.4 局部变量和全局变量 局部变量 它存在于函数空间内部的中间变量,产生于该函数的运行过程中,其影响范围也仅限于该函数本身。 全局变量 通过global指令定义变量,Matlab也允许几个不同的函数空间以及基本工作空间共享同一个变量。这种被共享的变量称为全局变量。每个希望共享全局变量的函数或Matlab基本工作空间,必须逐个用 global对具体变量加以专门定义。没有采用global定义的函数或基本工作空间,将无权享用全局变量。 关于全局变量的说明 如果某个函数的运作使全局变量的内容发生了变化,那么其他函数空间以及基本工作空间中的同名变量也就随之变化。 除非与全局变量联系的所有工作空间都被删除,否则全局变量依然存在。 对全局变量的定义必须在该变量被使用之前进行。建议把全局变量的定义放在函数体的首行位置。 虽然Matlab对全局变量的名字没有任何特别的限制,但是为了提高 M文件的可读性,建议选用大写字符命名全局变量。 由于全局变量损害函数的封装性,因此不提倡使用全局变量。 7.3 变量的检测传递和限权使用函数 7.3.1 输入输出参量检测指令 7.3.2 跨空间变量传递 7.3.2.1 跨空间计算串表达式的值 evalin(workspace,exp) ev
文档评论(0)