Re: defining consecutive variables

*To*: mathgroup at smc.vnet.net*Subject*: [mg99559] Re: defining consecutive variables*From*: Sebastien Roy <roys at iro.umontreal.ca>*Date*: Fri, 8 May 2009 00:13:40 -0400 (EDT)*References*: <gtp199$joi$1@smc.vnet.net>

On May 5, 5:35 am, Jason <jbig... at uoregon.edu> 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? The solution with the form q[n] is fine, but if you really need, for typesetting reason, to have the variable labeled as in Subscript[q,n] instead, then this will work: f[x_]:= Subscript[q,x] = RandomReal[{0, x}, {5, 5}] You can use the palette (or use Ctrl + _ ) instead of typing Subscriptp [].