Иллюстрированный самоучитель по MatLab

Операции с рабочей областью и текстом сессии. Дефрагментация рабочей области. Сохранение рабочей области сессии.

По мере задания одних переменных и стирания других рабочая область перестает быть непрерывной и начинает содержать "дыры" и всякий "мусор". Это рано или поздно может привести к ухудшению работы системы или даже к нехватке оперативной памяти. Подобная ситуация становится возможной, если вы работаете с достаточно большими массивами данных.

Во избежание непроизводительных потерь памяти при работе с объемными данными (а векторы, матрицы и массивы относятся к таковым) следует использовать команду pack, осуществляющую дефрагментацию рабочей области. Эта команда переписывает все определения рабочей области на жесткий диск, очищает рабочую область и затем заново считывает все определения без "дыр" и "мусора" в рабочую область.

Сохранение рабочей области сессии

Переменные и определения новых функций в системе MATLAB хранятся в особой области памяти, именуемой рабочей областью. MATLAB позволяет сохранять значения переменных в виде бинарных файлов с расширением ".mat". Для этого служит команда save, которая может использоваться в ряде форм:

  • save fname – записывается рабочая область всех переменных в файле бинарного формата с именем fname.mat;
  • save fname X – записывает только значение переменной X;
  • save fname X Y Z – записывает значения переменных X, Y и Z.

После этих параметров можно указать ключи, уточняющие формат записи файлов:

  • -mat – двоичный МАТ-формат, используемый по умолчанию;
  • -ascii– ASCII-формат единичной точности (8 цифр);
  • -ascii-double – ASCII-формат двойной точности (16 цифр);
  • -ascii-double-tabs – формат с разделителем и метками табуляции;
  • V4 – запись МАТ-файла в формате версии MATLAB 4;
  • -append – добавление в существующий МАТ-файл.

Возможно использование слова save и в формате функции, а не команды, например:

save('fname', 'var1', 'var2')

В этом случае имена файлов и переменных задаются строковыми константами.

Следует отметить, что возможности сохранения всего текста сессии, формируемой в командном режиме, команда save не дает. И не случайно! Дело в том, что сессия является результатом проб и ошибок, и ее текст наряду с правильными определениями содержит сообщения об ошибках, переопределения функций и переменных и много прочей "шелухи". Необходимости сохранять такое "творчество" обычно нет. А если есть – для этого служит команда diary, описанная чуть ниже.

Тем не менее это не значит, что вы не имеете возможности записать только то рациональное зерно, которое родилось в ходе попыток реализации ваших алгоритмов и методов решения задач. Надо просто воспользоваться редактором и отладчиком, которые позволяют (после отладки программы) получить документ в корректной форме без синтаксических и иных ошибок. Такой документ сохраняется в текстовом формате в виде файла с расширением ".m".

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.