Ведение дневника
Мы отмечали, что сессии не записываются на диск стандартной командой 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 =
5
» 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=
3
diary off.
ans=
0.8415
diary off
Во избежание отмеченных казусов рекомендуется записывать файл с расширением,
отличным от .m, например .txt. Это позволит встраивать подобные текстовые файлы
дневника сессии в документы, содержащие ее описание.
Содержание раздела