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