1. 普通函数

MatLab 中的普通函数是可以传递输入参数和输出参数的函数,其基本定义格式为:

1
2
3
function [y1,...,yn] = funcname(x1,...,xn)
...
end

其中,x1,…,xn 为输入参数变量,y1,…,yn 为输出参数变量,funcname 为函数名称。MatLab 在实现对普通函数调用时,允许使用比声明变量数目少的输入输出变量,调用传递的输入输出参数均为值传递(即拷贝原变量的值)。MatLab 普通函数体内预定义了一些参数控制命令:

控制命令 说明
nargin 当前函数调用实际输入参数个数
nargout 当前函数调用实际输出参数个数
varargin 当前函数调用可变长度输入参数列表(1×N1 \times N 元胞数组)
varargout 当前函数调用可变长度输出参数列表(1×N1 \times N 元胞数组)
narginchk(minArgs,maxArgs) 验证当前函数调用输入参数数目(不在区间 [minArgs,maxArgs] 将会触发报错)
nargoutchk(minArgs,maxArgs) 验证当前当前函数调用输出参数数目(不在区间 [minArgs,maxArgs] 将会触发报错)

【注】函数参数控制命令详情请参阅 MatLab 帮助文档。

MatLab 普通函数可以在 MatLab 的 M 文件中定义,详细细节请参阅 MatLab 中 M 文件

2. 匿名函数

MatLab 匿名函数没有函数名,只有表达式和输入输出参数,创建格式如下:

1
f = @(x1,...,xn)expression

其中,x1,…,xn 为输入参数变量,expression 为函数表达式,f 为函数句柄。

  • 举例
1
f = @(x)exp(sin(x.^2 + 1))

【注】函数句柄详情请参阅 MatLab 数据结构