whos

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

Описание

пример

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

пример

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

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

пример

whos ___ var1 ... varN списки только заданные переменные. Используйте этот синтаксис с любым из аргументов в предыдущих синтаксисах.

пример

whos ___ -regexp expr1 ... exprN списки только переменные, которые совпадают с заданными регулярными выражениями.

пример

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_demoMATLAB® делает паузу в линии с 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               

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

свернуть все

Переменные, чтобы отобразиться в виде одного или нескольких векторов символов или строковых скаляров. Используйте '*' подстановочный знак, чтобы совпадать с шаблонами. Например, whos A* S* перечисляет имена всех переменных в рабочей области, которые запускаются с A или S.

Регулярные выражения, которые задают переменные, чтобы отобразиться в виде одного или нескольких векторов символов или строковых скаляров. Например, whos -regexp ^Mon ^Tues списки только имена переменных в рабочей области, которые начинаются с Mon или Tues. Для получения дополнительной информации о создании регулярных выражений, смотрите Регулярные выражения.

Имя MAT-файла в виде вектора символов или строкового скаляра. Имя файла может включать весь, относительный, или частичный путь. Например, whos -file myFile.mat списки все переменные в MAT-файле под названием myFile.mat. Кто - файл 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

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

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

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

persistent

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

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

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

Расширенные возможности

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