| MATLAB Function Reference | ![]() |
Remove items from workspace, freeing up system memory
Graphical Interface
As an alternative to the clear function, use Clear Workspace in the MATLAB desktop Edit menu, or in the context menu in the Workspace browser.
Syntax
clear
clear name
clear name1 name2 name3 ...
clear global name
clear keyword
clear('name1','name2','name3',...)
Description
clear
removes all variables from the workspace. This frees up system memory.
clear name
removes just the M-file or MEX-file function or variable name from the workspace. You can use wildcards (*) to remove items selectively. For example, clear my* removes any variables whose names begin with the string my. It removes debugging breakpoints in M-files and reinitializes persistent variables, since the breakpoints for a function and persistent variables are cleared whenever the M-file is changed or cleared. If name is global, it is removed from the current workspace, but left accessible to any functions declaring it global. If name has been locked by mlock, it remains in memory.
Use a partial path to distinguish between different overloaded versions of a function. For example, clear inline/display clears only the display method for inline objects, leaving any other implementations in memory.
clear name1 name2 name3 ...
removes name1, name2, and name3 from the workspace.
clear global name
removes the global variable name. If name is global, clear name removes name from the current workspace, but leaves it accessible to any functions declaring it global. Use clear global name to completely remove a global variable.
clear clears the items indicated by keyword
keyword.
clear('name1','name2','name3',...)
is the function form of the syntax. Use this form when the variable name or function name is stored in a string.
Remarks
When you use clear in a function, it has the following effect on items in your function and base workspaces:
clear name--If name is the name of a function, the function is cleared in both the function workspace and in your base workspace.
clear functions--All functions are cleared in both the function workspace and in your base workspace.
clear global--All global variables are cleared in both the function workspace and in your base workspace.
clear all--All functions, global variables, and classes are cleared in both the function workspace and in your base workspace.
Limitations
clear does not affect the amount of memory allocated to the MATLAB process under UNIX.
Examples
Given a workspace containing the following variables
Name Size Bytes Class c 3x4 1200 cell array frame 1x1 java.awt.Frame gbl1 1x1 8 double array (global) gbl2 1x1 8 double array (global) xint 1x1 1 int8 array
you can clear a single variable, xint, by typing
To clear all global variables, type
To clear all compiled M- and MEX-functions from memory, type clear functions. In the case shown below, clear functions was unable to clear one M-file function from memory, testfun, because the function is locked.
clear functions % Attempt to clear all functions.inmemans = 'testfun' % One M-file function remains in memory.mislockedtestfun ans = 1 % This function is locked in memory.
Once you unlock the function from memory, you can clear it.
munlock testfun
clear functions
inmem
ans =
Empty cell array: 0-by-1
See Also
clc, close, import, mlock, munlock, pack, persistent, who, whos
| clc | clear (serial) | ![]() |