Locate functions and files
collapse all in page
Syntax
which item
which fun1 in fun2
which ___ -all
str = which(item)
str = which(fun1,'in',fun2)
str = which(___,'-all')
Description
example
which item
displays the full path for item
.
If
item
is a MATLAB® function in a MATLAB code file (.m
,.mlx
, or.p
extension), or a saved Simulink® model (.slx
or.mdl
extension), thenwhich
displays the full path for the corresponding file.item
must be on the MATLAB path.If
item
is a method in a loaded Java® class, thenwhich
displays the namespace, class, and method name for that method.If
item
is a workspace variable,thenwhich
displays a message identifyingitem
asa variable.If
item
is an unsaved Simulink model that is loaded in Simulink, thenwhich
displays a message identifyingitem
as a new Simulink model.If
item
is a file name includingthe extension, and it is in the current working folder or on the MATLAB path,thenwhich
displays the full path ofitem
.
If item
is an overloaded function or method,then which
item
returns onlythe path of the first function or method found.
example
which fun1 in fun2
displaysthe path to function fun1
that is called by file fun2
.Use this syntax to determine whether a local function is being calledinstead of a function on the path. This syntax does not locate nestedfunctions.
example
which ___ -all
displays the paths to all items on the MATLAB path with the requested name, as well as any files in special folders that have been implicitly added to the path. Such items include methods of instantiated classes. For more information about these special folders, see What Is the MATLAB Search Path. You can use -all
with the input arguments of any of the previous syntaxes.
example
str = which(item)
returnsthe full path for item
to str
.
example
str = which(fun1,'in',fun2)
returnsthe path to function fun1
that is called by file fun2
.Use this syntax to determine whether a local function is being calledinstead of a function on the path. This syntax does not locate nestedfunctions.
example
str = which(___,'-all')
returnsthe results of which
to str
.You can use this syntax with any of the input arguments in the previoussyntax group.
Examples
collapse all
Locate MATLAB Function
Locate the pinv
function.
matlabroot\toolbox\matlab\matfun\pinv.m
pinv
is in the matfun
folderof MATLAB.
You also can use function syntax to return the path to str
.When using the function form of which
, encloseall input arguments in single quotes.
str = which('pinv');
Locate Method in a Loaded Java Class
Open Live Script
Create an instance of the Java® class. This loads the class into MATLAB®.
myDate = java.util.Date;
Locate the setMonth
method.
which setMonth
setMonth is a Java method % java.util.Date method
Locate Private Function
Find the orthog
functionin a private folder.
which private/orthog
matlabroot\toolbox\matlab\elmat\private\orthog.m % Private to elmat
MATLAB displays the path for orthog.m
inthe /private
subfolder of toolbox/matlab/elmat
.
Determine If Local Function Is Called
Determine which parseargs
functionis called by area.m
.
which parseargs in area
matlabroot\toolbox\matlab\specgraph\area.m (parseargs) % Local function of area
You also can use function syntax to return the path to str
.When using the function form of which
, encloseall input arguments in single quotes.
str = which('parseargs','in','area');
Locate Function Invoked with Given Input Arguments
Suppose that you have a matlab.io.MatFile
object that corresponds to the example MAT-file 'topography.mat'
:
matObj = matfile('topography.mat');
Display the path of the implementation of who
thatis invoked when called with the input argument (matObj)
.
which who(matObj)
matlabroot\toolbox\matlab\iofun\+matlab\+io\MatFile.m % matlab.io.MatFile method
Store the result to the variable str
.
str = which('who(matObj)')
str =matlabroot\toolbox\matlab\iofun\+matlab\+io\MatFile.m'
If you do not specify the input argument (matObj)
,then which
returns only the path of the first functionor method found.
which who
built-in (matlabroot\toolbox\matlab\general\who)
Locate All Items with Given Name
Display the paths to all items on the MATLAB path with the name openedFiles
.
which openedFiles
built-in (matlabroot\toolbox\matlab\iofun\openedFiles)
Return Path Names
Open Live Script
Return the results of which
to str
.
Find the orthog
function in a private folder. You must use the function form of which
, enclosing all arguments in parentheses and single quotes.
str = which('private/orthog','-all');whos str
Name Size Bytes Class Attributes str 1x1 314 cell
Input Arguments
collapse all
item
— Function or file to locate
character vector | string scalar
Function or file to locate, specified as a character vector or string scalar. When using the function form of which
, enclose all item
inputs in single or double quotes. item
can be in one of the following forms.
Form of the item Input | Path to Display |
---|---|
| Display full path for To display the path for a file that has no file extension, type |
/ | Limit the search to functions named |
private/ | Limit the search to private functions named fun .For example, which private/orthog or which('private/orthog') displaysthe path for orthog.m in the /private subfolderof the parent folder. |
| Display the path to the implementation of function fun which would be invoked if called with the input arguments a1,...,an . Use this syntax to query overloaded functions. See the example, Locate Function Invoked with Given Input Arguments. |
Data Types: char
| string
fun1
— Function to locate
character vector | string scalar
Function to locate, specified as a character vector or string scalar. fun1
can be the name of a function, or it can be in the form fun(a1,...,an)
. For more information about the form, fun(a1,...,an)
, see Locate Function Invoked with Given Input Arguments.
When using the function form of which
, enclose all fun1
inputs in single or double quotes, for example, which('myfun1','in','myfun2')
.
Data Types: char
| string
fun2
— Calling file
character vector | string scalar
Calling file, specified as a character vector or string scalar. fun2
can be the name of a file, or it can be in the form fun(a1,...,an)
. For more information about the form, fun(a1,...,an)
, see Locate Function Invoked with Given Input Arguments.
When using the function form of which
, enclose all fun2
inputs in single or double quotes, for example, which('myfun1','in','myfun2')
.
Data Types: char
| string
Output Arguments
collapse all
str
— Function or file location
character vector | cell array of character vectors
Function or file location, returned as a character vector or cell array of character vectors if you use '-all'
.
If
item
is a workspace variable, thenstr
is the character vector'variable'
.If
str
is a cell array of character vectors, then each row ofstr
identifies a result ofwhich
. The results are ordered according to the Function Precedence Order. If there are shadowed results, you should not rely on the order of the shadowed functions and methods instr
. To determine if a result is shadowed, callwhich
without specifyingstr
.which
indicates shadowed results by the comment% Shadowed
.
Limitations
When the class is not loaded,
which
only finds methods if they are defined in separate files in an @-folder and are not in any namespaces.
Tips
For more information about how MATLAB uses scopeand precedence when calling a function, see Function Precedence Order.
Extended Capabilities
Thread-Based Environment
Run code in the background using MATLAB® backgroundPool
or accelerate code with Parallel Computing Toolbox™ ThreadPool
.
This function fully supports thread-based environments. For more information, see Run MATLAB Functions in Thread-Based Environment.
Version History
Introduced before R2006a
See Also
dir | doc | exist | lookfor | mfilename | path | type | what | who | fileparts
Topics
- What Is the MATLAB Search Path?
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- Deutsch
- English
- Français
- United Kingdom (English)
Contact your local office