whos - List variables in workspace, with sizes and types - MATLAB (original) (raw)
List variables in workspace, with sizes and types
Syntax
Description
whos
lists in alphabetical order the names, sizes, and types of all variables in the currently active workspace.
whos -file [filename](#btngexw-1-filename)
lists variables in the specified MAT-file.
Note
Security Considerations: Thewhos -file
command might execute code contained in the MAT-file as it inspects the file. Avoid calling whos -file
on untrusted MAT-files.
whos global
lists variables in the global workspace.
whos ___ [var1 ... varN](#mw%5F9c437f83-26cb-42e2-9aae-2ee43dc8f67d)
lists only the specified variables. Use this syntax with any of the arguments in the previous syntaxes.
whos ___ -regexp [expr1 ... exprN](#mw%5F81c20e36-1c9d-4809-899d-b2b918a1278e)
lists only the variables that match the specified regular expressions.
[S](#btngexw-1-S) = whos(___)
stores information about the variables in the structure array S
.
Examples
Display information about specific variables in the current workspace. For example, list information about variables with names that start with the letter a
.
Now, list information about variables with names that end with ion
.
Display all the information on the variables stored in the sample MAT-file durer.mat
.
Name Size Bytes Class Attributes
X 648x509 2638656 double
caption 2x28 112 char
map 128x3 3072 double
Store information about the variables in durer.mat
in structure array S
.
S = whos('-file','durer.mat');
Display the contents of S
.
for k = 1:length(S) disp([' ' S(k).name ... ' ' mat2str(S(k).size) ... ' ' S(k).class]); end
X [648 509] double caption [2 28] char map [128 3] double
Create variables with various attributes, and then display information about them.
Create a file, show_attributes.m
, that contains these statements.
function show_attributes persistent p; global g; p = 1; g = 2; s = sparse(eye(5)); c = [4+5i 9-3i 7+6i]; whos
Call show_attributes
. When MATLAB® executes the whos
command at the end of show_attributes
, it lists each variable and its corresponding attribute.
Name Size Bytes Class Attributes
c 1x3 48 double complex
g 1x1 8 double global
p 1x1 8 double persistent
s 5x5 128 double sparse
List all the variables in the current workspace while paused in a nested function.
Create a file, whos_demo.m
, that contains these statements.
function whos_demo date_time = datestr(now,'dd-mmm-yyyy');
date_time_array = strsplit(date_time,{'-',''}); get_date(date_time_array);
function get_date(d) day = d{1}; %#ok<*NASGU> mon = d{2}; year = d{3}; keyboard end
end
Run whos_demo
. MATLAB® pauses at the line with the keyboard
command.
Call the whos
function. MATLAB displays the variables in the nested get_date
function, and the variables in all functions that contain the nested function, grouped by function workspace.
Name Size Bytes Class Attributes
---- whos_demo/get_date ---------------------------------------
d 1x3 354 cell
day 1x2 4 char
mon 1x3 6 char
year 1x4 8 char
---- whos_demo ------------------------------------------------
date_time 1x11 22 char
date_time_array 1x3 354 cell
Input Arguments
Variables to display, specified as one or more character vectors or string scalars. Use the '*'
wildcard to match patterns. For example, whos A* S*
lists the names of all the variables in the workspace that start with A
orS
.
Regular expressions that define the variables to display, specified as one or more character vectors or string scalars. For example, whos -regexp ^Mon ^Tues
lists only the variable names in the workspace that begin with Mon
or Tues
. For more information about creating regular expressions, see Regular Expressions.
Name of MAT-file, specified as a character vector or string scalar. The file name can include the full, relative, or partial path. For example, whos -file myFile.mat
lists all variables in the MAT-file namedmyFile.mat
. The whos -file_`filename`_
command does not return the sizes of any MATLAB objects in file filename
.
Data Types: char
| string
Output Arguments
Variable information, returned as a nested structure array containing a scalar struct
for each variable. Each scalar struct
contains these fields.
Field | Description |
---|---|
name | Name of the variable. |
size | Dimensions of the variable array. |
bytes | Number of bytes allocated for the variable array.whos returns the number of bytes each variable occupies in the workspace, which is not necessarily the same as the number of bytes each variable occupies in a MAT-file. MAT-files Version 7 and later are compressed, so the number of bytes required in the workspace is typically larger than the number of bytes in the file.whos does not report the number of bytes consumed by handle objects. If a variable contains handle objects, the number of bytes that the whos function displays for the variable might be smaller than expected. |
class | Class of the variable. If the variable has no value, class is '(unassigned)'. |
global | true if the variable is global. |
sparse | true if the variable is sparse. |
complex | true if the variable is complex. |
nesting | Structure with these fields:function — Name of the nested or outer function that defines the variable.level — Nesting level of that function. |
persistent | true if the variable is persistent. |
Alternatives
- Preview the contents of MAT-files by clicking the Preview button to the right of the file in the Files panel.
Extended Capabilities
The whos
function fully supports GPU arrays. To run the function on a GPU, specify the input data as a gpuArray (Parallel Computing Toolbox). For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Version History
Introduced before R2006a
The whos
function returns a more accurate array size measurement in the Bytes
column of the displayed list and in thebytes
field of the output structure.