dicotomia.py

Created by numworks-italia

Created on April 10, 2020

217 Bytes

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