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}}==