Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
25
Task/Euler-method/Wren/euler-method.wren
Normal file
25
Task/Euler-method/Wren/euler-method.wren
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
import "/fmt" for Fmt
|
||||
import "/iterate" for Stepped
|
||||
|
||||
var euler = Fn.new { |f, y, step, end|
|
||||
Fmt.write(" Step $2d: ", step)
|
||||
for (t in Stepped.new(0..end, step)) {
|
||||
if (t%10 == 0) Fmt.write(" $7.3f", y)
|
||||
y = y + step * f.call(y)
|
||||
}
|
||||
System.print()
|
||||
}
|
||||
|
||||
var analytic = Fn.new {
|
||||
System.write(" Time: ")
|
||||
for (t in Stepped.new(0..100, 10)) Fmt.write(" $7d", t)
|
||||
System.write("\nAnalytic: ")
|
||||
for (t in Stepped.new(0..100, 10)) {
|
||||
Fmt.write(" $7.3f", 20 + 80 * (-0.07*t).exp)
|
||||
}
|
||||
System.print()
|
||||
}
|
||||
var cooling = Fn.new { |temp| -0.07 * (temp - 20) }
|
||||
|
||||
analytic.call()
|
||||
for (i in [2, 5, 10]) euler.call(cooling, 100, i, 100)
|
||||
Loading…
Add table
Add a link
Reference in a new issue