首页 > 编程笔记 > MATLAB笔记 阅读:7

MATLAB匿名函数的用法(附带实例)

匿名函数通常是很简单的函数。不像一般的 M 文件主函数要通过 M 文件编写,匿名函数是面向命令行代码的函数形式,它通常只用一行非常简单的语句,就可以在命令行窗口或M文件中调用函数,这对那些函数内容非常简单的情况是很方便的。

创建匿名函数的标准格式如下:
fhandle=@(arglist)expr
其中:
例如定义函数:
dingfun=@(x) (x+x.^2)
表示创建了一个匿名函数,它有一个输入参数 x,它实现的功能是 x+x.^2,并把这个函数句柄保存在变量 dingfun 中,以后就可以通过 dingfun(a) 来计算当 x=a 时的函数值。

注意,匿名函数的参数列表 arglist 中可以包含一个或多个参数,这样调用的时候就要按顺序给出这些参数的实际取值。但 arglist 也可以不包含参数,即留空。此时还需要通过 fhandle() 的形式来调用函数,即要在函数句柄后紧跟一个空的括号,否则,只显示 fhandle 句柄对应的函数形式。

匿名函数可以嵌套,即在 expr 表达式中可以用函数来调用一个函数句柄。

【实例】匿名函数应用示例。在命令行窗口中输入以下语句,并查看输出结果。
>> dingth=@(x) (x+x.^2) % 定义函数句柄
dingth =
    包含以下值的 function_handle:
    @(x)(x+x.^2)

>> dingth(4)
ans =
    20

>> dingth1=@() (6+8) % 不含参数,即留空
dingth1 =
    包含以下值的 function_handle:
    @() (6+8)

>> dingth1() % 在函数句柄后紧跟一个空括号调用函数
ans =
    14

>> dingth1 % 在函数句柄后不跟空括号,则给出函数句柄对应的函数形式
dingth1=
    包含以下值的 function_handle:
    @() (6+8)
匿名函数可以保存在 .mat 文件中,该例中通过 save dingth.mat 可以把匿名函数句柄 dingth 保存在 dingth.mat 文件中,当需要使用匿名函数 dingth 时,只需要执行 load dingth.mat 语句即可。

相关文章