http://wenku.baidu.com/view/cc9b4308bb68a98271fefa6f.html (Matlab北航教程)

CH 7.6 函数句柄
 
函数句柄是matlab的一个数据类型,保存函数的路径、视野、函数名及重载方式等。
使用函数句柄的优点
 
1.使一些泛函指令工作更可靠
 
2.使函数调用象变量引用一样方便
 
3.可获得同名重载函数的信息
 
4.可在更大范围内调用各种函数,提高软件的重用性
 
5.提高函数调用速度。

一、函数句柄的创建与观察
 
1.创建
    handlef=@fname;         
    handlef=str2func(‘fname’)
   例如:fhandle = @sin;
   sin是matlab中自带的正弦函数,得到的输出变量fhandle为sin函数的句柄。可以利用fhandle来调用sin函数,例如下面的代码:
   fhandle(0)
  上面语句得到的输出代码如下:
  ans = 0
  实际上,该程序中的语句fhandle(0)相当于语句sin(0)。
二、函数句柄的应用
 
[out1,ou2,…]=fname(in1,in2,…)
也可通过函数句柄来完成函数运算:
 
[out1,ou2,…]= handlef(in1,in2,…)
 [out1,ou2,…]=feval(handlef,in1,in2,…)


http://www.ilovematlab.cn/thread-23048-1-1.html

matlab 函数句柄@的介绍_什么是函数句柄

觉得自己很少用函数句柄,但是经常遇到,所以在这里总结一下。
函数句柄:是包含了函数的路径、函数名、类型以及可能存在的重载方法。
函数句柄必须通过专门的定义创建的,而一般的图像的句柄是自动建立的
创建函数句柄使用@或者str2func命令创建

执行sin函数     feval
feval('sin',pi/2) %
matlab帮助 feval 既可以,可以不必关心这个函数的使用
ans =
     1


那么使用函数句柄有什么好处呢?
1
、提高运行速度。因为matlab对函数的调用每次都是要搜索所有的路径,从set path中我们可以看到,路径是非常的多的,所以如果一个函数在你的程序中需要经常用到的话,使用函数句柄,对你的速度会有提高的。
2
使用可以与变量一样方便。比如说,我再这个目录运行后,创建了本目录的一个函数句柄,当我转到其他的目录下的时候,创建的函数句柄还是可以直接调用的,而不需要把那个函数文件拷贝过来。因为你创建的function handles中,已经包含了路径,比如说我创建了一个fun
h_fun=str2func('rei');
可以用functions来查看这个function结果果然已经包括了路径。

functions(h_fun)
ans =
    function: 'rei'
        type: 'simple'
        file: 'G:\program\serial232\rei.m'