Sperimentazioni dell'algoritmo

Proviamo il nostro algoritmo su una semplice funzione: $f(x)=x - cosx$; 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 $[0,1]$ come intervallo per la ricerca del nostro zero, in quanto $f(x)$ è 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

»



Morpheus 2004-01-04