Матричная лаборатория MatLab

         

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


Мы отмечали, что сессии не записываются на диск стандартной командой 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. Это позволит встраивать подобные текстовые файлы дневника сессии в документы, содержащие ее описание.

 

Содержание раздела