MATLAB Function Reference |
Graphical
Interface
可以用現行目錄瀏覽器( Current Directory browser)取代 which . 要開啟它, 在 MATLAB 桌面中的檢視(View)選單中選擇現行目錄 (Current Directory).
Syntax
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',...)
Description
which fun
將參數 fun
的完整路徑顯示出來.假若
fun
是
which
將顯示所對應檔案的完整路徑
which
會顯示一個訊息來表明參數 fun
是工作變數或是固定的函數
which
將顯示此方法的包裝(Package),類別及方法名稱若參數 fun
是個重載(overloaded)的函數或方法, 則 which
fun
將只會送回第一個找到的函數或方法的路徑名稱.
which classname/fun
顯示MATLAB類別的
classname 中以 .m 為副檔名的 fun 方法的完整路徑名稱 ,
舉例來說, 鍵入
which
serial/fopen
將顯示 fopen.m
的路徑, 而此路徑在MATLAB的 serial
類別目錄裡, .
which
限制私用函數的搜尋. 舉例來說, 鍵入 private
/fun which
private/orthog
將顯示在 toolbox\matlab\elmat
子目錄下的\private
目錄下的orthog.m
路徑.
which classname/
限制以 MATLAB 類別 classname 定義的私用方法的搜尋. 舉例來說, private
/fun which
dfilt/private/todtf
將顯示 dfilt
類別中私有目錄的todtf.m
路徑.
which fun1
顯示在 fun2.m 內容中,函數in
fun2 fun1
的路徑名稱 . 由此形式可以決定是否
fun1
的子函數或私有版本(private
version) 是由 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
若檔案在現行工作目錄或是在MATLAB路徑時,將顯示某特定檔案的完整路徑名稱.
利用exist
指令可確定所有檔案的存在位置.
which fun
顯示所有名為 -all
fun
的 MATLAB 路徑. 在送回表單中的第一個物件通常和使用 which
fun
所得到的答案相同.
而其他的物件不是相似的就是可以以特殊方法執行. 而 -all
可用在相同格式的which
函數上.
s = which('fun',...)
將送回
which
結果, 以字串 s
的形式. 不論是固定函數或工作變數, s
將分別為"固定
"
或 "變數
". 用以上的 which
函數格式, 你將可檢視輸出的變數為何 .
若 -all
用此形式, 則輸出 s
將會是字串的異質陣列(cell
array),即使只有一個字串被送回.
Examples
底下的說明顯示了 inv
是固定的函數. 第二個說明顯示 pinv
是在MATLAB Toolbox 的matfun
目錄下 .
which inv inv is a built-in function. which pinv matlabroot\toolbox\matlab\matfun\pinv.m
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 % Frame method
下面的例子用 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 評估feval
方法是在inline
類別中.
fun = inline('abs(x)'); which feval(fun,-2.5) matlabroot\toolbox\matlab\funfun\@inline\feval.m % inline method
當你確定輸出變數時, which
將會傳回變數的字串細胞陣列. 你用的 which
函數
形式, 將所有參數放入括號和單引號中.
s = which('private/stradd','-all'); whos s Name Size Bytes Class s 3x1 562 cell array Grand total is 146 elements using 562 bytes
See
Also
dir
, doc
,
exist
, lookfor
,
path
, type
,
what
, who
whatsnew | while |