MATLAB Function Reference | ![]() ![]() |
function_handle (@)
表示
handle = @function
詳細
@function
は、指定した
MATLAB 関数へのハンドルを戻します。
関数ハンドルは、MATLAB が実行するため、または、それを計算するために必要な関数に関するすべての情報を含んだ MATLAB データタイプです。関数ハンドルは、引数リストの中で、他の関数へ渡されます。関数のハンドルが作成されたものに対して、関数をコールする手段として、他の関数は、ハンドルを使います。
多くの MATLAB 関数は、多重定義されているので、関数ハンドルは、関数を実現するいくつかのコードソースにマッピングされます。関数ハンドルが作成されたときに、MATLAB パス上に多重定義されたソースの内容、または、メソッドが存在する場合、それらをストアします。
MATLAB feval
コマンドを使って、関数ハンドルを計算します。引数として関数ハンドルを他の関数に渡す場合、受け取る関数は、feval
を使って、関数を計算する必要があります。多重定義関数ハンドルを計算する場合、MATLAB
は、ハンドルの中に含まれている多重定義メソッドの内容の一つを選択し、実行します。
標準の MATLAB データタイプとして、関数ハンドルは、他の MATLAB データタイプと同様な方法で、維持され、操作されます。
例題
つぎの例題は、関数 humps
用の関数ハンドルを作成し、それを変数 fhandle
に割り当てます。
fhandle = @humps;
他の引数を他の関数に渡す場合と同様に、ハンドルを他の関数に渡します。つぎの例題は、作成した関数ハンドルを
fminbnd
に渡します。このfminbnd
は、区間 [0.3, 1]
で最小化するものです。
x = fminbnd (@humps, 0.3, 1) x = 0.6370
参考
str2func
, func2str
,
functions
![]() |
function | functions | ![]() |