Documentation

This is machine translation

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

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

whos

List variables in workspace, with sizes and types

Syntax

Description

example

whos lists in alphabetical order the names, sizes, and types of all variables in the currently active workspace.

example

whos -file filename lists variables in the specified MAT-file.

whos global lists variables in the global workspace.

example

whos ___ variables lists only the specified variables. You can specify variables with any of the arguments in the previous syntaxes.

example

S = whos(___) stores information about the variables in the structure array S.

    Note:   You must use the functional form of whos when there is an output argument.

Examples

collapse all

Display information about specific variables in the current workspace. For example, list information about variables with names that start with the letter a.

whos a*

Now, list information about variables with names that end with ion.

whos -regexp ion$

Display all the information on the variables stored in the sample MAT-file durer.mat.

whos -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.

show_attributes
  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);
 
date_time_array = strsplit(date_time,{'-',''});
get_date(date_time_array);

   function get_date(d)
      day = d{1};
      mon = d{2};
      year = d{3};
      keyboard
   end

end

Run whos_demo. MATLAB® pauses at the line with the keyboard command.

whos_demo
K>> 

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.

K>> whos
Name                 Size            Bytes  Class    Attributes

  ---- whos_demo/get_date ---------------------------------------
  d                    1x3               372  cell               
  day                  1x2                 4  char               
  mon                  1x3                 6  char               
  year                 1x13               26  char               

  ---- whos_demo ------------------------------------------------
  date_time            1x20               40  char               
  date_time_array      1x3               372  cell               

Input Arguments

collapse all

Variables to display, specified as one or more character vectors in one of the following forms.

Form of Variables InputVariable Names
var1 ... varNList the named variables, specified as individual character vectors.
Use the '*' wildcard to match patterns. For example, whos A* lists all variables in the workspace that start with A.
-regexp expr1 ... exprNList only the variables that match the regular expressions, specified as character vectors. For example, whos -regexp ^Mon ^Tues lists only the variables in the workspace that begin with Mon or Tues.

Name of MAT-file, specified as a character vector. The file name can include the full, relative, or partial path. For example, whos -file myFile.mat lists all variables in the MAT-file named myFile.mat. The whos -file filename command does not return the sizes of any MATLAB objects in file filename.

Output Arguments

collapse all

Variable information, returned as a nested structure array containing a scalar struct for each variable. Each scalar struct contains these fields.

FieldDescription

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

  • You also can view the contents of MAT-files using the Details Panel of the Current Folder browser.

See Also

| | |

Introduced before R2006a

Was this topic helpful?