このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
function_handle
関数ハンドル
説明
関数ハンドルは、関数を表す MATLAB® データ型です。一般に、関数ハンドルは関数を別の関数に渡すために使用します。たとえば、関数ハンドルは、所定の値の範囲に対して数式を評価する関数の入力引数として使用できます。関数ハンドルのその他の用途には以下があります。
コールバック関数の指定 (たとえば、UI イベントに応答したり、データ収集ハードウェアと相互作用するコールバック)。
プログラム ファイルに保存されているものではなくインラインで定義されている関数 (無名関数) へのハンドルの作成。
作成
@
演算子を使用して関数ハンドルを作成します。関数ハンドルは、名前付き関数または無名関数を表すことができます。
"名前付き関数ハンドル" は、MATLAB の一部である関数と、
function
キーワードを使用して作成した関数を含む、既存のプログラム ファイルの関数を表します。名前付き関数ハンドルを作成するには、関数名の前に@
を付けます。たとえば、関数
sin
のハンドルを作成した後に、fminbnd
を使用して、sin(x) を 0 ~ で最小化する x の値を求めます。f = @sin; m = fminbnd(f,0,2*pi);
"無名関数ハンドル" ("無名関数" とも呼ばれる) は、1 つの出力を返す単一のインライン実行可能式を表します。無名関数を定義するには、
@
演算子の直後に入力引数をかっこで囲み、実行可能な式を指定します。たとえば、式 x2 − y2 を評価する無名関数へのハンドルを作成します。
f = @(x,y) (x.^2 - y.^2);
無名関数は、複数の入力を受け入れることができますが、1 つの出力のみ返します。