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_demo. MATLAB® паузы на линии с keyboard команда.

whos_demo
K>> 

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

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. whos -file filename команда не возвращает размеры объектов MATLAB в файловой filename.

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

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

свернуть все

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

ОбластьОписание

name

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

size

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

bytes

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

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

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

class

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

global

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

sparse

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

complex

true если переменная комплексная.

nesting

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

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

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

persistent

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

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

  • Можно также просмотреть содержимое MAT-файлов с помощью панели «Сведения» браузера текущей папки. Панель «Сведения» недоступна в Online™ MATLAB.

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