- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计m文件
M文件 所谓M文件就是由matlab语言编写的可在matlab语言环境下运行的程序源代码文件。Matlab语言中的M文件可分为命令式(script)和函数式(function)两种形式。M文件可在matlab的程序编辑器中编写,也可在其他的文本编辑器中编写,并以“.m”为扩展名加以保存。 命令式文件 命令式文件就是命令行的简单叠加,matlab会自动按顺序执行文件中的命令。值得注意的是,命令式文件在运行过程中可以调用matlab工作域内所有的数据,而且所产生的所有变量均为全局变量。 函数变量及变量作用域 M文件的变量主要有输入变量、输出变量及函数内部变量。输入变量相当于函数的入口数据,是一个函数操作的主要对象。函数的作用就是对输入变量进行加工以实现一定的功能。函数的输入变量为形式参数,即只是传递变量的值而不是变量的地址,函数对输入变量的一切的操作和修改如果不依靠输出变量传出的话,将不会影响工作空间 中该变量的值。 matlab语言提供了函数nargin来控制输入变量的个数,即可以实现不定参数输入的操作。 例如:在函数test1中,如果调用过程时只提供一个输入变量,则求该输入变量的模;如果是两个输入变量,则求两个输入变量的和 同时,matlab语言还提供了另一个针对输入变量的函数varargin。该函数可以实现不定数目输入变量的函数的程序设计。此时,对函数的一切输入变量均将存储在以varargin命名的单元型数组中。 例:在函数test2中,实现如下功能: 通过使用函数varargin,用户可以输入任意多个学生的 数学、英语及语文的成绩,然后求各科目的平均值。 程序如下: 与输入变量相对应,matlab语言对输出变量也提供了相应的函数,如nargout、varargout等。具体的使用与函数nargin和varargin相似。 下面给出一个综合应用示例。 示例函数test3中,综合使用了函数nargin、nargout、narargin、narargout等,函数目的是求各学生(总数不确定)的个人平均成绩,以及指定科目的平均成绩等。 在matlab中,函数内部定义的变量除特殊声明外均为局部变量。如果需要使用全局变量,则应当使用命令global定义,而且在任何使用该全局变量的函数中都应加以定义,在命令窗口中也不例外。 注意:变量之间必须以空格分隔,而不能用逗号分隔。 示例: 子函数与局部函数 Matlab中也可以定义子函数,用来扩充函数的功能。在函数文件中题头定义的函数为主函数,而在函数体内定义的其他函数均被视为子函数。子函数只能为主函数或同一主函数下的其他的子函数所调用。 示例: 局部函数与子函数的区别是:局部函数可以被其父目录下的所有函数所调用,而子函数则只能被其所在M文件的主函数所调用;在函数编辑的结构上,局部函数与一般的函数文件的编辑相同,而子函数则只能在主函数文件中编辑。 程序设计的辅助函数 用户交互函数 键盘输入函数包括函数input及keyboard。 函数input用于提示用户输入指定参数的值,调用格式: var=input(‘提示性语句’) 其中,“提示性语句”将给出相应的提示信息以告知用户输入的对象,在这种调用过程中,用户可以有键盘输入任何的可计算的表达式或已赋值的当前工作空间中的变量名,而且返回至变量var中的值也是数值型,所有的输入以回车键加以确认。 另一种输入函数为keybroad,该函数出现在M文件中时,将终止程序的运行,此时用户可以查看运算过程中各变量的值必要时也可进行适当的干涉及编辑。同时该函数在matlab语言中均可应用,直到键入return并回车,这时程序返回中断处,继续执行其余代码。 matlab也提供了一种中断函数pause,其调用格式: pause(n) 该命令的作用是中断程序运行并等待n秒。如果不带参数,则程序无限期中断,直到用户在键盘上键入任意键。 流程控制语句 Matlab语言的流程控制语句主要有for、while、if-else-end和switch-case这四种语句。 for语句 for循环语句是流程控制语句中的基础,使用该循环语句可以以指定的次数重复执行循环体内的语句。 for循环语句的调用形式: for 循环控制变量=循环次数设定(
文档评论(0)