```⍝ Function limit 'trajectory':

{2|⍵:1+3×⍵ ⋄ ⍵÷2}traj 7                     ⍝ Trajectory of osc function
7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

⍝ This operator gives the next approximation in a Newton-Raphson iteration:

nr←{                    ⍝ Newton-Raphson.
⍺←⎕CT               ⍝ default increment.
y ∆y←⍺⍺¨⍵+0 ⍺       ⍝ f(⍵), f(⍵+∆)
⍵+(⍺×y)÷y-∆y        ⍝ next estimate.
}

:If ⎕FR=1287
2∘○ nr traj 1.5         ⍝ Root of Cos(x) near 1.5.
1.5 1.570914844 1.570796327 1.570796327
1e¯3∘(2∘○ nr)traj 1.5   ⍝ Same again but with an explicit increment.
1.5 1.570912342 1.570796327 1.570796327 1.570796327 1.570796327
:Else
2∘○ nr traj 1.5         ⍝ Root of Cos(x) near 1.5.
1.5 1.570990983 1.570796171 1.570796327 1.570796327 1.570796327
1e¯3∘(2∘○ nr)traj 1.5   ⍝ Same again but with an explicit increment.
1.5 1.570912342 1.570796327 1.570796327
:EndIf

' *'[⎕io+↑≠\traj 32⍴1]          ⍝ Sierpinski triangle.
********************************
* * * * * * * * * * * * * * * *
**  **  **  **  **  **  **  **
*   *   *   *   *   *   *   *
****    ****    ****    ****
* *     * *     * *     * *
**      **      **      **
*       *       *       *
********        ********
* * * *         * * * *
**  **          **  **
*   *           *   *
****            ****
* *             * *
**              **
*               *
****************
* * * * * * * *
**  **  **  **
*   *   *   *
****    ****
* *     * *
**      **
*       *
********
* * * *
**  **
*   *
****
* *
**
*

⍝ Alternative coding:

traj2←{
¯1∘↓∘(,∘⊂∘⍺⍺∘⊃∘⌽⍨⍣(∊⍨∘⊂∘⊃∘⌽⍨)∘⊂)⍵
}

{2|⍵:1+3×⍵ ⋄ ⍵÷2}traj2 7                ⍝ Trajectory of osc function.
7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

Back to: code

Back to: Workspaces
```