MATLAB Function Reference    
which

関数やファイルの配置構造を出力

グラフィカルインタフェース

関数 which の別な使い方は、Current Directory browser を使うものです。これをオープンするには、MATLAB の ビュー(View) から カレントディレクトリ(Current Directory) を選択します。

表示

詳細

which fun は、引数 fun に関する絶対パスを表示します。fun は、条件により、which の出力は、変わります。

fun が、多重定義された関数、または、メソッドの場合、which fun は、最初に検出される関数、または、メソッドのパス名のみを出力します。

which classname/fun は、MATLAB クラス classname の中の fun メソッドを定義する M-ファイルの絶対パス名を表示します。たとえば、which serial/fopen は、MATLAB クラスディレクトリ @serial の中の fopen.m のパスを表示します。

which private/fun は、プライベート関数に検索範囲を限定します。たとえば、which private/orthog は、toolbox\matlab\elmat のサブディレクトリ\privateorthog.m のパスを表示します。

which classname/private/fun は、MATLAB クラス classname で定義されるプライベートメソッドに探索の範囲を制限します。たとえば、which dfilt/private/todtf は、dfilt クラスの private ディレクトリの todtf.m に対するパスを表示します。

which fun1 in fun2 は、M-ファイル fun2 の中の関数 fun1 へのパス名を表示します。この型を使って、fun1 のサブ関数、または、プライベートバージョンが、パス上の関数からではなく、fun2 からコールされているか否かを決定することができます。たとえば、which get in editpath は、関数 get が、editpath.m でコールされていることを示します。

fun2 のデバッギングで、which fun1 を使って、同じ結果を得ます。

which fun(a,b,c,...) は、与えられた入力引数と共に指定した関数へのパスを表示します。たとえば、d が、データベースドライバオブジェクトの場合、which get(d) は、パス toolbox\database\database\@driver\get.m を表示します。

which file.ext は、カレントの作業用ディレクトリに設定される場合、指定したファイルの絶対パス名を表示します。

which fun -all は、名前 fun をもつ MATLAB パス上のすべてのアイテムへのパスを表示します。出力リストの最初のアイテムは、-all を使わないで、通常、which により出力されるものです。リストの中の他の部分は、特別な環境のもとで、隠されたり、まちゃは、実行されたりできます。関数 which の上での表示のいずれかと共に、量 -all を使うことができます。

s = which('fun',...) は、文字列 s の中に、which の結果を出力します。組み込み関数、または、ワークスペース変数に対して、s は、文字列 built-in、または、variable のいずれかを出力します。関数 which の上の表示法のいずれかを使って、出力変数を指定できます。

-all が、この型で使われる場合、出力 s は、常に、文字列のセル配列になります。これは、文字列が一つの場合でもセル配列になります。

例題

つぎのステートメントの最初の部分は、inv が組み込み関数であることを表しています。2番目のものは、pinv が、MATLAB Toolbox の matfun ディレクトリの中に位置することを示しています。

MATLAB serial クラスオブジェクト上で使われる関数 fopen を検出されには、つぎのようにします。

Java Frame クラスのオブジェクト上で使われている setTitle メソッドを検出するには、クラスは、MATLAB の中に最初にロードされている必要があります。クラスは、クラスに代わるものを作成するときに、ロードされます。

つぎの例題は、which fun(a,b,c,...) の型を使います。which から戻る応答は、関数 feval の引数に依存します。fun が、関数ハンドルの場合、MATLAB は、組み込みの feval を使って、関数を計算します。

fun が、inline 関数の場合、MATLAB は、inline クラスの feval メソッドを使って、関数を計算します。

出力引数を設定する場合、which は、変数に文字列のセル配列を戻します。括弧とシングルコートで、すべての引数を括る場合は、whichfunction 関数を使う必要があります。

参考

dir, doc, exist, lookfor, path, type, what, who


 whatsnew while