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