From f12ecb67472aa2453d3b1b3fb68e4eb9521aee77 Mon Sep 17 00:00:00 2001 From: hbui <hong-phuc.bui@htwsaar.de> Date: Sun, 21 Jul 2024 13:41:27 +0200 Subject: [PATCH] gui ok --- num-int/src/numint/riemann_sum.py | 28 +++++++++++++++++++++++++--- 1 files changed, 25 insertions(+), 3 deletions(-) diff --git a/num-int/src/numint/RiemannSum.py b/num-int/src/numint/riemann_sum.py similarity index 61% rename from num-int/src/numint/RiemannSum.py rename to num-int/src/numint/riemann_sum.py index 826ac3f..250f073 100644 --- a/num-int/src/numint/RiemannSum.py +++ b/num-int/src/numint/riemann_sum.py @@ -1,3 +1,6 @@ +from typing import Callable + + def split(iteration=8): (a, b) = (0, 8) x = [a, b] @@ -14,7 +17,7 @@ pass -def numint(f, a, b, epsilon=1e-3): +def numint_epsilon(f:Callable[[float], float], a: float, b: float, epsilon: float = 1e-3): dx = b - a x = [a, b] # debug only y = [f(a), f(b)] @@ -25,7 +28,6 @@ parts = 2 * parts dx = dx / 2 n += 1 - # print(n, " → ", parts) for i in range(1, parts, 2): x.insert(i, a + i * dx) y.insert(i, f(a + i * dx)) @@ -34,7 +36,27 @@ return x, y, s_left, s_right, n -def numint_compact(f, a, b, epsilon=1e-3): +def numint_section(f:Callable[[float], float], a: float, b: float, section_count: int = 8): + dx = b - a + x = [a, b] + y = [f(a), f(b)] + (n, parts) = (0, 1) + s_left = dx * y[0] + s_right = dx * y[1] + while parts < section_count: + parts = 2 * parts + dx = dx / 2 + n += 1 + for i in range(1, parts, 2): + x.insert(i, a + i * dx) + y.insert(i, f(a + i * dx)) + s_left = sum(y[0:-1]) * dx + s_right = sum(y[1:]) * dx + pass + return x, y, s_left, s_right, n + + +def numint_compact(f: Callable[[float], float], a: float, b: float, epsilon=1e-3): dx = b - a y_l = f(a) y_r = f(b) -- Gitblit v1.10.0-SNAPSHOT