MATLAB Function Reference | ![]() ![]() |
グラフィカルインタフェース
関数 which
の別な使い方は、Current Directory browser を使うものです。これをオープンするには、MATLAB の ビュー(View) から カレントディレクトリ(Current Directory) を選択します。
表示
which fun which classname/fun whichprivate
/fun which classname/private
/fun which fun1in
fun2 which fun(a,b,c,...) which file.ext which fun-all
s = which('fun',...)
詳細
which fun
は、引数 fun
に関する絶対パスを表示します。fun
は、条件により、which
の出力は、変わります。
which
は、対応するファイルの絶対パスを表示します。which
は、変数、または、組み込み関数として、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
のサブディレクトリ\private
の orthog.m
のパスを表示します。
which classname/
は、MATLAB クラス private
/fun
classname
で定義されるプライベートメソッドに探索の範囲を制限します。たとえば、which
dfilt/private/todtf
は、dfilt
クラスの private
ディレクトリの todtf.m
に対するパスを表示します。
which fun1
は、M-ファイル in
fun2
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
ディレクトリの中に位置することを示しています。
which inv inv is a built-in function. which pinv matlabroot\toolbox\matlab\matfun\pinv.m
MATLAB serial
クラスオブジェクト上で使われる関数 fopen
を検出されには、つぎのようにします。
which serial/fopen matlabroot\toolbox\matlab\iofun\@serial\fopen.m % serial method
Java Frame
クラスのオブジェクト上で使われている setTitle
メソッドを検出するには、クラスは、MATLAB の中に最初にロードされている必要があります。クラスは、クラスに代わるものを作成するときに、ロードされます。
frameObj = java.awt.Frame; which setTitle java.awt.Frame.setTitle % フレームメソッド
つぎの例題は、which
fun(a,b,c,...)
の型を使います。which
から戻る応答は、関数 feval
の引数に依存します。fun
が、関数ハンドルの場合、MATLAB は、組み込みの feval
を使って、関数を計算します。
fun = @abs; which feval(fun,-2.5) feval is a built-in function.
fun
が、inline
関数の場合、MATLAB は、inline
クラスの feval
メソッドを使って、関数を計算します。
fun = inline('abs(x)'); which feval(fun,-2.5) matlabroot\toolbox\matlab\funfun\@inline\feval.m % インラインメソッド
出力引数を設定する場合、which
は、変数に文字列のセル配列を戻します。括弧とシングルコートで、すべての引数を括る場合は、which
の function 関数を使う必要があります。
s = which('private/stradd','-all'); whos s Name Size Bytes Class s 3x1 562 cell array Grand total is 146 elements using 562 bytes
参考
dir
, doc
, exist
, lookfor
, path
, type
, what
, who
![]() | whatsnew | while | ![]() |