I want to save everything in the "Command Window" to a file automatically. Is there a way to do it?
You have a few options available for saving content from the Command Window:
You can do this using the DIARY command. You could even automate this so that it always records what you do by modifying your startup.m
file to turn on text logging:
diary('myTextLog.txt'); %# Text will be appended if this file already exists
And then modify your finish.m
file to turn logging off:
diary('off');
This will automatically store the entire text content of the Command Window for every MATLAB session, which could grow into a rather large text file.
Another option besides using the DIARY command and modifying your startup.m
and finish.m
files is to start MATLAB using the -logfile
option:
matlab -logfile "myTextLog.txt"
Although I'm not sure if this will overwrite the text file or append to it each time you start MATLAB.
If you're just wanting to save the output from evaluating one or more expressions, you can use the EVALC function to evaluate a string containing your expression and capture the output that would normally go to the command window in a character array. You can then print this character array to a file using FPRINTF.
Finally, if you're not interested in saving the displayed output from commands you type, but you instead just want to store the commands themselves, then the Command History is what you want. MATLAB automatically stores a history.m
file with a maximum size of 200,000 bytes, deleting the oldest entries when newer ones are added.