如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
主要内容包括:M文件的特点和类型、变量、函数以及MATLAB程序结构和设计等基本内容。10.1M文件10.1.1M文件的结构10.1.2M文件分类10.1.3脚本式M文件说明:脚本文件一般适应于大型程序的重复操作,对个别变量的修改只需在脚本文件中进行即可而不需要对多数相同的代码进行重复操作。用户可以将需要重复输入的所有命令按顺序放到一个扩展名为.m的文本文件下,每次运行时只要输入该M文件的文件名即可。用户自己创建的脚本文件的文件名要避免与MATLAB7的内置函数和工具箱中的函数重名,以免发生内置函数被替换的情况。(因为脚本文件中的变量多数是全局变量它与Matlab程序共用一个工作空间)710.1.4函数式M文件而脚本文件只是将一系列相关代码结合封装,没有输入参数和输出参数,即不自带参数,也不一定要返回结果。10.1.4M文件的组成部分及其功能11函数式M文件说明10.2变量10.2.1命名变量变量名必须以字母开始,其后可以是任意数量的字母或下画线;不允许出现标点符号,因为很多标点符号在MATLAB中有特殊的意义,如totalname与total_name会产生完全不同的结果;系统也会认为total,name由于逗号的分隔,不是一个变量。10.2.2MATLAB特殊变量10.2.3MATLAB中关键字>>for=1000???for=1000|Error:Theexpressiontotheleftoftheequalssignisnotavalidtargetforanassignment.如果一定要使用与这些关键字类似的词作为变量名,可以将这些关键字中的某个或者某些字母改成大写>>WHILE=1%WHILE和while含义不同,前者是用户定义变量,后者是关键字WHILE=110.2.4不同类型的变量10.2.4局部变量和全局变量说明如果要查看工作空间的全局变量,则输入whosglobal,可显示出全局变量globalxyx=36;y=78;z=5;p=21;whosglobalMATLAB中,每一个函数有其独立的局部变量,这些临时定义的变量不被加载到MATLAB的工作空间中,与其他函数或是MATLAB基本工作空间中的变量互不影响。除非特别定义了全局变量或者永久变量,否则当函数调用结束时,所有局部变量将随之被擦除。脚本文件没有独立的工作空间,与其调用系统共用一个工作空间。当在MATLAB的命令窗口调用脚本文件时,共用MATLAB基本工作空间;而当在函数中调用时,则使用函数空间存储变量。所以当脚本文件使用空间中已存在的变量时,将改变变量的值。应用举例:应用举例:应用举例:10.3函数10.3.1匿名函数匿名函数中可以携带多个输入参数sumAxBy=@(x,y)(3*x+4*y);sumAxBy(5,7)如果匿名函数中不包含任何的输入参数,@后边的参数列表必须用空的括号表示t=@()datestr(now);调用此函数时同样使用括号t(),否则Matlab不执行程序。应用举例:应用举例*:>>f=@(x)x.^4f=@(x)x.^4>>f(5)ans=62510.3.2主函数与子函数在MATLAB命令窗口或者其他M文件中,只可以对主函数进行调用,而对于子函数的调用,只局限于其所在M文件中的主函数和并列的子函数。即主函数范围比子函数要广,主函数可以在M文件外部调用,子函数则不行。在M文件中创建的子函数,需要单独声明,即,要使一个子函数对应一个函数声明行。如果一个M文件中有多个子函数,那么这些子函数之间不存在优先级,都是并列关系,所以排列的前后顺序没有要求。子函数中的变量是独立的,除非特别声明为全局变量,否则不能被主函数和其他子函数所访问。10.3.3嵌套函数例如,下列代码中的主函数是A,A内嵌套了函数B,函数B的声明行为“functiony=B(p3)”。functionx=A(p1,p2)...functiony=B(p3)...end...end例:functionA(x,y)B(x,y);D(y);functionB(x,y)C(x);D(y);functionC(x)D(x);endendend10.4程序结构及流控制语句10.4.1顺序结构应用举例*:>>edit建立脚本文件s.ma=100;b=10;fprintf(‘sum=%f\n’,a+b);fprintf(‘sum=%f\n,a-b’);在Matlab命令窗口中输入:s.m10.4.2循环结构-for语句forx=astatements;end其中x表示循环变量,a一般是使用冒号进行步进的等差数列[start:incremen