MATLAB Function Reference    

function_handle (@)

関数へのハンドルである MATLAB データタイプ

表示

詳細

@function は、指定した MATLAB 関数へのハンドルを戻します。

関数ハンドルは、MATLAB が実行するため、または、それを計算するために必要な関数に関するすべての情報を含んだ MATLAB データタイプです。関数ハンドルは、引数リストの中で、他の関数へ渡されます。関数のハンドルが作成されたものに対して、関数をコールする手段として、他の関数は、ハンドルを使います。

多くの MATLAB 関数は、多重定義されているので、関数ハンドルは、関数を実現するいくつかのコードソースにマッピングされます。関数ハンドルが作成されたときに、MATLAB パス上に多重定義されたソースの内容、または、メソッドが存在する場合、それらをストアします。

MATLAB feval コマンドを使って、関数ハンドルを計算します。引数として関数ハンドルを他の関数に渡す場合、受け取る関数は、feval を使って、関数を計算する必要があります。多重定義関数ハンドルを計算する場合、MATLAB は、ハンドルの中に含まれている多重定義メソッドの内容の一つを選択し、実行します。

標準の MATLAB データタイプとして、関数ハンドルは、他の MATLAB データタイプと同様な方法で、維持され、操作されます。

関数ハンドルを使って、つぎのことができます。

例題

つぎの例題は、関数 humps 用の関数ハンドルを作成し、それを変数 fhandle に割り当てます。

他の引数を他の関数に渡す場合と同様に、ハンドルを他の関数に渡します。つぎの例題は、作成した関数ハンドルを fminbnd に渡します。このfminbnd は、区間 [0.3, 1] で最小化するものです。

参考
str2func, func2str, functions


  function functions