Programming and Data Types    

関数ハンドルの計算の例題

この節は、関数ハンドルの使い方や計算法を示す2つの例題を示します。

例題 1 - 簡単な関数ハンドル

plot_fhandleと云う名前の関数を定義するつぎの例題は、関数ハンドルとデータを受け取り、そのデータに関して、関数ハンドルの計算を行なうものです。

関数sinと下に示す引数を関数と共に、plot_fhandleをコールすると、求まる計算結果は、つぎのプロットを作成します。

例題 2 - 関数ハンドルとサブ関数

この例題の中のM-ファイルは、主関数fitcurvedemoとサブ関数 expfunです。定義として、サブ関数は、自身のM-ファイルのスコープの中のみで見ることができます。もちろん、そのM-ファイルの中の他の関数での使用だけは、可能です。

このコードのオーサは、このM-ファイルの範囲の外で、expfun を使おうとしています。この例題は、関数ハンドルをサブ関数expfunに作成し、サブ関数に関するアクセス情報を捕らえ、MATLAB環境の中の任意の位置からコールするものです。関数ハンドルは、fminsearchに渡し、通常のスコープの外側でサブ関数をうまく計算するものです。

下に示すコードは、fitcurvedemoとサブ関数expfunを定義するものです。ライン6は、関数ハンドルをexpfunに作成し、それを変数funに割り当てます。ライン16で、fminsearchへのコールで、サブ関数の通常のスコープの外側に関数ハンドルを渡します。関数 fminsearch は、fevalを使って、そのハンドルを通して、サブ関数を計算します。


  ハンドルを使って関数を計算 関数ハンドル情報の表示