MathGroup Archive 2009

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

Search the Archive

Re: defining consecutive variables

  • To: mathgroup at
  • Subject: [mg99442] Re: defining consecutive variables
  • From: Szabolcs <szhorvat at>
  • Date: Wed, 6 May 2009 05:20:24 -0400 (EDT)
  • References: <gtp199$joi$>

On May 5, 12:35 pm, Jason <jbig... at> wrote:
> I have a code where I need to define a large number of variables as matri=
ces, called q1,q2,q3......qn. I'd like to be able to define them all withou=
t writing out n assignment lines, so a Do loop seems appropriate to me but =
I don't know how to assign sequential variable names. This gets the job don=
e but it is really ugly IMO
> f[x_] := Table[x RandomReal[], {n, 5}, {np, 5}](*for example*)
> Do[ToExpression["q" <> ToString[n] <> "=f[n]"], {n, 0, 40}]
> at the end of which I have 41 matrices which I can call as q0,q1, etc. Is=
 this the best way to accomplish this task?

Consider using expressions of the form q[1], q[2], etc.  Are you doing
anything with these variables that requires them to be atomic symbols
(instead of compound expressions like q[1])?

Do[q[i] = f[i], {i,0,40}]

Also, do you really need all these matrices to have a unique name?  It
sounds like you might need to iterate over them several times (or
perform identical calculations with all of them).  Couldn't you just
use a simple list of matrices instead?

  • Prev by Date: Re: Do some definite integral calculation.
  • Next by Date: Re: Reading csv with ;
  • Previous by thread: Re: defining consecutive variables
  • Next by thread: Re: defining consecutive variables