MATLAB Answers

Michael
0

How do I print to stderr?

Asked by Michael
on 24 May 2012
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 Comments

Sign in to comment.

Tags

2 Answers

Answer by Michael
on 24 May 2012

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

  0 Comments

Sign in to comment.


Answer by Walter Roberson
on 24 May 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.

  1 Comment

Thank you. I will add this to the list of reasons to use Pylab ( <a href="http://www.scipy.org/PyLab">link</a> ). This makes monitoring of remote Matlab jobs difficult, if errors cannot be separated from valid output.

Sign in to comment.