Euler method: Difference between revisions
Content added Content deleted
m (→version 2: changed expression.) |
(Add Factor example) |
||
Line 928: | Line 928: | ||
(90.0, 20.00157464) |
(90.0, 20.00157464) |
||
(100.0, 20.00047239)</pre> |
(100.0, 20.00047239)</pre> |
||
=={{header|Factor}}== |
|||
<lang factor>USING: formatting fry io kernel locals math math.ranges |
|||
sequences ; |
|||
IN: rosetta-code.euler-method |
|||
:: euler ( quot y! a b h -- ) |
|||
a b h <range> [ |
|||
:> t |
|||
t y "%7.3f %7.3f\n" printf |
|||
t y quot call h * y + y! |
|||
] each ; inline |
|||
: cooling ( t y -- x ) nip 20 - -0.07 * ; |
|||
: euler-method-demo ( -- ) |
|||
2 5 10 [ '[ [ cooling ] 100 0 100 _ euler ] call nl ] tri@ ; |
|||
MAIN: euler-method-demo</lang> |
|||
{{out}} |
|||
<pre> |
|||
. . . |
|||
0.000 100.000 |
|||
10.000 44.000 |
|||
20.000 27.200 |
|||
30.000 22.160 |
|||
40.000 20.648 |
|||
50.000 20.194 |
|||
60.000 20.058 |
|||
70.000 20.017 |
|||
80.000 20.005 |
|||
90.000 20.002 |
|||
100.000 20.000 |
|||
</pre> |
|||
=={{header|Forth}}== |
=={{header|Forth}}== |