- •Операции с рабочей областью и текстом сессии Дефрагментация рабочей области
- •Сохранение рабочей области сессии
- •Ведение дневника
- •Загрузка рабочей области сессии
- •Работа с редактором/отладчиком м-файлов
- •Файлы – сценарии и файлы – функции
- •Панель инструментов редактора/отладчика
- •Работа с точками останова
- •Завершение вычислений и работы с системой
Операции с рабочей областью и текстом сессии Дефрагментация рабочей области
По мере задания одних переменных и стирания других рабочая область перестает быть непрерывной и начинает содержать «дыры» и всякий «мусор». Это приводит к ухудшению работы системы или даже к нехватке оперативной памяти. Такая ситуация возможна когда вы работаете с достаточно большими массивами данных.
При работе с большими данными во избежание непроизвольных потерь памяти следует использовать команду pack, осуществляющую дефрагментацию рабочей области. Эта команда переписывает все определения рабочей области на жесткий диск, очищает рабочую область и затем заново считывает все определения без «дыр» и «мусора» в рабочую область.
Сохранение рабочей области сессии
Переменные и определения новых функций в системе MATLABхранятся в особой области памяти, именуемой рабочей областью.MATLABпозволяет сохранить значения переменных в виде бинарных файлов с расширением.mat. Для этого служит команда save,которая может использоваться в ряде форм:
save fname– записывается рабочая область всех переменных в файле бинарного формата с именемfname.mat;
save fname X– записывает только значения переменнойX;
save fname X Y Z– записывает значения переменныхX,Y и Z.
После параметров команды saveможно указать ключи, уточняющие формат записи файлов:
mat– двоичный МАТ-формат, используемый по умолчанию;
ascii–ASCII– формат единичной точности (8 цифр);
ascii - double–ASII– формат двойной точности (16 цифр);
ascii - double - tabs– формат с разделителями и метками табуляции.
V4 – записьMAT– файла в формате версииMATLAB4;
append - добавление в существующийMAT- формат
Возможно использование слова save и в формате функции, а не команды, например
save(‘fname’, ‘var1’,’var2’)
В этом случае имена файлов и переменных задаются строковыми константами. Следует отметить, что возможности сохранения всего текста сессии, формируемой в командном режиме, команда saveне дает. Дело в том что сессия является результатом проб и ошибок и ее текст содержит сообщения об ошибках, переопределение функций и разной прочей «шелухи». Необходимость сохранения всего это обычно нет. А если возникнет необходимость – для этого служит командаdiary. Вы можете так же воспользоваться редактором и отладчиком, которые позволят сохранить документ в корректной форме в виде файла с расширение.m текстового формата.
Ведение дневника
Следует отметить , что сессия не записывается на диск стандартной командой save. Однако, если такая необходимость есть, можно воспользоваться специальной командой для ведения так называемого дневника сессии:
diary file_name– ведет запись на диск всех команд в строках ввода и полученных результатов в виде текстового файла с указанным именем;
diary off– приостанавливает запись в файл;
diary on– вновь начинает запись в файл.
Таким образом, чередуя команды diaryoffиdiaryon, можно сохранять нужные фрагменты сессии в их формальном виде. Командуdiaryможно задать и виде функцииdiary(‘file’), где строка ‘file’ задает имя файла.
Следующий пример поясняет технику применения команды diary:
Нетрудно заметить, что в данном примере первая операция 1+2=3 – будет записана в файл myfile.m, вторая 2+3 = 5 – не будет записана, третья операцияsin(1)=0.8415 – снова будет записана. Таким образом, будет созданScript– файл следующего вида:
1+2
ans =
3
diary off
sin(1)
ans =
0.8415
diary off
Он приведен в таком виде, как записан, то есть с пробелами между строк. Одна из распространенных ошибок начинающих пользователей – попытка запустить подобный файл в командной строке указанием его имени:
Обычно это как вы виде приводит к ошибке, так как данный файл – это просто текстовая запись команд и результатов их выполнения, не проверяемая на корректность и содержания ряд строк, ошибочных с позиции синтаксиса языка программирования MATLAB– например, выражениеans=.
Зато команда typeпозволяет просмотреть текст такого файла со всеми записанными действиями:
Во избежание отмеченных казусов рекомендуется записывать файл с расширением, отличным от .m, напримерtxt. Это позволит встраивать подобные текстовые файлы дневника сессии и документы, содержащие ее описание.