Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| pp:2024:l09 [2024/04/29 08:40] tpruteanu | pp:2024:l09 [2024/04/29 15:57] (current) tpruteanu | ||
|---|---|---|---|
| Line 151: | Line 151: | ||
| -- This is an infinite data type, no way to stop generating the tree | -- This is an infinite data type, no way to stop generating the tree | ||
| data StreamBTree = StreamNode Int StreamBTree StreamBTree | data StreamBTree = StreamNode Int StreamBTree StreamBTree | ||
| + | |||
| + | sbtree = StreamNode 1 sbtree sbtree | ||
| </code> | </code> | ||
| Line 159: | Line 161: | ||
| {- | {- | ||
| - | > sliceTree 2 (repeatTree 3) | + | > sliceTree 2 sbtree | 
| - | 3 | + | 1 | 
| | | | | ||
| --------- | --------- | ||
| |  | | |  | | ||
| - | 3 3 | + | 1 1 | 
| -----  -----  | -----  -----  | ||
| |  |  |  | | |  |  |  | | ||
| Line 270: | Line 272: | ||
| ==== Mathematical Constants ==== | ==== Mathematical Constants ==== | ||
| - | **9.3.4.**  | + | **9.3.4.** Knowing that $math[\displaystyle \lim_{n \rightarrow \infty} \frac{F_{n+1}}{F_n} = \varphi], where $math[F_n] is the nth element of the **Fibonacci** sequence, write an\\ | 
| - | + | ||
| - | Knowing that $math[\displaystyle \lim_{n \rightarrow \infty} \frac{F_{n+1}}{F_n} = \varphi], where $math[F_n] is the nth element of the **Fibonacci** sequence, write an\\ | + | |
| approximation with **tolerance** ''e=0.00001'' of the **Golden Ration** ($math[\varphi]). Use the previously defined ''fibs'' **stream** and the ''select'' function. | approximation with **tolerance** ''e=0.00001'' of the **Golden Ration** ($math[\varphi]). Use the previously defined ''fibs'' **stream** and the ''select'' function. | ||
| Line 281: | Line 281: | ||
| </code> | </code> | ||
| - | **9.3.5.**  | + | **9.3.5.** Consider the //sequence//: | 
| - | + | ||
| - | Consider the //sequence//: | + | |
| $math[a_{n+1} = a_n + sin(a_n)]; where $math[a_0] is an //initial approximation//, randomly chosen (but **not** 0 because $math[a_{n+1} != a_n]). | $math[a_{n+1} = a_n + sin(a_n)]; where $math[a_0] is an //initial approximation//, randomly chosen (but **not** 0 because $math[a_{n+1} != a_n]). | ||
| Line 297: | Line 295: | ||
| ==== Square Root ==== | ==== Square Root ==== | ||
| - | **9.3.6.**  | + | **9.3.6.** Given a number ''k'', we want to create a function which calculates the\\ | 
| - | + | ||
| - | Given a number ''k'', we want to create a function which calculates the\\ | + | |
| **square root** of ''k''. This is another place where **laziness** and **streams** come into play. | **square root** of ''k''. This is another place where **laziness** and **streams** come into play. | ||
| Line 316: | Line 312: | ||
| ==== Derivatives ==== | ==== Derivatives ==== | ||
| - | **9.3.7.**  | + | **9.3.7.** We can approximate the derivative of a function in a certain point using the definition of the derivative: | 
| - | + | ||
| - | We can approximate the derivative of a function in a certain point using the definition of the derivative: | + | |
| $math[\displaystyle f'(a)=\lim_{h \rightarrow 0} \frac{f(a+h)-f(a)}{h}] | $math[\displaystyle f'(a)=\lim_{h \rightarrow 0} \frac{f(a+h)-f(a)}{h}] | ||