匿名函数的应用相当灵活,其不但可以完全实现内联函数(inline function)的所有功能,而且一些用内联函数实现起来不大方便或者不简捷的功能,用匿名函数则非常容易实现。从效率的角度以及易用性等方面来讲,匿名函数都远远优于内联函数。
1、匿名函数的定义
fhandle=@(arglist)expr
其中expr是函数表达是,arglist指的是参数列表。
example:
2、匿名函数的种类
-单重变量匿名函数
单变量匿名函数
多变量匿名函数
-多重变量匿名函数
单重匿名函数
(1)单变量匿名函数
顾名思义,只有一个变量的匿名函数,如上面的第一个例子。
(2)多变量匿名函数
如上面的第二个例子。
单重匿名函数的特点是,仅有一个@引导,后面是具体的函数表达式,自变量输入单重匿名函数后,得到的就是具体的数值。除了单重匿名函数外,还有双重或多重匿名函数。这些匿名函数在参数的传递方面非常方便。
多重变量匿名函数
以二重匿名函数为例来介绍多重匿名函数,多重匿名函数可看成是二重匿名函数的一个推广。
其中,a是外层变量,x是内层变量
可以如此理解:每个@后面括号里的变量的作用域一直到表达式的结尾。
可以用function来查询所建立的匿名函数的信息:
两重以上的匿名函数可以参考二重匿名函数类推。