MathGroup Archive 2007

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

Search the Archive

Re: Re: Mathematica 6.0 easier for me ... (small review)

  • To: mathgroup at smc.vnet.net
  • Subject: [mg76633] Re: [mg76556] Re: [mg76457] Mathematica 6.0 easier for me ... (small review)
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Fri, 25 May 2007 06:25:14 -0400 (EDT)
  • References: <200705230859.EAA23180@smc.vnet.net> <2889719.1180010222826.JavaMail.root@m35> <op.tst6hjbkqu6oor@monster.ma.dl.cox.net>

They are just instances of the most sensational and undocumented new  
feature of Mathematica 6: mind reading. $1, $2 ... etc, stand for  
whatever the programmer has in mind when he writes his program and  
they keep their values even when the code is shared by e-mail. Of  
course an invention of this kind had to be kept strictly secret lest  
a total panic ensued (comparable to what happened after Orson Wells'  
famous broadcast of "War of the Worlds"), so naturally your 20  
minutes spent on searching the documentation were a sheer waste of time.

However, since only the original programmer knows what he had in  
mind, I hasten to explain. $1 (and the not really needed $2) stand  
for anything that is different from all other defined symbols in the  
current session. I used this new powerful and secret technology  
simply because I was just too much in a hurry to use obsolete old  
constructs like Block, Module, or Unique for what was not intended as  
serious code but only an illustration.

As the OP did not really explain clearly what he wanted, I had to  
interpret his intentions myself, and my interpretation was that he  
was looking for specific "jumps" form one given value to another  
given value, and wanted to ignore any other possible jumps. Probably  
this interpretation was incorrect since all other posters seem to  
have assumed something different.

Andrzej Kozlowski


On 24 May 2007, at 23:57, DrMajorBob wrote:

> Twenty minutes search of the documentation yields no clue what $1  
> and $2 are about.
>
> Care to share the secret?
>
> Bobby
>
> On Thu, 24 May 2007 04:53:53 -0500, Andrzej Kozlowski  
> <akoz at mimuw.edu.pl> wrote:
>
>>
>> On 23 May 2007, at 17:59, Paul at desinc.com wrote:
>>
>>> If I have
>>> lis={{1,10},{2,10},...{9,10},{11,20},{12,20}...{19,20}
>>>
>>> How do I use functional and/or rule to determine where the second
>>> number (lis[[i,2]]) jumped from 10 to 20 to 30 and save the pair.
>>> Assuming there was noise, I only want to store the first 10->20,  
>>> then
>>> look for 20->30 and so on.  So in time, I want my search to  
>>> change as
>>> I progress through the list.  Any input appreciated!
>>
>> I am not quite sure if I really understand what you wish to do. But
>> if what I think is correct, then it seems easy to do it using rule
>> based programming:
>>
>> FirstJump[lis_, n_, m_] := Flatten[({
>>      lis} /. {___, {x_, n}, {y_, m}, ___} :> Position[lis, {x, n}])]
>>
>> For example:
>>
>>
>> ls={{1,10},{2,10},{9,10},{11,20},{12,20},{19,20},{20,30}};
>>
>>
>> FirstJump[ls,10,20]
>>
>> {3}
>>
>>
>> FirstJump[ls,20,30]
>>
>> {6}
>>
>> The above assumes that all the pairs in your list are distinct. If
>> they are not, then something more complicated is needed, e.g.:
>>
>> Clear[FirstJump]
>>
>> FirstJump[lis_, n_, m_] := Position[Flatten[({lis} /. {a___, {x_,  
>> n}, {
>>      y_, m}, b___} :> {a, $1, $2, b}), 1], $1, 1]
>>
>> ls = {{1,10}, {2, 10}, {9, 10}, {9, 10}, {11, 20}, {12, 20}, {19,
>> 20}, {20, 30}};
>>
>>
>> FirstJump[ls, 10, 20]
>>
>> {{4}}
>>
>>
>> Andrzej Kozlowski
>>
>>
>
>
>
> -- 
> DrMajorBob at bigfoot.com



  • Prev by Date: Re: V6 evaluation inside Table and plot
  • Next by Date: Re: Re: Re: Weird result in Mathematica 6
  • Previous by thread: Re: Re: Mathematica 6.0 easier for me ... (small review)
  • Next by thread: Re: Mathematica 6.0 easier for me ... (small review)