Перечислите переменные в рабочей области с размерами и типами
whos
whos -file filename
whos global
whos ___ variables
S = whos(___)
whos
перечисляет в алфавитном порядке имена, размеры и типы всех переменных в в настоящее время активной рабочей области.
перечисляет переменные в заданном MAT-файле.whos -file filename
whos global
перечисляет переменные в глобальной рабочей области.
хранит информацию о переменных в массиве структур 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 . |
| Перечислите только переменные, которые совпадают с регулярными выражениями, заданными как векторы символов, или представляют скаляры в виде строки. Например, whos -regexp ^Mon ^Tues перечисляет только переменные в рабочей области, которые начинаются с Mon или Tues . |
Типы данных: char | string
fileName
Имя MAT-файлаИмя MAT-файла, заданного как вектор символа или скаляр строки. Имя файла может включать весь, относительный, или частичный путь. Например, whos -file myFile.mat
перечисляет все переменные в MAT-файле под названием myFile.mat
. Команда
не возвращает размеры никаких объектов MATLAB в файле whos -file filename
filename
.
Типы данных: char | string
Выходные аргументы
S
Переменная информация
вложенный массив структур
Переменная информация, возвращенная как вложенный массив структур, содержащий скалярный struct
для каждой переменной. Каждый скалярный struct
содержит эти поля.
Поле Описание имя
Имя переменной.
размер
Размерности переменного массива.
bytes
Количество байтов выделяется для переменного массива.
whos
возвращает количество байтов, которые каждая переменная занимает в рабочей области, которая является не обязательно тем же самым как количеством байтов, которые каждая переменная занимает в MAT-файле. Версия 7 MAT-файлов и позже сжата, таким образом, количество байтов, требуемых в рабочей области, обычно больше, чем количество байтов в файле.
whos
не сообщает о количестве байтов, использованных объектами указателя. Если переменная содержит объекты указателя, количество байтов, которые функция whos
отображает для переменной силы, меньше, чем ожидалось.
класс
Класс переменной. Если переменная не имеет никакого значения, классом является '(unassigned)'
.
глобальная переменная
true
, если переменная является глобальной переменной.
разреженный
true
, если переменная разреженна.
комплекс
true
, если переменная является комплексной.
nesting
Структура с этими полями:
функция
Имя вложенной или внешней функции, которая задает переменную.
level
— Уровень вложенности этой функции.
персистентный
true
, если переменная является персистентной.
Альтернативы
Также можно просмотреть содержимое MAT-файлов с помощью Панели Деталей Браузера текущей папки.
Представлено до R2006a
Была ли эта тема полезной?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
Памятка переводчика
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.