网站大量收购独家精品文档,联系QQ:2885784924

《MATLAB7 基础教程》课件第5章.pptx

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

5.1M文件介绍

5.2程序流程控制

5.3数据输入/输出5.4程序调试与优化

5.1M文件介绍

5.1.1脚本和函数

1.脚本文件

脚本文件中没有输入或输出参量,因而它是最简单的M文件类型。当运行一个脚本文件时,MATLAB将逐行执行文件内的每条指令。它对工作区间的数据进行操作,或者创建新的数据并保存到工作区间,而且在运行结束后数据仍然存在。需要注意的是,脚本的运行有可能覆盖工作区间原本需要保留的数据。下面给出一个脚本文件创建和运行的例子。

创建一个M文件,输入如下代码并保存为plotstems.m:

%AnM-filescript%Commentlines

n=0:20;%Computations

stems1(1,:)=sin(2*pi/21*n);

stems1(2,:)=cos(2*pi/21*n);

stems1(3,:)=exp(-0.2*n);

fork=1:3

stem(n,stems1(k,:),full)%Graphicsoutput

pause

end

在命令窗输入:

plotstems

运行结果如图5-1所示。

0.8

0.6

0.4

0.2

0

-0.2

-0.4

-0.6

-0.8

-1

02468101214161820

图5-1使用脚本文件绘图结果

2.函数文件

函数文件是含有输入和输出参量的M文件,它在自己的工作区间(函数工作区间)内对变量进行操作。函数工作区间与MATLAB工作空间不同,它只在函数内部传递变量而且不会互相覆盖。

MATLAB的函数文件通常由以下部分组成:

●函数定义行;

●H1行:帮助文本的第一行,以“%”开始;

●帮助文本;●注释;

●函数体。

例如,对于一个名为fact.m的计算n阶乘的函数文件,其

各组成部分描述如下:

functionf=fact(n)函数定义行

%Computeafactorialvalue.H1行

%FACT(N)returnsthefactorialofN,帮助文本

%usuallydenotedbyN!

%Putsimply,FACT(N)isPROD(1:N).注释

f=prod(1:n);函数体

如果要计算4!,在命令窗输入:

fact(4)

运行结果:

ans=

24

5.1.2P代码文件

对于一个函数或者脚本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:

functiony=add3(x)

globalab

文档评论(0)

乐毅淘文斋 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8121131046000040

1亿VIP精品文档

相关文档