first commit

This commit is contained in:
emil
2024-12-07 03:02:56 +03:00
commit ac60aa2e49
+22
View File
@@ -0,0 +1,22 @@
import math
def f_bisection(x):
return x**3 - 6*x**2 + 11*x - 6
def bisection_method(a, b, eps):
fa = f_bisection(a)
fb = f_bisection(b)
if fa * fb > 0:
raise ValueError("f(a)*f(b) > 0. No guarantee that a root exists in the interval [a,b].")
while True:
c = (a + b) / 2.0
fc = f_bisection(c)
if abs(fc) < eps:
return c
if fa * fc < 0:
b = c
fb = fc
else:
a = c
fa = fc