Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,40 @@
F left_rect((Float -> Float) f, Float x, Float h) -> Float
R f(x)
F mid_rect((Float -> Float) f, Float x, Float h) -> Float
R f(x + h / 2)
F right_rect((Float -> Float) f, Float x, Float h) -> Float
R f(x + h)
F trapezium((Float -> Float) f, Float x, Float h) -> Float
R (f(x) + f(x + h)) / 2.0
F simpson((Float -> Float) f, Float x, Float h) -> Float
R (f(x) + 4 * f(x + h / 2) + f(x + h)) / 6.0
F cube(Float x) -> Float
R x * x * x
F reciprocal(Float x) -> Float
R 1 / x
F identity(Float x) -> Float
R x
F integrate(f, a, b, steps, meth)
V h = (b - a) / steps
V ival = h * sum((0 .< steps).map(i -> @meth(@f, @a + i * @h, @h)))
R ival
L(a, b, steps, func, func_name) [(0.0, 1.0, 100, cube, cube),
(1.0, 100.0, 1000, reciprocal, reciprocal),
(0.0, 5000.0, 5'000'000, identity, identity),
(0.0, 6000.0, 6'000'000, identity, identity)]
L(rule, rule_name) [(left_rect, left_rect),
(mid_rect, mid_rect),
(right_rect, right_rect),
(trapezium, trapezium),
(simpson, simpson)]
print("#. integrated using #.\n from #. to #. (#. steps) = #.".format(
func_name, rule_name, a, b, steps, integrate(func, a, b, steps, rule)))