Locate functions and files - MATLAB which (2024)

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), then which 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, then which displays the namespace, class, and method name for that method.

  • If item is a workspace variable,then which displays a message identifying item asa variable.

  • If item is an unsaved Simulink model that is loaded in Simulink, then which displays a message identifying item 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,then which displays the full path of item.

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

itemFunction 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 InputPath to Display
fun

Display full path for fun, which canbe a MATLAB function, Simulink model, workspace variable,method in a loaded Java class, or file name that includes thefile extension.

To display the path for a file that has no file extension, type which file. (The period following the file name is required). Use exist to check for the existence of files anywhere else.

/fun

Limit the search to functions named fun thatare on the search path. For example, which /myfunction displaysthe full path for function myfunction.m, but notbuilt-in or JAVA functions with the same name.

private/funLimit 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.

fun(a1,...,an)

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

fun1Function 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

fun2Calling 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, then str is the character vector 'variable'.

  • If str is a cell array of character vectors, then each row of str identifies a result of which. 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 in str. To determine if a result is shadowed, call which without specifying str. 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

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.

Locate functions and files - MATLAB which (1)

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)

Asia Pacific

Contact your local office

Locate functions and files - MATLAB which (2024)
Top Articles
Latest Posts
Article information

Author: Tyson Zemlak

Last Updated:

Views: 6616

Rating: 4.2 / 5 (63 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Tyson Zemlak

Birthday: 1992-03-17

Address: Apt. 662 96191 Quigley Dam, Kubview, MA 42013

Phone: +441678032891

Job: Community-Services Orchestrator

Hobby: Coffee roasting, Calligraphy, Metalworking, Fashion, Vehicle restoration, Shopping, Photography

Introduction: My name is Tyson Zemlak, I am a excited, light, sparkling, super, open, fair, magnificent person who loves writing and wants to share my knowledge and understanding with you.