Euler method: Difference between revisions

(Added Easylang)
Line 1,032:
 
=={{header|EasyLang}}==
[https://easylang.online/show/#cod=jZDdasJAEIXv5ykOFoo/uIyRoCnNE3gnuZcYVw3EbFjHxvTpy6zWqrTQuz3zc3bOly2RImJaIMWYDc9oe6oL5HVedVIWyBgCQwC8lZOvkS0xQj9jjJEtBxiicS0iM5vMozn6CwwhAzLUyVmQIomp8a7Axuft6maaYw1zcS1c5TyYExUH92ExZ+iy6mAyThGrEHsW9L49elraOg/9JYc4rLUCoCprC/lJMGFGcDNkSO/Y+XJDOtWWG9mDzZTU+1h+Wkzp8VLWdXrBhUptW3H1qnCuKusdxB6aBzaavh+qAQ6Zu/D2VFmPjkP4o9hGoz9SKFz1Twq6/4YeXoNTqCuGMI0UHeur3ZeVknh/RtNdpWCU3gzC6lVj+By1uwd4zaJgAx9MGAnz770Y/FcrAidM9AU= Run it]
[https://easylang.online/show/#cod=ZY9NasMwEIX3OsUH3bQpEZOUUgz1FXoHR1YSgSoFZYzR7YsUd5XN8L7HvPk5L8lxRlH/e8Ma4IUfv2pOuJxjSJfmKSPaRPG6lMRerHyx47XH9hzlzVhzK9nhl+gLVZg4ccfliH0Mdjnm0mqDGJJfw6xXxH78r5iaqIxUaWq9huhRvjk13FIodUPlfeS+Qe3Arr/TO6yxZi7TeilhNo+7DiJIrwdhEHmyP5Hh2T0iMhjzBw== Run it]
 
<syntaxhighlight>
TR = 20
func f t temp .
K = -0.07
# Newton cooling
func analytic T0 t = t.
return TR + (T0 -0.07 TR) * pow 2.71828 (tempK -* 20t)
.
ytxt = 95
proc euler y0 a b s col . .
proc draw_analytic a b . .
color 009
move 80 ytxt
ytxt -= 5
text "analytic"
for t = a to b
line t analytic 100 t
.
.
drawgrid
linewidth 0.3
textsize 3
draw_analytic 0 100
#
func f tnewton_cooling temp .
return K * (temp - TR)
.
proc eulerdraw_euler y0 a b sstep col . .
color col
move 80 ytxt
linewidth 0.3
ytxt -= 5
text "step: " & step
t = a
y = y0
while t < b
line t y
t += sstep
y += sstep * f tnewton_cooling y
.
.
eulerdraw_euler 100 0 100 210 009900
drawgrid
eulerdraw_euler 100 0 100 105 900000
eulerdraw_euler 100 0 100 52 090
euler 100 0 100 2 009
</syntaxhighlight>
 
2,023

edits