- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab第5章剖析
5.5.4 M函数文件的一般结构 % exam5_17 % FACTORIAL1 calculate n! function k=factorial1(n) if nargin~=1 error(输入变量个数错误,只能有一个输入变量); end if nargout1 error(输出变量个数过多); end if abs(n-floor(n))eps|n0 % 判定n是否为非负整数 error(n应该为非负整数); end if n1 % 如果n1,进行递归调用 k=n*factorial1(n-1); else % 0!=1!=1为已知 k=1; end 5.5.4 M函数文件的一般结构 调用factorial1 .m的运行结果 5.6 MATLAB的函数类别与函数句柄 第5章 MATLAB程序设计基础 从扩展名.m观察,MATLAB的M文件分为M脚本文件和M函数文件,而函数(Function)又被细分为:主函数、子函数、嵌套函数、私用函数和匿名函数等。我们只对主函数、子函数及匿名函数进行阐述,并简单介绍函数句柄。 5.6 MATLAB的函数类别与函数句柄 5.6.1 主函数 主函数(Primary function)的特点: ? 一般为“与保存文件同名”的那个函数。 ? 在当前目录、有哪些信誉好的足球投注网站路径上,列出文件名的函数。 ? 在指令窗中或其它函数中,可直接调用的函数。 ? 在M函数文件中,第一个由function指令引出的函数。 ? 采用help functionname指令可获得函数所携带的帮助信息。 5.6 MATLAB的函数类别与函数句柄 5.6.2 子函数 子函数(Subfunction)的特点: ? 子函数不独立存在,只能寄生在主函数体中。 ? 在M函数文件中,由非第一个function指令引出的函数。 ? 一个M函数文件可以包含多个子函数。 ? 子函数只能被其所在的主函数和其它“同居”子函数调用。 ? 子函数可以出现在主函数体的任何位置,其位置前后与调用次序无关。 5.6.2 子函数 ? 在M函数文件中,任何指令通过“名字”对函数进行调用时,子函数的优先级仅次于内装函数。 ? 同一M函数文件的主函数、子函数的工作空间都是彼此独立的。各函数之间的信息,或通过输入输出宗量传递,或通过全局变量传递。 ? 采用help functionname/subfunctionname指令可获得子函数所携带的帮助信息。 ? 不管在什么地方,只要存在着子函数的句柄,就可以直接调用子函数。 5.6.2 子函数 【例5.18】编写一个内含子函数的M函数绘图文件。 (1)编写M函数文件exam5_18_1.m function Hr=exam5_18_1(flag ) % exam5_18_1 Demo for handles of primary functions and subfunctions % flag 可以取字符串 line 或 circle % Hr 子函数cirline的句柄 t=(0:50)/50*2*pi; x=sin(t); y=cos(t); Hr=@cirline; % 创建子函数cirline的句柄 feval(Hr,flag,x,y,t) % 函数宏指令,调用子函数cirline 5.6.2 子函数 % -------------subfunction--------------------------- function cirline(wd,x,y,t) % cirline(wd,x,y,t) 是位于exam5_18_1.m 函数体内的子函数 % wd 接受字符串 line 或 circle % t 画线用的独立参变量 % x 由 t 产生的横坐标变量 %
文档评论(0)