1、1. M文件有两种形式:脚本形式和函数形式 脚本形式是命令行的简单叠加,matlab系统会自动按照顺序结构执行文件中的命令,所谓函数形式主要用于解决参数传递和函数调用的问题。 2.脚本形式的M文件在运行过程中可以调用Matlab工作系统区域内的所有数据,说产生的变量全都是全局变量。这些变量一旦生成,就一直保存到内存空间中,直到用户执行clear函数或者是quit函数删除系统中的内存变量为止。在函数文件中,所有的变量,除特殊声明外,都是全局变量,这些变量不会影响到整个系统的内存空间。 3.函数形式的M文件的文件名和出现在文件第一行的函数名必须相同,因为在实际中,matlab忽略了第一行,而
2、是按照文件名来执行函数的。M文件在windows下是不区分大小写的。函数名必须以一个字母开头,函数名可以是任意的字母、数字和下划线的组合,这个命名的规则和变量的命名规则一样。 4.函数形式的M文件第一行被称为函数声明行,而且函数形式的M文件必须包括function这个关键字,其后就是这个函数最常用的方式调用的语法。函数形式的文件可以调用脚本文件。一个函数形式的M文件中可以出现多个函数,这些函数被称为子函数或局部函数 5.File-àNewàFunction 调用: 6. File-àNewàScript 7.函数文件在函数定义下面的一行就是解释文件,可以被help读出
3、 8.局部变量和全局变量的测试: 我们先定义一个函数文件,有x1,x2,x3三个局部变量。 然后我们定义三个全局变量: 然后我们开始调用函数 从上我们就可以知道,局部变量不会对全局变量产生影响。 我们再用whos来查看内存中变量的存储情况 9.M文件中的控制语句 9.1顺序语句 9.2循环语句 For i=(表达式) (执行语句) End For要和end匹配,同时,需要适当的使用分号,否则把什么都输出来了 While语句 While 表达式 执行语句 End 9.3选择语句 If 表达式 执行语句 End If
4、 表达式 执行语句 Else 执行语句2 End If 表达式 执行语句 Elseif 表达式 执行语句2 Else 执行语句3 End 9.4 分支语句 Switch 开关语句 Case 条件语句 执行语句1 Case 条件语句 执行语句2 Otherwise 执行语句n End 9.5.Continue语句和break语句 9.6 echo语句 通常在执行语句的过程中,命令窗口是看不到执行过程的,但有些时候需要查看程序运行的中间变量,就需要用到echo语句 Echo on:显示它后面所有执行的命令文件的指令
5、 Echo off:不显示 Echo:在显示和不显示来回切换 对于函数形式的M文件: Echo filename on:使filename指定的M文件的执行命令显示出来 Echo filename off:使filename指定的M文件的执行命令显示不显示出来 Echo on all:将其后所有的M文件的执行指令都显示出来 Echo off all: 将其后所有的M文件的执行指令都不显示出来 9.7 error语句 这个函数命令用来指示出错的信息并终止当前函数允许的情况 Error(‘message’) error后续就没有执行 9.8 try..catch语句 Tr
6、y (commands1) Catch (commands2) End 9.9input语句 此命令用来提示用于从键盘输入数据、字符串或者表达式,并接收输入值 Variable=input(‘提示信息’):把提示信息显示在屏幕上,等待用户输入,并将输入的值传入到变量variable 9.10.pause语句 Pause:停止M文件执行,按任意键继续 Pause(n):中止执行程序n秒后继续,n为任意的实数 Pause on:允许后续的pause命令中止程序的允许 Pause off:禁止后续的pause命令中止程序的允许 10.变量 全局变量:函数内部定义的
7、变量都是局部变量,如果要想变为全局变量,就需要用global函数阿里进行定义,那么以后任何地方都可以使用了 永久变量:通过persistent函数来定义,但其只能局限于函数中。 11.函数 M文件中的第一个函数是主函数,主函数之后可以是任意函数的子函数,在命令窗口或M文件中只能调用主函数,调用时就直接调用它的函数名。 嵌套函数:在一个函数的内部可以再定义多个其他函数,但一个M文件中只能有一个主函数, 局部函数:把设置在目录private下的函数称为局部函数,这些函数只有private目录的父目录中的函数才可以调用,其他目录下的函数不能调用。 12.函数句柄 函数句柄提供了一种简洁
8、访问函数的手段,用户可以很方便地调用其他函数。 函数句柄的创建比较简单,可以通过特殊符号@来引导函数名,这样就可以实现相应函数句柄的定义操作。Fhandle=@functionname 比如表达式:myfhandle=@sin就是创建了一个句柄,名字叫做myfhandle,通过@引导了Matlab系统中的sin函数。或者也可以把myfhandle去掉,直接调用赋值也行。 函数句柄的操作: 函数名称 说明 Functions 返回函数句柄的相关信息 Isequal 判断两个函数句柄是否为一个相同函数的句柄 Load 从一个M文件中向当前工作区间调用函数句柄 Sav
9、e 从当前工作区间向M文件保存函数句柄 13.执行函数 执行函数名称 说明 Assignin 在Matlab工作区间中分配变量 Builtin 外部加载调用内置函数 Eval 字符串调用函数 Evalc 执行matlab的表达式 Evalin 计算工作区间中的表达式 Feval 字符串调用M文件 Run 允许脚本文件 Eval(表达式):执行表达式 Feval(F,x1,x2,…xn):计算函数表达式F关于x1,x2…xn的值。 14.在Matlab中,系统提供了相应的报错警告函数:error、waring、lastwarn、errortrap、o
10、n/off函数等,最常用的是error和warning Error(‘m’,a1,a2,…):m为输出显示的错误信息,a1,a2….是错误的对象名称 Error(‘m_id’,’m’):这个命令主要给错误信息附加一个特定的信息标识,该标识有利于用户更好的找出错误来源,其中参数m_id就是为错误信息附加的一个特定的信息标识,可以由用户自行设置,而参数m则为输出显示的错误信息。 Error(‘m_id’,’m’,a1,a2,….):返回带格式的错误信息,并给错误信息附加了特定的信息标识 Nargin函数是用来统计输入参数的个数的。 Warning(‘m’):这个函数用于返回包括m的警
11、告信息 Warning(‘m_id’,a1,a2….) 上错误的提示是系统提示,如果我们对错误进行了处理,就不会出现系统提示,否则就会出现系统提示。 15.时间控制函数 函数名称 功能 Clck 以向量的形式显示当前的日期和时间 Date 以字符串的形式显示当前的日期 Now 以数值的形式显示当前的时间和日期 Calendar 显示当月的日历表 Weekday 显示当前日期对应的星期表达 Comday 给出指定年月的当月的最后一天 Datetick 指定坐标轴的日期表达式 Datevec 转换为向量形式显示日期 Datenum 转换为数
12、值形式显示日期 Tic 计时开始函数 Toc 计时结束函数 Cputime 以cpu运行的时间方式进行计时 Etime 计算2个时刻的时间差 Datestr函数实现将日期和时间以一种特定的字符串格式显示 Str=datestr(datenum,id):把datenum转换成id指定的形式,至于id,在表格里寻找 如果id没有,默认是0 Datenum函数将字符型日期和时间转换为数值型的日期 Datevec函数主要用于将其他日期形式转换成向量形式显示日期 里面已经包含了输代码的时间了 从上面可以看出,matlab的计算时间非常快 Cpu计算几乎不花时间 E=etime(t2,t1):用于返回t1和t2之间的时间段 Pack:如果在大量的计算之后哟产生一个很大的变量(矩阵):那么先用peak命令处理一下。 Matlab 的Simulink交互仿真: FileàNewàModel 点击上面的按钮:就出来了工具窗体,可以选择很多东西






