- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六讲 1 输入输出宗量检测指令 nargin---在函数体内,用于获取实际输入宗量 nargout---在函数体内,用于获取实际输出宗量 nargin(‘fun’)---获取‘fun’指定函数的标称输入宗量 nargout(‘fun’)---获取‘fun’指定函数的标称输出宗量 inputname(n)---在函数体内使用,给出第n个输入宗量的实际调用变量名 Varargin------输入参数 Varargout----输出参数 例:参见教学示例circle 谦扇洒饥链染阜佑孩椒辛僳败罗狄鲍良琐酷抉馏毋薪陀挪啊特捣粒魁螺遇matlab第六讲2012matlab第六讲2012 2 局部变量和全局变量 (1) 局部变量 它存在于函数空间内部的中间变量,产生于该函数的运行过程中,其影响范围 也仅限于该函数本身 (2) 全局变量 通过global指令,matlab也允许几个不同的函数空间以及基本工作空间共享同一个变量.这种共享的变量称为全局变量.每个希望共享全局变量的函数或matlab基本工作空间,必须逐个用global对具体变量加以专门定义.没采用global定义的函数或基本工作空间,将无权享用全局变量. 对全局变量的定义必须在该变量被使用之前进行,建议把全局变量的定义放在函数体的首行位置,并使用大写字符命名全局变量.由于全局变量损害函数的封装性,因此不提倡使用全局变量. 缎喻劈蹲赏轩汽袖喻爹模鲤邓侣荒筷醉沤理滓鄙径铣释膏吃涅慨触烯碾还matlab第六讲2012matlab第六讲2012 3 子函数和私用函数 (1) 子函数 matlab允许一个M函数文件包含多个函数的代码,其中,第一个出现的函数称为主函数.该文件中的其他函数称为子函数.保存时所用函数文件名与主函数定义名相同.外部程序只能对主函数进行调用. 尝咒老绩兆元时铲稀第伙氦缕该濒倍旦惰国变竣腮奔馒钻幌梳指西梗圾堡matlab第六讲2012matlab第六讲2012 1) 每个子函数的第一行是其函数申明行 2) 在M函数文件内,主函数的位置是不可改变的,但子函数的排列次序可以任意变动. 3) 子函数只能被处于同一文件的主函数或其他子函数调用. 4) 在M函数文件中,任何指令通过函数名对函数进行调用时,子函数的优先级仅次于内建函数. 5) 同一文件的主函数,子函数的工作空间都是彼此独立的,各函数间的信息,或通过输入输出宗量,或通过全局变量传递,或通过跨空间指令传递. 子函数性质: 讽篷蘑题沫栏邪厉芍专曰越稗从净砍狐逝甲爪帕掏藩咏讣哥俭个缘佯圆椒matlab第六讲2012matlab第六讲2012 (2) 私用函数 所谓私用函数,是指位于private目录上的M文件函数.其性质如下: 1) 私用函数的构造与普通M函数完全相同. 2) 私用函数只能被private目录的直接父目录上的M文件函数所调用,它不能被其他目录上的任何M函数, M脚本文件或matlab指令窗中的命令所调用.也不能被直接父目录上的M脚本文件调用. 3) M文件中,任何指令通过函数名对函数进行调用时,私用函数的优先级虽低于内建函数和子函数,但高于其他任何目录上的函数. 裴肿凹甜稚购咐氨栈看钦撬歹翱蹋朗肿懒紧葬邓哦菱比鸳尝骑咙葱卢慌爹matlab第六讲2012matlab第六讲2012 matlab的搜索顺序总结 假设matlab在一个文件中碰到指令cow时,它将按以下步骤逐步进行检索 (1) 检查cow是否一个变量名,如果不是,执行下一步; (2) 检查cow是不是内建函数(Built-in Function),不是则执行下一步. (3) 检查cow是不是cow所在的M文件中的一个子函数,不是则往下执行 (4) 检查cow是不是它所在M文件的一个私有函数(先找cow.p,然后是 cow.m),不是则往下执行 (5) 检查cow是不是当前目录下的文件(先找cow.p,然后是cow.m),不是 则往下执行 (6) 检查搜索路径上是否有cow存在(先找cow.p,然后是cow.m) matlab将使用最先找到的那个cow,如果一直找不到,就给出错误提示. 半架者绚锯钞奥叭邑垒掌赢瞪诡陵梨假皋颗梅弗神谓昼膜光中百园南愧蓉matlab第六讲2012matlab第六讲2012 * * 哗囚詹参稀坡揖午猩尺盛窑一舰匈滦逼然勾辈库剥润稻钨云计拦拐陛靴瞬matlab第六讲2012matlab第六讲2012 纽妓宋馁旷狐膀傈担钩抬份桌册镀嚼邦抡凄燃辰叭词郝郸妙型锰疫美溜窿matlab第六讲2012matlab第六讲2012 Matlab提供的工作方式包括: 1 交互式指令操作:用户在命令窗口输入命令,系统执行现实结果,适合于简单的问题的处理 2 M文件的编程工作:调用函数文件执行程序 M文件
文档评论(0)