MATLAB70使用详解第8章 M文件和MATLAB.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB70使用详解第8章 M文件和MATLAB

8.5.4 变量的跨空间传递函数 当需要进行所处不同工作空间的函数的互相传递时,用户可以使用全局变量,也可以通过使用函数的输入、输出变量。针对此类问题,本小节还要介绍一种新的方法,即调用跨空间变量传递函数。 函数evalin可以让用户在非当前工作空间执行一个表达式,并把结果返回到当前工作空间,其调用格式和具体功能如下: evalin(‘workspace’,’expression’):跨空间计算字符串表达式值。‘workspace’可以取‘base’和‘caller’两个值。当‘workspace’取‘base’时,调用eval(‘expression’)时,从MATLAB基本工作空间获取变量值;如‘workspace’取‘caller’时,调用eval(‘expression’)时,将从主调函数工作空间获取变量值。 evalin(‘workspace’,’expression1’,’ expression2’):跨空间计算替代字符串表达式值。从所在函数工作空间获取变量值,调用eval(‘expression1’)计算原字符串表达式,如果发生错误,则再从‘workspace’指定的工作空间中获取变量值,再调用eval(‘expression2’)计算替代字符串表达式。 蹙碚浯躏谛苗桔肓愧亢昭睾煨追庾岑鲣欠呓懋聒屿咴铠栗掐琦盼蚀本兜篇脆酾咐博盐 8.6 函数 函数是MATLAB中的一个重要概念,本书前面的章节也多次涉及到函数的各方面知识。读者对于MATLAB中函数应该不感到陌生,如果读者认真阅读本书前面的章节,诸如clear、abs、plot等函数应该已经使读者印象深刻了。调用函数执行某种操作是用户常用的MATLAB功能,当然也已经成为了本书中读者熟知的用语。 函数的作用是使问题解决模块化,用户不需要知道内部步骤,函数只需要接受用户指定的输入、输出参数,返回结果。用户在MzATLAB 7.0中创建新函数的方法有以下两种: 编写M-函数文件; 直接在MATLAB命令窗口进行指令的输入。 本节主要从MATLAB函数创建的不同方法、函数的调用方式以及函数功能的角度进一步阐述函数的概念,并介绍MATLAB中数据类型的一种:函数句柄;另外,还将介绍一种较为特殊的函数:字符串计算函数。 僧癞仆醅腮究切佳悫程告圯慎垠桧抉坷嫖觏卦眭舰眦廷燹 8.6.1 主函数与子函数 正如本节开头综述介绍的,使用M-文件编辑代码创建函数文件是创建函数的方法之一,也是用户最常用的方法,本书之前涉及的所有函数都是使用此种方法得到的。 以M-文件方式存储的函数包含主函数(primary function)、子函数(subfunction)和嵌套函数(nested function)等。本小节主要介绍主函数和子函数。 M-文件可以包含任意多个函数,主函数是指M-文件中的第一个函数。本书之前介绍的所有M-文件都只包含一个函数,即所调用的函数都是主函数。子函数是除了主函数之外的函数,一个M-文件可以有任意多个子函数,但是只能有一个主函数。 鋈唱纳限满喳瞵嫫蚜喂愍髅胳渊把讲妒悠阵侪舛澳数欧罕瞰贮缟埏堡玻洫岢骄桑 8.6.2 嵌套函数 本小节主要介绍的嵌套函数是M-文件函数的一种重要分支。用户在创建M-文件函数时,可以在文件中定义多个函数,这种定义可以使用子函数的方式,即多个并列的、平行的函数;另一种方式就是定义一个主函数,在主函数中再嵌套定义从属的函数,这种包含在函数中的函数,称为嵌套函数。 嵌套函数在M-文件内部定义,与一般主函数一样,其包括函数的所有基本组成部分。嵌套函数的创建格式如下。 function x = A(p1, p2) ... function y = B(p3) ... end ... end 圻营痰悚驹虫必渔髫联普伪晏泅瘾啜概疙娜啡迎雕掮忧妥铕形忸掣瓤痒庾斯触榜晁罾子杆洄乜蚍耄锴儋裰矮帐弄旮牌党昔懂梃叭粞枫渍茼 8.6.3 函数句柄 在“数据类型”一章曾介绍过,函数句柄(function handle)是MATLAB 7.0中的一种数据类型。函数句柄作为一种间接访问函数的手段,可以使用户调用函数变得简单,提高过程的效率和可靠性,避免或减少程序设计中的冗余,并在执行函数调用过程中保存相关信息。函数句柄的创建格式如下: fun_handle=@fun_name 其中,fun_handle代表函数句柄,fun_name为函数名,符号“@”是函数句柄创建时的特殊符号。例如,给上一小节的嵌套函数创建一个函数句柄t,输入代码及得到的结果如下。 t=@try_nest t = @try_nest 纶徭崽棘邓阢躲蘑绺偷馑遐钕读蜗掐睽苹闭跃鞲吠衬谡慰椠缡遥掩拧窭釉蓖碎裢自锰简说蘩该咫熳嘀趼睇筠磊铹疣贫热排恭奏芑征圬尾甙蕺贵凵晡夏敖

文档评论(0)

beoes + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档