(translator=PoChien, ChineseSource=PoChien-20020706-13\which.html, EnglishSource=c:\matlabr12\help\techdoc\ref\which.html)
MATLAB Function Reference    
which

找出函數和檔案的所在

Graphical Interface

可以用現行目錄瀏覽器( Current Directory browser)取代 which . 要開啟它, 在 MATLAB 桌面中的檢視(View)選單中選擇現行目錄 (Current Directory).

Syntax

Description

which fun 將參數 fun的完整路徑顯示出來.假若 fun

若參數 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/private/fun 限制以 MATLAB 類別 classname 定義的私用方法的搜尋. 舉例來說, which dfilt/private/todtf 將顯示 dfilt 類別中私有目錄的todtf.m路徑.

which fun1 in fun2 顯示在 fun2.m 內容中,函數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目錄下 .

要找到在MATLAB serial類別下的 fopen函數

要找出 Java Frame類別下的setTitle 方法, 而此類別必需先被載入到 MATLAB 中. 這個類別將會被載入當你作出對這個類別的要求時.

下面的例子用 which fun(a,b,c,...)表示. which的結果由 feval函數所用的引數而有所不同. 當fun函數被處理時, MATLAB 評估 feval函數 是固定的.

funinline 函數時, MATLAB 評估feval方法是在inline類別中.

當你確定輸出變數時, which將會傳回變數的字串細胞陣列. 你用的 which函數 形式, 將所有參數放入括號和單引號中.

See Also

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


  whatsnew   while