A função solve(f,a,b,epsilon) procura uma solução da equação f(x)=0 entre a e b com uma precisão de epsilon por dicotomia. As imagens de a e b por f, f(a) e f(b) devem ter sinais diferentes.
from math import * def solve(f,a,b,epsilon): if f(a)*f(b)>0: return None else: while (b-a)>=epsilon: c=(a+b)/2 if f(b)*f(c)<=0: a=c else: b=c return c