MathGroup Archive 2003

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

Search the Archive

Re: Simple List question. HELP.

  • To: mathgroup at smc.vnet.net
  • Subject: [mg39413] Re: [mg39389] Simple List question. HELP.
  • From: Sseziwa Mukasa <mukasa at jeol.com>
  • Date: Fri, 14 Feb 2003 03:23:08 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

On Thursday, February 13, 2003, at 04:55 AM, Daniel Heneghan wrote:

>
> I am new to Mathematica. This is vexing. All I want to do is create a
> 2-dimensional list so that I can enter x,y values and then plot the
> list. I want to do this programmatically. I am having such incredible
> trouble trying to accomplish this simple task. I know that there is
> probably a Mathematica optimized way to do this, but I and trying to
> write a little program and for now I want to stay with paradigms that I
> am familiar with. Here is what I have been doing.
>
> Create a 2 dimensional list.
> In[532]     lst={{}}
> Out[532]=    {{}}
>
> Enter the first pair into the first place in the list.
> In[533]:= lst[1]={{0,1}}
>
> Errors and beeps here, but it does seem to record the correct values.
> Set::write: Tag List in {{}}[1] is Protected.
> Out[533]={{0,1}}
>

lst[1] is not the first part of lst, it is a function with the head lst 
which evaluates to {{}}.  The first part of lst is lst[[1]], note the 
double brackets.  So you assigned the value to a function not lst.

> Add anoter pair of values.
>
> In[534]:= lst=Append[lst,{{1,2}}]
> Out[534]= {{},{{1,2}}}
> The second pair is OK, but the first pair has been obliterated.
>

See above, the value of lst was not what you thought it was.  Nothing 
was obliterated.

> Add another pair. Now all subsequent entries are OK, but I still have
> lost the first pair.
> In[535]:= lst=Append[lst,{{2,c}}]
> Out[535]= {{},{{1,2}},{{2,c}}}--
>
>
> What is going on? What are the mysteries of working with lists in
> Mathematica. In any programming language this is simple. I can't grasp
> it in Mathematica. The reason I need to do this is that for the list
> plot I need the x values to start at 0 not 1.
>

There is no mystery just a typo.  Incidentally it all your y are just 
x+1 then

lst=Table[{i,i+1},{i,0,_}] where _ is your largest value of x is much 
more efficient.  You can substitute whatever function you wish for y if 
one exists.  Writing the values in a text file and using ReadList or 
just typing the list in explicitly (lst={{0,1},{1,2},{2,c},...}) is 
probably more easier and more efficient too.

Regards,

Ssezi



  • Prev by Date: Re: Simple List question. HELP.
  • Next by Date: Re: Problems evaluating Grad
  • Previous by thread: Re: Simple List question. HELP.
  • Next by thread: Re: Simple List question. HELP.