Sorry, the answer is to use fprintf(2,"stuff"). I can't tell if there is a way to get display to print to stdout
How do I print to stderr?
36 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I'd like to print to standard error. I'm sure there is a simple solution, but the "display" documentation didn't specify, and I didn't find a clear answer when searching this forum. How do you do it in Matlab?
0 comentarios
Respuestas (2)
Walter Roberson
el 24 de Mayo de 2012
Unfortunately MATLAB does not support stdout or stderr. The closest it has is writing to file 1 (sort of like stdout) or file 2 (sort of like stderr). Both file 1 and file 2 will go to wherever the command output is going, such as the command window. Neither of them are connected to the Unix stderr stream. If the session was started with -nodisplay (or equivalent) so that there is no command window, then both of them are connected to stdout -- but if the command window is active, then neither of them are connected to stdout.
The only difference I have been able to infer in MATLAB between writing to file 1 and file 2, is that it appears from one of the documentation examples (somewhere) that file 2 might not be buffered, that output to it might potentially get mixed in with output that is already in progress.
2 comentarios
Gabriele Bellomia
el 4 de Mayo de 2022
Just to clarify for the 2022 reader: I don't know if the behavior has changed and when this would have happened but I can confirm that with MATLAB > R2020b 'fprinting' to '2' totally works for remote hpc workflows. In particular I succesfully tested the behavior on a SLURM-managed CentOS machine, and I consistently find all the fprintf(2,...) outputs in the stderr logs built by SLURM. :)
Ver también
Categorías
Más información sobre Get Started with MATLAB en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!