资源描述:
《数学实验课件Matlab 第3章 MATLAB程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章MATLAB程序设计3.1M文件3.2数据的输入输出3.3选择结构3.4循环结构3.5函数文件3.6全局变量和局部变量目录3.1M文件编程M文件的功能和特点MATLAB是解释性语言语法简单调试容易人机交互性强开放性、可扩展性强3.1.1M文件的建立与编辑1.建立新的M文件(1)菜单操作:MATLAB命令窗口的File菜单→New菜单项→M-file命令。(2)命令操作:在MATLAB命令窗口输入命令edit。(3)命令按钮操作:单击MATLAB命令窗口工具栏上的“新建”命令按钮。2.编辑已有的M文件3.1.2M文件的分类分类:命令文件(ScriptFile
2、/脚本文件)和函数文件(FunctionFile)。1。命令文件有效指令的集合,以文件名直接调用运行。若要一次执行大量的MATLAB命令,可将这些命令存放於一个后缀为m的文件,并在MATLAB提示号下键入此文件名即可。命令文件对于一些比较简单的问题,在指令窗中直接输入指令计算.对于复杂计算,采用命令文件最为合适.MATLAB只是按文件所写的指令执行.M命令文件的特点是:命令文件的构成比较简单,只是一串按用户意图排列而成的(包括控制流向指令在内的)MATLAB指令集合M文件中定义的变量为全局变量.命令文件运行后,所产生的所有变量都驻留在MATLAB基本工作空间(B
3、aseworkspace)中。只要用户不使用清除指令(clear),MATLAB指令窗不关闭,这些变量将一直保存在基本工作空间中例3.1建立一个命令文件将变量a,b的值互换,然后运行该命令文件。首先建立命令文件并以文件名exch.m存盘:clear;a=1:10;b=[11,12,13,14;15,16,17,18];c=a;a=b;b=c;ab然后在MATLAB的命令窗口中输入exch,将会执行该命令文件。目录函数文件与命令文件不同,函数文件犹如一个“黑箱”,把一些数据送进并经加工处理,再把结果送出来.MATLAB提供的函数指令大部分都是由函数文件定义的.用M
4、文件自定义函数,开头为:functionyname=fname(xname)yname:因变量名,fname:函数名,xname:自变量名.文件名为fname,即与函数名相同.例3.2建立一个函数文件将变量a,b的值互换,然后在命令窗口调用该函数文件。首先建立函数文件fexch.m:function[a,b]=fexch(a,b)%exchc=a;a=b;b=c;然后在MATLAB的命令窗口调用该函数文件:clear;x=1:10;y=[11,12,13,14;15,16,17,18];[x,y]=fexch(x,y)目录由上例可以看出函数文件的一般格式为:fu
5、nction[输出表]=函数名(输入表)函数体函数文件的第一行必须是以关键字function开始,表明该文件是函数文件.输入表是以逗号相分隔的形参.输出表是函数的返回值.如果返回值只有一个方括号可以省略;如果返回值不止一个,输出表中的各个变量要以逗号隔开.标准的函数文件基本结构。(1)函数定义行(关键字function)function[out1,out2,..]=filename(in1,in2,..)输入和输出(返回)的参数个数分别由nargin和nargout两个MATLAB保留的变量来给出。(2)第一行帮助行,即H1行以(%)开头,作为lookfor指令
6、搜索的行,可以使程式易於了解与管理。特别要说明的是,第一注解行通常用来简短说明此M档案的功能,以便lookfor能以关键字比对的方式来找出此M档案。举例来说,fexch.m的第一注解行包含exch这个字,因此如果键入lookforexch,MATLAB即可列出所有在第一注解行包含exch的M档案,因而fexch.m也会被列名在内。(3)函数体说明及有关注解,以(%)开头,用以说明函数的作用及有关内容(4)函数体语句函数体内使用的除返回和输入变量这些在function语句中直接引用的变量以外的所有变量都是局部变量,即在该函数返回之后,这些变量会自动在MATLAB的
7、工作空间中清除掉。如果希望这些中间变量成为在整个程序中都起作用的变量,则可以将它们设置为全局变量例3.3建立一个自变量为m,n的函数,用其构造mn矩阵,其元素随机取均匀分布在0~9中的整数:functiona=randint(m,n)a=floor(10*rand(m,n));以上两句存为M文件randint.m.用法:A=randint(2,3)%z则A为23矩阵,其元素为随机取自0~9中的整数.函数M文件中的变量为局部变量,要想在CommandWindow或其他M文件中可调用,必须在这些地方把此变量说明为global:例如,globala;注意,M文件必
8、须存放在MATLAB的搜