How can I save the MATLAB Command Window output to a text file?

398 visualizaciones (últimos 30 días)
How can I save the MATLAB command window output to a text file?

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 7 de Mzo. de 2022
Editada: MathWorks Support Team el 7 de Mzo. de 2022
The easiest way is to use the "diary" function:
It will create a log file that contains keyboard input and result output. You can also customize the name for the output file. For example, to write into "myDiaryFile", execute:
diary myDiaryFile
a = 1;
b = sin(a);
x = ones(4)
diary off
Please note that the content in the command window might not be written into the log file right away. You can force the writing by toggling the switch for "diary" function. Example code:
diary on
a = 2 % Output of this line might not be written to file right away
diary off % until this command is executed
diary on % You could put diary 'on' if you want to log more command window output
a = 3
diary off
  2 comentarios
laurent jalabert
laurent jalabert el 22 de Dic. de 2021
Editada: laurent jalabert el 22 de Dic. de 2021
diary is working well, however, when displaying a table, the headers are in bold characters, but the diary will generate a text file containing the html balise like <strong>Estimate</strong>
For instance, when using non linear regression fit, the mdl generates output with Estimate, SE, ... and they are displayed with the balise in the diary, which is not elegant, like this :
<strong>Estimate</strong> <strong>SE</strong> <strong>tStat</strong> <strong>pValue</strong>
<strong>___________________</strong> <strong>___________________</strong> <strong>________________</strong> <strong>____________________</strong>
Is there any way to remove the <strong> in diary text file ? Can a diary be recorded as html ?
laurent jalabert
laurent jalabert el 5 de En. de 2022
Sorry, I answer myself, which is not good. But my intention is to help people who may have similar problem.
When using non linear regression fit, the model mdl is displayed in the command window, with showing a table, with headers in bold characters. However, if like me, you use the command window and diary function to record the status of your running program, then the text file of the diary will display those bold character with the html code, which is not elegant. So it is possible to remove the bold character by using this function : formattedDisplayText(mdl,"SuppressMarkup",true)
section(formattedDisplayText(mdl,"SuppressMarkup",true));
function section(texte)
str_section = "*************************************";
disp(newline+ str_section + newline + texte + newline + str_section);
end
Once again, I sorry for answering my own questions, but I asked the question several weeks ago, and in between I continued my effort to find a solution, then I share it.

Iniciar sesión para comentar.

Más respuestas (1)

laurent jalabert
laurent jalabert el 10 de Feb. de 2021
Editada: laurent jalabert el 10 de Feb. de 2021
diary_name = strcat(datestr(now),'_diary.txt');
diary_folder = pwd;
diary(diary_name)
disp(datestr(now))
diary off
(I am not sure diary off will stop the currently running diary(diary_name) ...)
It will be nice to write like this :
diary(diary_folder, diary_name,'on')
diary(diary_folder,diary_name,'off')

Etiquetas

Aún no se han introducido etiquetas.

Productos


Versión

R2017a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by