MATLAB7.x基础教程第5章M文件程序设计基础.ppt

  1. 1、本文档共161页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.1.1 脚本和函数   1.脚本文件   脚本文件中没有输入或输出参量,因而它是最简单的M文件类型。当运行一个脚本文件时,MATLAB将逐行执行文件内的每条指令。它对工作区间的数据进行操作,或者创建新的数据并保存到工作区间,而且在运行结束后数据仍然存在。需要注意的是,脚本的运行有可能覆盖工作区间原本需要保留的数据。下面给出一个脚本文件创建和运行的例子。   创建一个M文件,输入如下代码并保存为plotstems.m:   % An M-file script % Comment lines   n = 0:20; % Computations   stems1(1,:) = sin(2*pi/21*n);   stems1(2,:) = cos(2*pi/21*n);   stems1(3,:) = exp(-0.2*n); for k = 1:3 stem(n, stems1(k,:), full) % Graphics output pause end 在命令窗输入: plotstems 运行结果如图5-1所示。   2.函数文件   函数文件是含有输入和输出参量的M文件,它在自己的工作区间(函数工作区间)内对变量进行操作。函数工作区间与MATLAB工作空间不同,它只在函数内部传递变量而且不会互相覆盖。   MATLAB的函数文件通常由以下部分组成:   ● 函数定义行;   ● ?H1行:帮助文本的第一行,以“%”开始;   ● 帮助文本;   ● 注释;   ● 函数体。   例如,对于一个名为fact.m的计算n阶乘的函数文件,其各组成部分描述如下: function f = fact(n)    函数定义行 % Compute a factorial value.       H1行 % FACT(N) returns the factorial of N, 帮助文本 % usually denoted by N! % Put simply, FACT(N) is PROD(1:N). 注释 f = prod(1:n);    函数体   如果要计算4 !,在命令窗输入:     fact(4)   运行结果:    ans =     24 5.1.2 P代码文件   对于一个函数或者脚本M文件,可以对其进行预解析,即由M文件创建对应的P代码文件。例如,使用命令pcode fact对M文件fact.m进行解析,生成伪代码并保存为fact.p文件。如果同时存在fact.m和fact.p两个文件,MATLAB则优先运行fact.p文件。由于P代码文件是M文件经过解析的结果,因此它的运行速度要比M文件快。在运行运算量巨大的程序时这种差距尤为显著,例如大型的图形用户界面(GUI)应用。另外,P代码文件还能够隐藏程序的算法,这是M文件所不能实现的。 5.1.3 变量类型   编写M文件时,所要用到的变量不需要预先定义。变量名必须以字母开头,其后可以是字母、数字或下划线。变量名的大小写是有区别的,并且不能与函数名或者MATLAB中的关键字重名。   MATLAB中有三种变量类型:局部变量、全局变量和持续变量。   1.局部变量   局部变量存在于MATLAB函数之中,只在它所在的函数内有效(嵌套函数除外),并且与MATLAB工作区间相互独立。除了全局变量或持续变量,一个函数内定义的变量在调用另一个函数时不会在内存中保留,它也不会覆盖MATLAB工作区间内的变量。   2.全局变量   全局变量是由global关键字定义在MATLAB函数之中,并可以与其他函数或命令共享的变量。例如,在一个名为add3.m的M文件函数内,存在两个全局变量a、b:   function y = add3(x)   global a b   y = a + b + x;   运行该函数之前,需要对全局变量进行声明,在命令窗 输入:    global a b    a = 1;    b = 2;    add3(3)   运行结果:   ans =    6   3.持续变量   持续变量只能在M文件函数内声明和使用,由关键字persistent来定义。只有声明了该变量的函数才可以对其进行访问。如果函数存在,即使MATLAB再调用其他函数,该函数内的持续变量仍将保留于内存中。例如,在一个名为findSum.m的M文件函数内,存在一个持续变量SUM_X:   function f

文档评论(0)

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

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

1亿VIP精品文档

相关文档