hbui
2024-07-19 5c28e0abb061a32f61ad0626cbba64a1fbcd4576
num-int/src/numint/RiemannSum.py
@@ -16,26 +16,22 @@
def numint(f, a, b, epsilon=1e-3):
    dx = b - a
    x = [a, b]  # debug only
    y = [f(a), f(b)]
    s_left = dx * y[0]
    s_right = dx * y[1]
    (n, parts) = (1, 1)
    (n, parts) = (0, 1)
    while abs(s_right - s_left) > epsilon:
        x = [a, b]  # debug only
        parts = 2 * parts
        dx = dx / 2
        n += 1
        print(n, " → ", parts)
        # print(n, " → ", parts)
        for i in range(1, parts, 2):
            x.insert(i, a + i * dx)  # debug only
            x.insert(i, a + i * dx)
            y.insert(i, f(a + i * dx))
            # print(i, end=" ")
        # print()
        # print("    ", x)
        # print("    ", y)
        s_left = sum(y[0:-1]) * dx
        s_right = sum(y[1:]) * dx
    return s_left, s_right
    return x, y, s_left, s_right, n
def numint_compact(f, a, b, epsilon=1e-3):
@@ -49,15 +45,10 @@
        parts = 2 * parts
        dx = dx / 2
        n += 1
        print(n, " → ", parts)
        for i in range(1, parts, 2):
            # print(i, end=" ")
            y = f(a + i*dx)
            y_l += y
            y_r += y
        print()
        # print("    ", x)
        # print("    ", y)
        s_left = y_l * dx
        s_right = y_r * dx
    return s_left, s_right