Re: Assign value to variable
- To: mathgroup at smc.vnet.net
- Subject: [mg111259] Re: Assign value to variable
- From: Peter Breitfeld <phbrf at t-online.de>
- Date: Sun, 25 Jul 2010 02:00:02 -0400 (EDT)
- References: <i2eagg$q5b$1@smc.vnet.net>
miguelwon wrote: > Hello. > > I'm working with some expressions that are dependent of several > variables co1, co2, ... , con. I would like to know how can I assign > values iteratively to some of these variables. I tried: > > For[i=1,i<=100,i++, > Symbol["co"<>ToString[i]]=0; > ]; > > but it doesn't work. For each iteration it says coi is Protected. > Can someone help me? > > Thanks > The error occurs, because you tried to assign the value 0 to an Expression with Head Symbol. One way to make lists of symbols is to use Array like this: Array[co,5] gives {co[1], co[2], co[3], co[4], co[5]} If you like to name your variables co1, co2,... (bad idea) you could do the following CC=Array["cc"<>ToString[#]&,5] {"cc1", "cc2", "cc3", "cc4", "cc5"} These are not Symbols but Strings, which is bad. So I would not recommend this, because you can't easily assign values to the list, whereas in the first case it's easy: Do[co[i]=10+i,{i,10}] co/@Range[5] {11, 12, 13, 14, 15} -- _________________________________________________________________ Peter Breitfeld, Bad Saulgau, Germany -- http://www.pBreitfeld.de