Re: Streaming input (with Linux)
- To: mathgroup at smc.vnet.net
- Subject: [mg46397] Re: [mg46349] Streaming input (with Linux)
- From: Yasvir Tesiram <yat at omrf.ouhsc.edu>
- Date: Mon, 16 Feb 2004 23:43:20 -0500 (EST)
- References: <200402161359.IAA20493@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi,
It's hard to know exactly what you are trying to achieve. I assume you
have written a series of Mathematica commands in a file and then using
Get (<<), have evaluated the contents of the file.
In this case, the file my_script.m need not have the extension .m. It
could be anything so as long as it contains valid Mathematica
expressions, Mathematica will evaluate it immediately. If however, you
want to pass arguments to the sequence of events executed by your file,
then you have to write a "function" that can take arguments. Thus you
may want to rewrite the contents of my_script.m as in the following
example;
script[a_, b_, c_] := Module[{f},
f = Table[a + b*x + c*x^2, {x, -1.0, 1.0, 0.1}];
ListPlot[f, PlotRange -> All, PlotJoined -> True]
]
Then execute (use) the function with
script[1, 2, 3]
See the notes on packages etc for additional information.
You can of course Read the contents of your my_script.m file into
Mathematica line by line or list (using ReadList) as Strings. Then use
replacement rules to substitute for the arguments (parameters) and then
evaluate the whole thing by converting to an expression using
ToExpression.
Clear[x1, x2]
(*this reads the first line*)
f4 = ReadList["~/myscript.longextension", String, 1]
{Plot[x^2,{x,-x1, x2}]}
StringReplace[f4[[1]], {"-x1" -> "-2.0", "x2" -> "2.0"}] // ToExpression
Cheers
Yas
On Feb 16, 2004, at 7:59 AM, Alessandro Antonucci wrote:
> Hello everyone,
> I have build up a very simple script in Mathematica,
> taking tree real parameters in input and giving as
> output a real number.
>
> At the moment my script read an input file
> containing the tree parameters, but it would
> be better for me to tell the script the parameters
> with a direct command line instruction.
>
> Does anyone knows how to do something like
>
>> math < my_script.m par1 par2 par3
>
> And how to handle the parameters inside the script ?
>
- References:
- Streaming input (with Linux)
- From: Alessandro Antonucci <aflta@inwind.it>
- Streaming input (with Linux)