"MATLAB 7 (Наиболее полное руководство в подлиннике)" - читать интересную книгу автора (Ануфриев И.Е., Смирнов А.Б., Смирнова Е.Н.)

Запустите снова MATLAB и восстановите значения введенных переменных, которые хранятся в файле \vork20-01-04.mat, при помощи любого из описанных в начале этого раздела способов: команды load, или пункта Open меню File рабочей среды, или окна Current Directory, Изучим возможность просмотра переменных, определенных в рабочей среде.
42
Часть I. Основы работы в MATLAB
Просмотр и удаление переменных, выбор имен переменных
При работе с достаточно большим количеством переменных необходимо знать имена использованных переменных. Самый простой способ— воспользоваться окном Workspace, в котором находятся имена всех существующих в рабочей среде переменных. По умолчанию все переменные в списке расположены в алфавитном порядке. Щелчок мышью по заголовку столбца Name меняет порядок на обратный. Аналогично можно упорядочивать переменные по размеру занимаемой памяти и типу. Введите кроме вещественных переменных комплексную и проверьте результат упорядочивания по разным критериям.
Двойной щелчок по строке с переменной в окне Workspace (или нажатие на кнопку Open панели инструментов окна Workspace) приводит к отображению ее содержимого в отдельном окне Array Editor, что, как следует из его названия (редактор массивов), будет особенно полезно при работе с массивами, которым посвящена p.iaea 2. В окне редактора массивов можно изменять значение элементов массива, добавить новые элементы или удалить существующие. Изменение формата вывода чисел осуществляется через меню Preferences в раскрывающемся списке Numeric Format так, как было объяснено ранее. Подчеркнем еще раз, что все данные в MATLAB представляются в виде массивов, мы пока работаем с массивами из одной ячейки размера 1 на 1 (работа с массивами большей размерности подробно описана в главе 2).
Вернемся в окно Workspace. Кроме сохранения и восстановления-рабочей среды, окно Workspace позволяет удалять переменные. Для удаления необходимо выделить одну или несколько переменных при помощи мыши и клавиш или , нажать кнопку Delete и подтвердить удаление в по-являющемся диалоговом окне Confirm Delete.
Аналогичные возможности предоставляют команды и функции MATLAB, предназначенные для оперирования с рабочей средой. Их описание содержится в разделе Functions — Categorical List (раздела Desktop Tools and Development. пункт Workspace, File, and Search Path) справочной системы. Остановимся на некоторых из них.
Для вывода в командное окно имен используемых переменных служит команда who
» who
Your variables are: al a2 a3
Глава 1. Простейшие вычисления
43
Команда whos позволяет получить более подробную информацию о переменных в виде таблицы, аналогичной таблице окна Workspace:
» whos
Hame Size Bytes Class
al lxl 8 double array
a2 lxl 8 double array
a3 lxl 8 double array Grand total is 3 elements using 24 bytes
Кроме того, команда whos дает возможность узнать общин объем памяти, занимаемой всеми переменными рабочей среды. В нашем примере три переменные занимают 24 байта, о чем сказано в строке под таблицей.
Для освобождения из памяти всех переменных используется команда clear. Если в аргументах указать список переменных (через пробел), то только они будут освобождены из памяти, например:
» clear al аЗ » who
Your variables are: a2
Очень полезной оказывается функция exist, которая сообщает, занято ли имя переменной в MATLAB. При вводе новой переменной следует не только убедиться в том, что это имя еще не занято под переменную пользователя, но и быть уверенным, что оно не используется в MATLAB (например, как встроенная функция или зарезервированное слово языка программирования). Вот простой пример. Запишем в переменную pi значение синуса от 3:
» pi = sin(3) pi =
0.1411
Теперь посчитайте cos от л » z = cos(pi)
Z =
0.9901
Вычисления выполнены неверно, поскольку изменена системная константа pi. До тех пор пока значение pi не будет удалено из рабочей среды, воспользоваться константой л не удастся. Поэтому перед определением новой



44
Часть I. Основы работы в MATLAB
переменной желательно вызвать функцию exist, указав имя переменной в апострофах во входном аргументе, например:
» exist('d7')
ans =
О
Если ответ— ноль, то имя этой переменной не конфликтует с зарезервированными словами MATLAB, и ей можно пользоваться. Сравните: exist('max'), exist('for'), exist('pi'), exist('lzero'). Значение, возвращаемое функцией exist, определяется тем, подо что занято запрашиваемое имя. В частности, если возвращается 1, то такая переменная уже определена в рабочей среде. Смысл всех значений объяснен в справочной системе.
Эффективная работа из командной строки (Command History)
В рабочей среде MATLAB для вызова ранее введенных команд имеется дополнительное удобное средство — окно Command History с историей команд (см. рис. 1.1). История команд представляет собой запись команд всех проведенных сеансов работы с MATLAB, которые автоматически сохраняются в текстовом файле history.m. В начале протокола работы каждого сеанса отмечены время и дата его начала. Можно отключить запись вводимых команд в историю команд. Для настройки возможностей окна Command History выберите пункт Preferences в меню File рабочей среды. Открывается диалоговое окно Preferences. Выбор пункта Command History в левой половине окна приводит к отображению свойств окна истории команд (Command History Preferences) в правой половине окна Preferences. Элементы управления расположены на двух панелях: Settings и Saving. В случае, если вы предполагаете использовать историю команд предыдущих сеансов работы, есть смысл обратить внимание на два значения переключателя. Одно из них: Save history file on quit, т. е. сохранение истории команд перед завершением сеанса работы с пакетом. Следует иметь в виду, что в случае аварийного завершения работы история команд не запишется в файл history.m и, следовательно, введенные команды будут недоступны в следующем сеансе работы. Наиболее безопасный способ состоит в установке количества выполненных команд, после которого произойдет обновление файла history.m (Save after ... commands). Например, значение 1 гарантирует, что ни одна ко-
Глава 1. Простейшие вычисления
45
манда, кроме, быть может, последней не будет потеряна. Смысл остальных флагов и переключателей ясен из их названия.
При загрузке MATLAB окно Command History появляется на экране по умолчанию. Чтобы закрыть его, нужно в меню Desktop выбрать пункт Command History или нажать кнопку закрытия окна в самом окне Command History. Повторный выбор пункта Command History приводит к появлению одноименного окна в рабочей среде,
История команд делает работу пользователя более эффективной, избавляя от необходимости вновь набирать введенные ранее команды. Если щелкнуть на какой-либо команде в окне левой кнопкой мыши, то данная команда становится текущей. Текущая команда в окне подсвечена синим. Для ее выполнения надо применить двойной щелчок мыши. Аналогичного результата можно добиться в окне Command History при помощи клавиш <Т>, <1> и . Лишнюю команду можно убрать из окна. Для этого ее надо сделать текущей и удалить при помощи клавиши . Можно выделить несколько идущих подряд команд (рис. 1.8 — выделено пять команд) с использованием комбинации клавиш +, +<4> и выполнить их при помощи , или удалить клавишей .
— юоеюо/э
1/3000 FORHAT LONG
ехр(-2.5}*log(11.3)A0.3-sqrt((sin(2.4S*pi)+соз(3.78*p