Main Content

Scope Variables and Generate Names

Share data between functions or workspaces, generate valid variable names

Each function has its own workspace, which is separate from the base workspace that is reserved for scripts and the command line. For the preferred ways to pass data between functions, see Share Data Between Workspaces.

Functions

expand all

persistentDefine persistent variable
assigninAssign value to variable in specified workspace
globalDeclare variables as global
mlockPrevent clearing function or script from memory
munlockAllow clearing function or script from memory
mislockedDetermine if function or script is locked in memory
matlab.lang.WorkspaceStore workspace variables (Since R2025a)
matlab.lang.Workspace.baseWorkspaceStore variables from base workspace (Since R2025a)
matlab.lang.Workspace.currentWorkspaceStore variables from current workspace (Since R2025a)
matlab.lang.Workspace.globalWorkspaceStore variables from global workspace (Since R2025a)
variablesInformation about workspace variables (Since R2025a)
variableNamesNames of variables in workspace (Since R2025a)
evaluateAndCaptureEvaluate MATLAB code in specified workspace (Since R2025a)
isvarnameDetermine if input is valid variable name
matlab.lang.makeUniqueStringsConstruct unique strings from input strings
matlab.lang.makeValidNameConstruct valid MATLAB identifiers from input strings
namelengthmaxMaximum identifier length

Topics

Troubleshooting

Resolve Error: Attempt to Add Variable to a Static Workspace.

Troubleshoot errors when attempting to add variables to nested and anonymous functions. Variables used within nested and anonymous functions must be present in the text of the code. If you add a variable to the workspace of an anonymous function, a nested function, or a function that contains a nested function dynamically, MATLAB issues an error.