Metodo di bisezione

Da Wikipedia

I metodi per calcolare in modo approssimato le radici di un’equazione (valori dell’incognita che soddisfano l’equazione) si articolano in due fasi:

  1. nella prima fase si separano le radici, ovvero si determinano gli intervalli della retta reale che contengono una sola radice dell’equazione;
  2. nella seconda fase si calcola un valore approssimato della radice dell’equazione applicando uno dei metodi disponibili.

Quando si sono separate le radici, ad esempio, si è trovato che la radice alpha è compresa nell’intervallo [a,b] abbiamo due valori approssimati, uno per difetto a ed uno per eccesso b della radice.

Si tratta di restringere l’intervallo in modo da ottenere valori più approssimati, secondo una approssimazione fissata. I procedimenti sono iterativi.


In analisi matematica il teorema di Bolzano, detto anche teorema degli zeri per le funzioni continue, assicura l’esistenza di almeno una radice delle funzioni continue reali che assumano segni opposti ai due estremi di un intervallo.

Nel caso ci si trovi in presenza di una funzione strettamente monotona, il teorema dice che lo zero è unico; se non si fa tale ipotesi gli zeri possono essere più di uno.

Nelle ipotesi

  • f(x) continua in [a, b]
  • La funzione cambia segno negli estremi dell’intervallo
    • f(a) < 0 < f(b)
    • f(a) > 0 > f(b)

il metodo di bisezione funziona perché a ogni passo

  • calcola il valore centrale dell’ascissa: \displaystyle m_i = (a_i + b_i)/2
  • assegnare il valore di m_i a a_i oppure a b_i in modo da mantenere il cambio di segno della funzione
xf(x)
a_1 <x_*< b_1f(a_1) <0< f(b_1)
a_1 \le a_2 \lex_*\le b_2 \le b_1f(a_1) \le f(a_2) \le0\le f(b_2) \le f(b_1)
a_1 \le a_2 \le \dots \le a_n \lex_*\le b_n \le \dots \le b_2 \le b_1f(a_1) \le f(a_2) \le \dots \le f(a_n) \le0\le f(b_n) \le \dots \le f(b_2) \le f(b_1)

Esempio

Data l’equazione \displaystyle \frac{1}{3}x^3 - \frac{5}{3}x^2 + 2 x = 0 calcolare, in modo approssimato, le sue radici.

Un’equazione polinomiale di 3° grado può avere fino a 3 radici reali.
L’equazione può essere studiata facilmente e le radici sono 0, 2, 3.

Separazione delle radici (fai finta di averlo fatto per tentativi…)

x_if(x_i)?
1-0,5-1,458333...
2+0,5+0,625000- / +
3+2,5-0,208333...+ / -
4+4,0+2,666666...- / +

Hai individuato 3 intervalli dove la funzione cambia segno, hai separato le 3 radici dell’equazione.

Concentriamo la nostra attenzione su uno dei 3 intervalli, per esempio [2,5, 4,0]

Passoxf(x)
aimibif(ai)f(mi)f(bi)
12,5000003,2500004,000000-0,208333+0,338542+2,666667
22,5000002,8750003,250000-0,208333-0,104818+0,338542
32,8750003,0625003,250000-0,104818+0,067790+0,338542
42,8750002,9687503,062500-0,104818-0,029958+0,067790
52,9687503,0156253,062500-0,029958+0,015952+0,067790
62,9687502,9921883,015625-0,029958-0,007731+0,015952

Dopo pochi passi

  • x = 2,992188, molto vicina a 3
  • y = -0,007731, molto vicina a 0.

Criteri per fermare l’iterazione

  1. Se f(x) = 0 allora x è la radice dell’equazione.
  2. Se si decide di interrompere l’iterazione al passo i-esimo allora l’errore che si commette è minore di bi-mi, oppure mi-ai, la dimensione del prossimo intervallo delle x
PassoxErrore
minore di
f(x)
aimibimi-ai
bi-mi
f(ai)f(mi)f(bi)
12,5000003,2500004,0000000,750000-0,208333+0,338542+2,666667
22,5000002,8750003,2500000,375000-0,208333-0,104818+0,338542
32,8750003,0625003,2500000,187500-0,104818+0,067790+0,338542
42,8750002,9687503,0625000,093750-0,104818-0,029958+0,067790
52,9687503,0156253,0625000,046875-0,029958+0,015952+0,067790
62,9687502,9921883,0156250,023438-0,029958-0,007731+0,015952

Dopo 6 passi la soluzione approssimata è x = 2,992188.
Se si ferma l’iterazione si commette un errore minore di 0,023438.


Wikipedia: Teorema di Bolzano – Metodo della bisezione – Calcolo di uno zero di una funzione