From help-octave-request at bevo dot che dot wisc dot edu Wed Nov 12 13:08:03 1997 Subject: RE: Temp files created by octave From: "John W. Eaton" To: efh at nessie dot mcc dot ac dot uk Cc: "Juan I. Arribas" , help-octave@bevo.che.wisc.edu Date: Wed, 12 Nov 1997 13:08:29 -0600 On 12-Nov-1997, Ted Harding wrote: | These are temporary files created by octave which hold data which will be | sent to gnuplot. Keeping them there means that the "replot" command works: | | *** though (John?) surely one doesn't need to keep them all for this | *** purpose? | If your "for" loop doesn't use "replot", and the plot is created anew each | time round the loop, then it's probably safe to do "purge_tmp_files" each | time (this shouldn't affect things you have "set", such a title, key, | xlabel, ylabel, etc). Octave can't delete them automatically because it has no way of knowing when gnuplot is finished with them, even when there are no replot commands involved. The reason for this is that Octave communicates with gnuplot through a pipe, and depending on the amount of data and the complexity of the plot (simple x-y, 3d with hidden lines, etc.) gnuplot may not be finished with the first set of data by the time Octave executes the next plot command. For example, on my system, for i = 1:10; plot (rand (10,1)); purge_tmp_files; end nearly always works and displays a `movie' of random lines, but for i = 1:10; plot (rand (1000,1)); purge_tmp_files; end I typically see 2-3 failures. I think gnuplot 3.6 allows data to be included directly with the plot commands, so this problem can probably be avoided in future releases, but I have not had time to fix it yet, and no one else has contributed patches. jwe