Re: dynamic variable definiton
- To: mathgroup at smc.vnet.net
- Subject: [mg67269] Re: dynamic variable definiton
- From: albert <awnl at arcor.de>
- Date: Thu, 15 Jun 2006 03:25:45 -0400 (EDT)
- References: <e6opcl$s4p$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
T.Sariyski wrote: > Hi, > I have a list of lists. The first element of each list is a description, > the rest are numerical. Is it possible dynamic to create variable and to > assign values to them? For example, I read data with ReadList: yes, look into ToExpression > rawdata=ReadList["myfile.txt",Word,WordSeparators->"",RecordListsï?¢True,RecordSeparatorsï?¢{"\n\n","\n","\n"}]; > I'm not sure, but I think you want the WordSeparators to be a space, not an empty string??? > {{Face 1},{observ 0.1000E+02 0.3000E+01 0.4000E+01},{center 0.1050E+02 > 0.3000E+01 0.4000E+01},{e1 0.1000E+01 0.0000E+00 0.0000E+00},{e2 > 0.0000E+00 0.1000E+01 0.0000E+00},{e3 0.0000E+00 0.0000E+00 > 0.1000E+01},{v1 0.1050E+02 0.3500E+01 0.4500E+01},{v2 0.1050E+02 > 0.2500E+01 0.4500E+01},{v3 0.1050E+02 0.2500E+01 0.4000E+01},{v4 > 0.1050E+02 0.3500E+01 0.4000E+01}} > > I would like to have: > > Face=1; > obsrv={0.1000E+02 , 0.3000E+01, 0.4000E+01}; > center={0.1050E+02, 0.3000E+01, 0.4000E+01}; > e1=... etc. your output looks like every line is just a string, so you might needs some string-processing before executing ToExpression. If you manage to get somehing like: line = {"obsrv","0.1000E+02","0.3000E+01","0.4000E+01"} using: ToExpression/@line With[{varname=line[[1]]},varname=Rest[line]] will do what you want. make sure that there are no definitions for any of the "descriptions", otherwise you might see error messages... hth albert