1. 普通函数
MatLab 中的普通函数是可以传递输入参数和输出参数的函数,其基本定义格式为:
代码语言:javascript复制function [y1,...,yn] = funcname(x1,...,xn)
...
end
其中,x1,…,xn 为输入参数变量,y1,…,yn 为输出参数变量,funcname 为函数名称。MatLab 在实现对普通函数调用时,允许使用比声明变量数目少的输入输出变量,调用传递的输入输出参数均为值传递(即拷贝原变量的值)。MatLab 普通函数体内预定义了一些参数控制命令:
控制命令 | 说明 |
---|---|
nargin | 当前函数调用实际输入参数个数 |
nargout | 当前函数调用实际输出参数个数 |
varargin | 当前函数调用可变长度输入参数列表(1×N1 times N1×N 元胞数组) |
varargout | 当前函数调用可变长度输出参数列表(1×N1 times N1×N 元胞数组) |
narginchk(minArgs,maxArgs) | 验证当前函数调用输入参数数目(不在区间 [minArgs,maxArgs] 将会触发报错) |
nargoutchk(minArgs,maxArgs) | 验证当前当前函数调用输出参数数目(不在区间 [minArgs,maxArgs] 将会触发报错) |
【注】函数参数控制命令详情请参阅 MatLab 帮助文档。
MatLab 普通函数可以在 MatLab 的 M 文件中定义,详细细节请参阅 MatLab 中 M 文件。
2. 匿名函数
MatLab 匿名函数没有函数名,只有表达式和输入输出参数,创建格式如下:
代码语言:javascript复制f = @(x1,...,xn)expression
其中,x1,…,xn 为输入参数变量,expression 为函数表达式,f 为函数句柄。
- 举例
f = @(x)exp(sin(x.^2 1))
【注】函数句柄详情请参阅 MatLab 数据结构。