Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
21
Task/Runge-Kutta-method/Sidef/runge-kutta-method.sidef
Normal file
21
Task/Runge-Kutta-method/Sidef/runge-kutta-method.sidef
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
func runge_kutta(yp) {
|
||||
func (t, y, δt) {
|
||||
var a = (δt * yp(t, y));
|
||||
var b = (δt * yp(t + δt/2, y + a/2));
|
||||
var c = (δt * yp(t + δt/2, y + b/2));
|
||||
var d = (δt * yp(t + δt, y + c));
|
||||
(a + 2*(b + c) + d) / 6;
|
||||
}
|
||||
}
|
||||
|
||||
define δt = 0.1;
|
||||
var δy = runge_kutta(func(t, y) { t * y.sqrt });
|
||||
|
||||
var(t, y) = (0, 1);
|
||||
loop {
|
||||
t.is_int &&
|
||||
printf("y(%2d) = %12f ± %e\n", t, y, abs(y - ((t**2 + 4)**2 / 16)));
|
||||
t <= 10 || break;
|
||||
y += δy(t, y, δt);
|
||||
t += δt;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue