Proviamo il nostro algoritmo su una semplice funzione: ; dal momento che siamo sicuri della convergenza del metodo, utilizzeremo la soluzione trovata con bisezione per verificare anche gli altri metodi; dapprima verifichiamo se l'intervallo scelto rispetta le richieste del metodo
» fxcosx(0)*fxcosx(1) ans = -0.45969769413186 »
possiamo utilizzare come intervallo per la ricerca del nostro zero, in quanto è continua in quell'intervallo ed ammette valori discordi agli estremi. Vediamo come si comporta l'algoritmo:
» [x,it,tolf,nu]=bisezione(0,1,'fxcosx',1e-15) x = 0.73908513321516 it = 49 tolf = 1.687500000000000e-015 nu = 50
L'algoritmo arriva ad un'approssimazione della funzione con un passo in meno del previsto; verifichiamo la bontà di tale approssimazione:
» fxcosx(x) ans = 4.440892098500626e-016 »
l'approssimazione trovata è sicuramente buona. Lentamente ma il metodo di bisezione arriva ad un valore molto prossimo alla soluzione esatta.
Non sempre il metodo di bisezione è da disprezzare: inseriamo un esempio che ci farà comodo in seguito:
» type fx5 function y=fx5(x) y=(x-5)^5; » [x,it,tolf,nu]=bisezione(4,7,'fx5',1e-15) x = 5.00000000000011 it = 43 tolf = 2.940041181101415e-065 nu = 52 »