| Programming and Data Types |
関数ハンドル情報の表示
コマンド functions
は、デバッグに便利な関数ハンドルの内容を表示します。関数ハンドルに対してfunctionsをコールすると、関数ハンドルが作成された時点でのスコープ内に存在した関数名、タイプ、ファイル名、関数に対するすべてのメソッドを表示します。
コマンドfunctionsから情報は、MATLAB構造体の形を取ります。
| フィールド名 |
フィールド内容 |
function |
関数名 |
type |
関数タイプ。 Function
Typeに関する章の表を参照。 |
file |
関数ハンドルが非多重定義データタイプを使って評価されるときに実行されるファイル。組み込み関数に対しては、 'MATLAB
built-in function.'と表示します。 |
methods |
関数ハンドルの範囲となる関数のすべての多重定義メソッド。このフィールドは、タイプoverloadedの関数にのみ存在します。 |
例えば、関数displayに対する関数ハンドル情報を取得するには、
f = functions(@display)
ans =
function: 'display'
type: 'overloaded'
file: 'MATLAB built-in function'
methods: [1x1 struct]
構造体の各フィールドは、MATLAB構造体にアクセスするために使われるドット選択記法を使ってアクセスできます。
f.type
ans =
'overloaded'
methodsフィールドは、関数をオーバロードする各クラスに対する1つのファイル名を持った別の構造体です。各フィールドの値は、関数を定義するパスとファイル名です。
f.methods
ans =
polynom: '\home\user4\@polynom\display.m'
inline: 'matlabroot\toolbox\matlab\funfun\@inline\display.m'
serial: 'matlabroot\toolbox\matlab\iofun\@serial\display.m'
avifile: 'matlabroot\toolbox\matlab\iofun\@avifile\display.m'
f.methods.polynom
ans =
polynom: '\home\user4\@polynom\display.m'
functionsから戻るデータは、MATLAB構造体の型をしています。構造体の個々のフィールドは、ドット選択記法を使って、MATLAB構造体のフィールドにアクセスします。
f.methods
ans =
double: 'MATLAB built-in function'
sparse: 'MATLAB built-in function'
char: 'MATLAB built-in function'
sym: 'matlabroot\toolbox\symbolic\@sym\sin.m'
f.methods.sym
ans =
sym: 'matlabroot\toolbox\symbolic\@sym\sin.m'
| 関数ハンドルの計算の例題 | 関数ハンドルのメソッド |