It is begining to sound like you might want this approach:

phi=: (1 + %: 5) % 2

spiralfib=: verb define
   (phi^y) % %:5
)

fib=: verb define
  <. 0.5 + spiralfib y
)

Is that where you were heading?

Thanks,

-- 
Raul


On Tue, Feb 28, 2017 at 4:38 AM, Linda A Alvord <[email protected]> wrote:
> Cliff, I'm never quite sure where I'm going! I'm wallowing around somewhere 
> between 4th and 5th grade and trying to make students understand big ideas.
>
> So:  Here is my "Slinky"
>
> load 'plot'
> do=: 13 :'({.y)+(i.{:>:y)*(--/}:y)%{:y'
> t=:do 0 10 1000
> sin=:1&o.
> cos=:2&o.
> 'pensize 2;aspect 1'plot (sin t);cos t  NB. TWO poolar circles
> 'pensize 2;aspect 1'plot t;(sin t);cos t  NB. Slinky from two circles over 
> time
>
> If I have a Fibonacci sequence (as simple as possible) then I should be able 
> to make a "Golden Spiral" in 2-D. But if I could start with a 1 inch cube, 
> could I turn my slinky into a "Snail Shell Spiral"
>
> I have found the forum to be the most fun when a problem hatches and develops 
> with ideas from everywhere.
>
> A short take on where I think I may be headed.  Now I'll look at what you 
> sent.  Cheers.  Linda
>
> -----Original Message-----
> From: Programming [mailto:[email protected]] On Behalf 
> Of Cliff Reiter
> Sent: Monday, February 27, 2017 8:17 PM
> To: [email protected]
> Subject: Re: [Jprogramming] Explicit fib
>
> Hi Linda,
> Were you just looking for the list version of the sequence? Same spirit as 
> fib2:
>
>     mp=:+/ . *
>     ]W=:*i.2 2
> 0 1
> 1 1
>     fib3=:3 : '{: |: W&mp^:(i.y) 0 1'
>     fib3 10
> 1 1 2 3 5 8 13 21 34 55
> Best, Cliff
>
> On 2/27/2017 10:31 AM, Linda A Alvord wrote:
>> I like fib2 and things were going well but I hit a snag:
>>
>> ]W=:*i.2 2
>> 0 1
>> 1 1
>>         mp=:+/ . *
>>         fib2=:3 : '{. W&mp^:y 0 1'
>>     ". }:, (14 5$'(fib2'),"1 (' ',"1  ' ',"1 ":,.>:i.14),"1 '),'
>> 1 1 2 3 5 8 13 21 34 55 89 144 233 377
>>
>>     fib3=: 13 :' ". }:, ((y,5)$'(fib2'),"1 (' ',"1  ' ',"1 ":,.>:i.y),"1 
>> '),''
>> |domain error: fib2
>> |   {.W&mp    ^:y 0 1
>>
>> It doesn't like the fact that that the fib2 should still be just letters.
>>
>> It was fun anyway.   Linda
>>
>> -----Original Message-----
>> From: Programming [mailto:[email protected]] On
>> Behalf Of Cliff Reiter
>> Sent: Sunday, February 26, 2017 2:27 PM
>> To: [email protected]
>> Subject: Re: [Jprogramming] Explicit fib
>>
>> Here are a couple approaches:
>> First, make a list, then take the last thing in it.
>>
>>      fib_list=:3 : 0
>> z=.0 1
>> for. i.y-1 do.
>>     z=.z,+/_2{. z
>> end.
>> if. y>0 do. z else. 0 end.  NB. this only used to make fib_list 0
>> correct
>> )
>>
>>      fib_list 10
>> 0 1 1 2 3 5 8 13 21 34 55
>>
>>      fib=:{:@fib_list
>>
>>      fib 10
>> 55
>>
>>      fib 0
>> 0
>>
>> Or use matrix multiply
>>
>>      mp=:+/ . *
>>
>>      ]W=:*i.2 2
>> 0 1
>> 1 1
>>
>> W takes one fib pair to the next one
>>      W mp 13 21
>> 21 34
>>
>>      fib2=:3 : '{. W&mp^:y 0 1'
>>
>>      fib2 10
>> 55
>>
>>      NB. It even works correctly for negative integers
>>
>>      fib2 _2
>> _1
>>
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to