(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函數 是固定的.

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

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

See Also

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


  whatsnew   while