Save Command Window text to file
The diary function creates a log of keyboard input and the resulting text output, with some exceptions (see Tips for details). The output of diary is an ASCII file, suitable for searching in, printing, inclusion in most reports and other documents. If you do not specify filename, the MATLAB® software creates a file named diary in the current folder.
diary('filename') writes a copy of all subsequent keyboard input and the resulting output (except it does not include graphics) to the named file, where filename is the full pathname or filename is in the current MATLAB folder. If the file already exists, output is appended to the end of the file. You cannot use a filename called off or on. To see the name of the diary file, use get(0,'DiaryFile').
Because the output of diary is plain text, the file does not exactly mirror input and output from the Command Window:
Output does not include graphics (figure windows).
Syntax highlighting and font preferences are not preserved.
Hidden components of Command Window output such as hyperlink information generated with matlab: are shown in plain text. For example, if you enter the following statement
str = sprintf('%s%s', ... '<a href="matlab:magic(4)">', ... 'Generate magic square</a>'); disp(str)
However, the diary file, when viewed in a text editor, shows
str = sprintf('%s%s', ... '<a href="matlab:magic(4)">', ... 'Generate magic square</a>'); disp(str) <a href="matlab:magic(4)">Generate magic square</a>
If you view the output of diary in the Command Window, the Command Window interprets the <a href ...> statement and displays it as a hyperlink.
Viewing the output of diary in a console window might produce different results compared to viewing diary output in the desktop Command Window. One example is using the \r option for the fprintf function; using the \n option might alleviate that problem.