Esercitazione n.10  individuale

prova B
 

Ricerca degli zeri di una funzione

Consideriamo il problema generale della ricerca della soluzione di un'equazione non lineare del tipo g(x)=h(x).
Questa è sempre riconducibile alla forma f(x)=0.
Se la funzione f non presenta singolarità nell'intervallo [a,b] possiamo affermare che questo contiene almeno uno zero della funzione se f(a) e f(b) hanno segno opposto.

Dato un intervallo in cui la funzione abbia un solo zero possiamo usare il metodo di bisezione per localizzarlo. Il metodo consiste nella ricerca binaria della soluzione attraverso un algoritmo iterativo.
Siano ai e bi gli estremi dell'intervallo nel quale si cerca lo zero all'i-esimo passo dell'iterazione, si definisce ci = (ai+bi)/2 e si valuta il prodotto f(ci)f(ai)=pi. Si possono avere tre casi:
1. pi == 0 la soluzione cercata è ci
2. pi > 0 la soluzione è tra ci e bi, si pone ai+1 = ci e bi+1 = bi
3. pi < 0 la soluzione è tra ci e ai, si pone ai+1 = ai e bi+1 = ci
Si ripete il tutto fin tanto che p non si annulla  o si sia raggiunta la precisione richiesta: |a-b|<epsilon

Scrivere un programma per la ricerca degli zeri di una funzione di vostra scelta.