18c0693f

Ведение дневника


Мы отмечали, что сессии не записываются на диск стандартной командой save. Однако если такая необходимость есть, можно воспользоваться специальной командой для ведения так называемого

дневника

сессии:

diary filename — ведет запись на диск всех команд в строках ввода и полученных результатов в виде текстового файла с указанным именем;

 diary off — приостанавливает запись в файл; 

 diary on — вновь начинает запись в файл.

Таким образом, чередуя команды diary off и diary on, можно сохранять нужные фрагменты сессии в их формальном виде. Команду diary можно задать и в виде функции diary('file'), где строка 'file' задает имя файла. Следующий пример поясняет технику применения команды diary:

» diary myfile.m 

» 1+2 

ans = 

3

» diary off

 » 2+3 

ans =

» diary on

»

sin(l) 

ans =

0.8415 

» diary off

Нетрудно заметить, что в данном примере первая операция — 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

Он приведен в том виде, как записан, т. е. с пробелами между строк. Одна из распространенных ошибок начинающих пользователей — попытка запустить подобный файл в командной строке указанием его имени:

» myfile

??? ans =

|

 Missing variable or function.

Error in ==> С:\MATLAB\bin\niyfile.m 

On line 3 --> ans =

Обычно это приводит к ошибкам, так как данный файл — это просто текстовая запись команд и результатов их выполнения, не проверяемая на корректность и содержащая ряд строк, ошибочных с позиций синтаксиса языка программирования MATLAB — например, выражения ans =. Зато команда type позволяет просмотреть текст такого файла со всеми записанными действиями:

» type myfile

1+2

ans=

diary off.

ans=

0.8415 

diary off

Во избежание отмеченных казусов рекомендуется записывать файл с расширением, отличным от .m, например .txt. Это позволит встраивать подобные текстовые файлы дневника сессии в документы, содержащие ее описание.