Re: lists of variables
- To: mathgroup at smc.vnet.net
- Subject: [mg58230] Re: lists of variables
- From: dh <dh at metrohm.ch>
- Date: Thu, 23 Jun 2005 05:34:24 -0400 (EDT)
- References: <d9630u$q1t$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi Heath,
You already got many answers, but I think the solution to create a
variable name as a string and using ToExpression is not the appropriate
way to do this.
Array[..] is made for this purpose. But you must know how to deal with
it. Especially, you should not use the same name used inside "Array" for
other purposes. Lets make some examples:
ts=Array[t,{3}]
gives : {t[1], t[2], t[3]}
Do not use the same name on the left side and inside Array, you would
get an infinit recursion. Now set up any function you like. If you
define the arguments as a list, you may directly use ts:
F[{x1_,x2_,x3_}]:=Cos[x1+x2-x3];
you can now say:
F[ts]
giving: Cos[t[1] + t[2] - t[3]] as requested.
if F is defined with three arguments like:
F[x1_,x2_,x3_].=...
you would use Sequence:
F[Sequence[ts]]
If you want to give numerical values, e.g.
t[1]=0.1; t[2]=0.2; t[3]=0.3;
F[ts] would give:
Cos[0.1+0.2-0.3] -> 1.
sincerely, Daniel
Heath Gerhardt wrote:
> I need to make lists of variables, for example
>
> {t1,t2,t3}
>
> but have not been able to figure out how to make Mathematica do this.
> Tried using
>
> Array[t,3]
>
> which gives
>
> {t[1],t[2],t[3]}
>
> but then I don't know how to set the t[i]'s in expressions similar to
>
> F[t[1]_,t[2]_,t[3]_]:=Cos[t[1]+t[2]-t[3]]
>
> thanks in advance
> Heath
>