кто

Перечислите переменные в рабочей области с размерами и типами

Синтаксис

whos
whos -file filename
whos global
whos ___ variables
S = whos(___)

Описание

пример

whos списки в алфавитном порядке имена, размеры и типы всех переменных в в настоящее время активной рабочей области.

пример

whos -file filename переменные списков в заданном MAT-файле.

whos global переменные списков в глобальной рабочей области.

пример

whos ___ variables списки только заданные переменные. Можно задать variables с любым из аргументов в предыдущих синтаксисах.

пример

S = whos(___) хранит информацию о переменных в массиве структур S.

Примечание

Необходимо использовать функциональную форму whos, когда существует выходной аргумент.

Примеры

свернуть все

Отобразите информацию об определенных переменных в текущей рабочей области. Например, перечислите информацию о переменных с именами, которые начинают с буквы a.

whos a*

Теперь, перечислите информацию о переменных с именами тот конец с ion.

whos -regexp ion$

Отобразите всю информацию о переменных, сохраненных в демонстрационном MAT-файле durer.mat.

whos -file durer.mat
  Name           Size               Bytes  Class     Attributes

  X            648x509            2638656  double              
  caption        2x28                 112  char                
  map          128x3                 3072  double              

Храните информацию о переменных в durer.mat в массиве структур S.

S = whos('-file','durer.mat');

Отобразите содержимое 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

Создайте переменные с различными атрибутами, и затем отобразите информацию о них.

Создайте файл, show_attributes.m, который содержит эти операторы.

function show_attributes
persistent p;
global g;
p = 1;
g = 2;
s = sparse(eye(5));
c = [4+5i 9-3i 7+6i];
whos

Вызовите show_attributes. Когда MATLAB® выполняет команду whos в конце show_attributes, это перечисляет каждую переменную и ее соответствующий атрибут.

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    

Перечислите все переменные в текущей рабочей области, в то время как приостановлено во вложенной функции.

Создайте файл, whos_demo.m, который содержит эти операторы.

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

Запустите whos_demo. MATLAB® делает паузу в строке с командой keyboard.

whos_demo
K>> 

Вызовите функцию whos. MATLAB отображает переменные во вложенной функции get_date и переменные во всех функциях, которые содержат вложенную функцию, сгруппированную функциональной рабочей областью.

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

Входные параметры

свернуть все

Переменные, чтобы отобразиться, заданный как один или несколько векторов символов или скаляров строки в одной из следующих форм.

Форма входа VariablesИмена переменных
var1 ... varNПеречислите именованные переменные, заданные как векторы отдельного символа, или представьте скаляры в виде строки.
Используйте подстановочный знак '*', чтобы совпадать с шаблонами. Например, whos A* перечисляет все переменные в рабочей области, которые запускаются с A.
-regexp expr1 ... exprNПеречислите только переменные, которые совпадают с регулярными выражениями, заданными как векторы символов, или представляют скаляры в виде строки. Например, whos -regexp ^Mon ^Tues перечисляет только переменные в рабочей области, которые начинаются с Mon или Tues.

Типы данных: char | string

Имя MAT-файла, заданного как вектор символов или скаляр строки. Имя файла может включать весь, относительный, или частичный путь. Например, whos -file myFile.mat перечисляет все переменные в MAT-файле под названием myFile.mat. Команда whos -file filename не возвращает размеры никаких объектов MATLAB в файле filename.

Типы данных: char | string

Выходные аргументы

свернуть все

Переменная информация, возвращенная как вложенный массив структур, содержащий скалярный struct для каждой переменной. Каждый скалярный struct содержит эти поля.

Поле Описание

name

Имя переменной.

size

Размерности переменного массива.

bytes

Количество байтов выделяется для переменного массива.

whos возвращает количество байтов, которые каждая переменная занимает в рабочей области, которая является не обязательно тем же самым как количеством байтов, которые каждая переменная занимает в MAT-файле. Версия 7 MAT-файлов и позже сжата, таким образом, количество байтов, требуемых в рабочей области, обычно больше, чем количество байтов в файле.

whos не сообщает о количестве байтов, использованных объектами указателя. Если переменная содержит объекты указателя, количество байтов, которые функция whos отображает для переменной силы, меньше, чем ожидалось.

class

Класс переменной. Если переменная не имеет никакого значения, классом является '(unassigned)'.

global

true, если переменная является глобальной переменной.

sparse

true, если переменная разреженна.

complex

true, если переменная является комплексной.

nesting

Структура с этими полями:

  • функция Имя вложенной или внешней функции, которая задает переменную.

  • level — Уровень вложенности этой функции.

persistent

true, если переменная является персистентной.

Альтернативы

  • Также можно просмотреть содержимое MAT-файлов с помощью Панели Деталей Браузера текущей папки.

Представлено до R2006a