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

CH 7.6 函數(shù)句柄
 
函數(shù)句柄是matlab的一個(gè)數(shù)據(jù)類型,保存函數(shù)的路徑、視野、函數(shù)名及重載方式等。
使用函數(shù)句柄的優(yōu)點(diǎn)
 
1.使一些泛函指令工作更可靠
 
2.使函數(shù)調(diào)用象變量引用一樣方便
 
3.可獲得同名重載函數(shù)的信息
 
4.可在更大范圍內(nèi)調(diào)用各種函數(shù),提高軟件的重用性
 
5.提高函數(shù)調(diào)用速度。

一、函數(shù)句柄的創(chuàng)建與觀察
 
1.創(chuàng)建
    handlef=@fname;         
    handlef=str2func(‘fname’)
   例如:fhandle = @sin;
   sin是matlab中自帶的正弦函數(shù),得到的輸出變量fhandle為sin函數(shù)的句柄。可以利用fhandle來(lái)調(diào)用sin函數(shù),例如下面的代碼:
   fhandle(0)
  上面語(yǔ)句得到的輸出代碼如下:
  ans = 0
  實(shí)際上,該程序中的語(yǔ)句fhandle(0)相當(dāng)于語(yǔ)句sin(0)。
二、函數(shù)句柄的應(yīng)用
 
[out1,ou2,…]=fname(in1,in2,…)
也可通過函數(shù)句柄來(lái)完成函數(shù)運(yùn)算:
 
[out1,ou2,…]= handlef(in1,in2,…)
 [out1,ou2,…]=feval(handlef,in1,in2,…)


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

matlab 函數(shù)句柄@的介紹_什么是函數(shù)句柄

覺得自己很少用函數(shù)句柄,但是經(jīng)常遇到,所以在這里總結(jié)一下。
函數(shù)句柄:是包含了函數(shù)的路徑、函數(shù)名、類型以及可能存在的重載方法。
函數(shù)句柄必須通過專門的定義創(chuàng)建的,而一般的圖像的句柄是自動(dòng)建立的
創(chuàng)建函數(shù)句柄使用@或者str2func命令創(chuàng)建

執(zhí)行sin函數(shù)     feval
feval('sin',pi/2) %
matlab幫助 feval 既可以,可以不必關(guān)心這個(gè)函數(shù)的使用
ans =
     1


那么使用函數(shù)句柄有什么好處呢?
1
、提高運(yùn)行速度。因?yàn)?/span>matlab對(duì)函數(shù)的調(diào)用每次都是要搜索所有的路徑,從set path中我們可以看到,路徑是非常的多的,所以如果一個(gè)函數(shù)在你的程序中需要經(jīng)常用到的話,使用函數(shù)句柄,對(duì)你的速度會(huì)有提高的。
2
使用可以與變量一樣方便。比如說(shuō),我再這個(gè)目錄運(yùn)行后,創(chuàng)建了本目錄的一個(gè)函數(shù)句柄,當(dāng)我轉(zhuǎn)到其他的目錄下的時(shí)候,創(chuàng)建的函數(shù)句柄還是可以直接調(diào)用的,而不需要把那個(gè)函數(shù)文件拷貝過來(lái)。因?yàn)槟銊?chuàng)建的function handles中,已經(jīng)包含了路徑,比如說(shuō)我創(chuàng)建了一個(gè)fun
h_fun=str2func('rei');
可以用functions來(lái)查看這個(gè)function結(jié)果果然已經(jīng)包括了路徑。

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