Euler method: Difference between revisions

Add Factor example
m (→‎version 2: changed expression.)
(Add Factor example)
Line 928:
(90.0, 20.00157464)
(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}}==
1,827

edits