This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Check existence of variable, script, function, folder, or class


exist name
exist name searchType
A = exist(___)



exist name returns the type of name as a number. This list describes the type associated with each value:

  • 0 — name does not exist or cannot be found for other reasons. For example, if name exists in a restricted folder to which MATLAB® does not have access, exist returns 0.

  • 1 — name is a variable in the workspace.

  • 2 — name is a file with extension .m, .mlx, or .mlapp, or name is the name of a file with a non-registered file extension (.mat, .fig, .txt).

  • 3 — name is a MEX-file on your MATLAB search path.

  • 4 — name is a loaded Simulink® model or a Simulink model or library file on your MATLAB search path.

  • 5 — name is a built-in MATLAB function. This does not include classes.

  • 6 — name is a P-code file on your MATLAB search path.

  • 7 — name is a folder.

  • 8 — name is a class. (exist returns 0 for Java classes if you start MATLAB with the -nojvm option.)

MATLAB searches starting at the top of the search path, and moving down until a result is found or the last folder on the path is reached. If more than one name exists in a folder, MATLAB displays the first instance of name, according to the Function Precedence Order. Folders are an exception to the function precedence rules. They have precedence over all types except for variables.

For example, if name matches both a file with a .m extension and a P-code file, then exist returns 6, identifying it as a P-code file. If name matches both a variable and a P-code file, exists returns 1, identifying it as a variable. If name matches both a folder and a MATLAB function, exist returns 7, identifying it as a folder.


exist name searchType returns the type of name, restricting results to the specified type, searchType. If name of type searchType does not exist, MATLAB returns 0.


A = exist(___) returns the type of name to A.


collapse all

Create a variable named testresults, and then confirm its existence in the workspace.

testresults = magic(5);
exist testresults
ans = 1

A variable named testresults exists in the workspace.

Create the folder myfolder, and then check its existence as a folder.

mkdir myfolder;
exist myfolder dir
ans = 7

If you specify the type as file, MATLAB® searches for both files and folders, therefore returning the same result.

exist myfolder file
ans = 7

Check whether the plot function is a built-in function or a file.

A = exist('plot')
A = 5

This indicates that plot is a built-in MATLAB function.

Input Arguments

collapse all

Name of variable, script, function, folder, or class, specified as a character vector or string scalar. name can include a partial path, but must be in a folder directly on the search path (subfolders are not searched), or in the current folder. Otherwise, name must include a full path.

If name specifies a file with a non-registered file extension (.mat, .fig, .txt), include the extension. You can also include an extension to prevent conflict with other similar file names. For example, exist file.txt or exist("file.txt").


MATLAB does not examine the contents or internal structure of a file and relies solely on the file extension for classification.

Data Types: char | string

Type of results to search for, specified as one of these values:

searchTypeDescriptionPossible Return Values


Checks only for built-in functions.

5, 0


Checks only for classes.

8, 0


Checks only for folders.

7, 0


Checks only for files or folders.

2, 3, 4, 6, 7, 0


Checks only for variables.

1, 0

Alternative Functionality

  • To check the existence of a file or folder, you also can use the isfolder or isfile functions. exist searches for files and folders on the search path, which can lead to unexpected results. isfolder and isfile search for files or folders only on the specified path or in the current folder, which can lead to clearer and faster results.

Introduced before R2006a