La funzione solve(f,a,b,epsilon) ricerca una soluzione dell’equazione f(x)=0 fra a e b con una precisione ipsilon per dicotomia. Le immagini di a e b da f, f(a) e f(b), devono essere di segni diversi.
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