Есть ли способ деления пополам, который я могу найти онлайн, специально для python?
Например, учитывая эти уравнения, как я могу решить их, используя метод деления пополам?
x^3 = 9 3 * x^3 + x^2 = x + 5 cos^2x + 6 = x
Использование scipy.optimize.bisect :
import scipy.optimize as optimize import numpy as np def func(x): return np.cos(x)**2 + 6 - x # 0<=cos(x)**2<=1, so the root has to be between x=6 and x=7 print(optimize.bisect(func, 6, 7)) # 6.77609231632
optimize.bisect вызывает _zeros._bisect, что реализовано в C.
optimize.bisect
_zeros._bisect