m文件的分类:m文件分为脚本文件和函数文件,函数文件是通过调用使用的,不能直接运行。而脚本文件是可以直接运行的,其调用函数文件,使用函数功能.
函数的基本格式:
function[返回参数1,返回参数2...]=functionname(形参1,形参2...)%注意这里的函数名称和变量命名方式一致,没有形参时候 圆括号也不能省略。可以有多个返回值,让只有一个返回值的时候方括号可以省略。以上是函数头
%接下来就是H1注释行,意义在于使用lookfor命令查找该函数的时候H1也在搜索范围之内
%接下来的注释是其他注释
block
return;
函数命名之前最好使用which查找一下在硬盘中是否已将存在需要命名的名字,防止因为重名问题而出错
函数的调用和C语言完全一致,直接变量=函数名(实参列表)就可以。这里的传递变量是传参而不是传地址,与C语言不同的是matlab中数组也是传值不是传地址
MATLAB中选择性参数,类似于c中的接受可变数量的参数的函数。与C的通过宏定义实现或者C++通过函数重载实现的机制不同,matlab采用类似于javascript返回方法个数的方式实现功能。这里是nargin nargout。它们一般只出现在函数体内部在函数里用nargin判断输入参数数量,if语句决定执行的代码。注意在函数里形参列表是从前向后对应。matlab中还有一种类似于c语言的实现不定参数的形式:单元数组可以用在不定参数函数中,通过varargin实现,这个参数也是在输入参数列表中的最后一项,他返回一个单元阵列,所以一个输入实参可以包括任意数目的,每一个实参都是由varargin返回的
函数错误信息的检测与输出:
error('message')%用于将massage以错误的形式输出,给出错误信息后程序会终止运行
%nargchk函数用于检测出函数输入参数数与指定数量不匹配的问题
massage=nargchk(min args,max args,num args)%numagrs超过minmax后就会给出对应的出错信息,