MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Batch

  • To: mathgroup at
  • Subject: [mg60396] Re: [mg60364] Batch
  • From: Maria Cristina Dias Tavares <cristina at>
  • Date: Thu, 15 Sep 2005 05:16:16 -0400 (EDT)
  • References: <>
  • Sender: owner-wri-mathgroup at

Hi again

    I will put my question in a different way.

    What I do now is to read the data directories/file names in a loop 
and then I start the calculation. The calculation is performed inside a 
Do, where I generate my tables, save them in the appropriate 
directories, and generate the graphics and save them also in different 
directories.  That works, but this is not a well-organized procedure 
because I have all the calculations inside a very large Do loop, that 
means that my notebook is almost a single large Do cell. 

    I think it would be much better if I could have my calculation 
inside another notebook and if I call this notebook inside the Do loop.

    My first try was to have a notebook to read the data file and 
directory names and the call a second notebook. In this notebook I have 
part of my calculation, rather documented and it called the last  
notebook which would finish the calculation and return to the next data. 
In the front end I manage to call the second notebook but it was only 
opened, not evaluated, I have to evaluate it manually. Perhaps the 
problem does not involve batch, but rather one notebook calling and 
evaluating another notebook.

    Thank for your your fast help.


>Hi Maria,
>>    I need to run a batch in Mathematica, so that I read data 
>>from several files and execute the calculations and generate 
>>the graphics. 
>>Then I read another group of data and perform the same 
>>calculation and that goes on until the data finish.
>>    I just manage to do this by putting all the calculation 
>>in a single cell, inside a Do. My cases are rather large, I 
>>am dealing with experimental data and I have to manipulate 
>>files with 1,000,000 points. 
>>I cannot just read all of them at once and start the calculus.
>>    My first go was to separate the calculations in notebooks 
>>and one nb called the next one. The first notebook called the 
>>following without a problem, but it did not evaluate it. I 
>>had to do it manually. And I have around 100 cases to 
>>analyse. I really need to automatize the procedure.
>My suggestion is to save each notebook as a package (File->Save as
>special->Package format).  This will leave you with a series of files that
>you can happily batch, either from your operating system, or through
>For example, we can generate some files using
>	(
>      	ount = OpenWrite[onam[[#]]];
>      	ostr = "Print[\"Hi from file : \", ";
>	      ostr = StringJoin[ostr, ToString[#], "];"];
>      	Write[ount, OutputForm[ostr]];
>	      Close[ount];
>      ) & /@ Range[Length@onam]
>Then, under Windows, we can run them sequentially using the batch file
>	c:\Mathematica\5.0.1\math  < File_0001.m
>	c:\Mathematica\5.0.1\math  < File_0002.m
>	c:\Mathematica\5.0.1\math  < File_0003.m
>	c:\Mathematica\5.0.1\math  < File_0004.m
>	c:\Mathematica\5.0.1\math  < File_0005.m
>You will probably have to change the path to math.exe.  Note that this is
>not the front end, nor even the kernel, but a text-mode front end.
>It is also worth noting that we can use Mathematica to run the batch process
>using the following code
>	ifil = FileNames["*.m"]
>	(
>      	Print["Working on file : ", ifil[[#]]];
>	      Get[ifil[[#]]];
>      ) & /@ Range[Length@ifil]

Profa Maria Cristina Tavares
Faculdade de Engenharia Elétrica e de Computação
CP 6101 - CEP 13083-970
tel : (19) 3788 3738
fax : (19) 3289 1395

  • Prev by Date: Re: Draw3D ColorFunction->Hue
  • Next by Date: Re: Why this function does not return a single value
  • Previous by thread: Re: Batch
  • Next by thread: Re: Batch