资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,MATLAB,M,文件,4.2,内置函数文件,4.1,命令文件,4.3,函数,M,文件,4.1,M,文件,用,Matlab,语言编写的程序称为,M,文件,。,M,文件以,.m,为扩展名。,M,文件根据调用方式的不同可以分为两类:,Script,:脚本文件,/,命令文件,Function,:函数文件,MATLAB,的工作模式,指令,(,命令,),执行模式,M,文件程序执行方式,命令执行模式,通常,matlab,以指令驱动模式工作,即在,matlab,命令窗口逐条输入命令,,matlab,立即逐条解释处理这条指令,并显示结果。,命令行操作时,,matlab,窗口只允许一次执行一行上的一个或几个语句。,特点,:操作简单、直观,但速度慢,执行过程不能保留。,M,文件程序执行方式,将,matlab,语句构成的程序存储成以,m,为扩展名的文件,然后再执行该程序文件,这种工作模式称为程序文件模式。,程序文件不能在命令窗口下建立,因为命令窗口只允许一次执行一行上的一个或几个语句。,特点:,1,)和,Basic,一样是解释性的语言,,语法简单、易调试,;,2,)和其他语言相比初始运行速度慢,但,M,文件一经运行便以代码存放在内存中,再次运行时,将直接从内存中取出运行,,大大提高速度,;,3,),M,文件扩展了,MATLAB,的能力,包含一系列工具箱,如:自动控制、信号处理、小波分析等。,m,文件的类型是普通的文本文件,可以使用系统认可的文本文件编辑器来,创建,m,文件。如,:windows,的记事本和,word,等。,用,matlab,自带的编辑器来,创建,m,文件。,(,建,议使用,),。,单击桌面图标,在命令窗输入指令,edit,,都可以,打开空白,的,M,文件编辑器。,2.M,文件的创建和打开,3.M,文件的分类,M,文件有两类:,命令文件,(,脚本文件,),和,函数文件,。它们的扩展名均为,.m,。,命令文件:将用户在,MATLAB,环境下直接输入的多条语句或者命令,存 放为,.m,后缀的文件,在命令行键入文件名,来替代在命令窗口输入多条语句,一次执行成批命令。,函数文件:它是有特定书写规范的,M,文件。如果,M,文件第一行包含,function,则此文件为函数文件。每个函数文件都定义一个函数。用来,扩充,Matlab,的应用范围和满足用户不同的实际需求。,脚本文件可以理解为简单的,M,文件,因为没有输入和输出变量。在脚本输入以下代码:,%,圆形面积,area.m,r=3.33;%r,为圆形半径,s=(r2)*pi%s,位圆形面积,给脚本文件取名,area,保存。,在命令窗口输入,area,输出结果,4.2,内置函数文件,matlab,自定义的函数文件称内置函数文件,。,调用内置函数的方法:,使用函数名并给出相应的入口、出口参数即可。,例如:,sin.m,函数,x=0:2*pi/180:2*pi;,y=sin(2*,x,),plot(x,y),常用的内置函数,函数名,说明,函数名,说明,y=sin(x),正弦,,x,单位为弧度,y=cos(x),余弦,,x,单位为弧度,y=tan(x),正切,,x,单位为弧度,y=cot(x),余切,,x,单位为弧度,y=exp(x),e,为底的指数,y=log(x),e,为底的对数,y=log2(x),2,为底的对数,y=log10(x),10,为底的对数,y=abs(x),绝对值,y=sqrt(x),平方根,4.3,函数,M,文件,M,函数文件第一行必须包含,function,。,(,1,),M,函数文件一般由以下,3,个部分,构成,:,1,),函数定义行,格式为:,function,输出参数,=,函数名,(,输入参数),函数定义行,它表明该,M,文件包含一个,函数,,并且定义,函数名,、,输入和输出参数,。,例如:“,function f=limit(f,x,a)”,,就是函数,limit,的定义行,其中,function,为关键字,,f,为输出参数,,limit,为函数名,,f,x,a,为输入参数。,2,),函数帮助信息行,函数信息行:给出函数的帮助信息,帮助信息要,从,%,开头,并放在一行的开头,用,help+,函数名可查询到;,3,),函数体,是函数的功能实现部分,4,)注释,注释语句以百分号,(%),开头,它可以出现在,M,文件的任何地方,用户也可以在一行代码的后面加注解语句。,例 编写函数文件共轭梯度求解无约束问题,frcg.m,注意问题:,1.,函数,m,文件第一行必须以单词,function,作为引导词,表示该,M,文件是一个函数文件,必须遵循如下形式:,function,输出参数,=,函数名,(,输入参数),2.,函数名的命名规则与变量名相同,,m,文件的文件名必须是,.m,。,3.,函数执行后,,只保留最后的返回结果,,不保留任何中间过程。程序中的变量均为,局部变量,,不保存在工作空间中,其变量只在函数运行期间有效,随函数调用的结束而从工作空间消除。,M,函数参数的,调用,1,)函数调用,完整函数调用的命令格式:,输出参数,1,,输出参数,2,=,函数名(输入参数,1,输入参数,2,),当函数的输出形参多于,1,个时,应用方括号,参数之间用逗号隔开:,function a,b=mfile(x,y),;当函数无输出参数时,输出参数项应为空,或者用空的中括号表示:,function mfile(x,y),或者,function =mfile(x,y),;,函数文件如下:,function s,p=fcircle(r),%CIRCLE calculate the area and perimeter of a circle of radii r,%r,圆半径,%s,圆面积,%p,圆周长,s=pi*r*r;,p=2*pi*r;,以文件名,fcircle.m,存入,然后在,MATLAB,命令窗口调用该函数:,s,p=fcircle(10),系统文件,s,函数,用于描述系统运动的专用函数,是特殊的,m,文件。,完整函数调用的命令格式:,s,函数有,3,类:,由,simulink,结构图自动创建,可用,c,语言程序设计,mex,文件直,接定义,用函数,m,文件编写,s,函数一旦创建,即可在框图中使用,也可在文件中调用。,S,函数的调用格式,sys,x0=sfunction(t,x,u,flag),当前时刻,系统状态,状态初值,用户定义的系统,当前输入值,当前状态值,标志量,S,函数与函数,m,文件类似,只是输入、输出变量是限定的。,小结,1.Matlab,的工作模式,2.M,文件的创建和打开,3.,内置函数文件,4.M,文件的构成和调用,5.,特殊的,M,文件,
展开阅读全文