Sei sulla pagina 1di 2

Capitolo 1

Derivazione numerica

Data una funzione f (x) ∈ C 2 [a, b], vogliamo approssimare la sua derivata nel
punto di ascissa x̄ ∈ [a, b] utilizzando il rapporto incrementale:
f (x̄ + h) − f (x̄)
Dh =
h
0
Chiaramente, per approssimare f (x̄) con il rapporto incrementale abbiamo
bisogno di scegliere in modo opportuno il valore di h.
Consideriamo lo sviluppo in serie di Taylor di f in un intorno di x̄:
f 00 (η) 2
f (x̄ + h) = f (x̄) + f 0 (x̄)h + h , η ∈ [x̄, x̄ + h] .
2
e osserviamo che
|f 00 (η)|
|Dh − f 0 (x̄)| = h. (1.1)
2
Verifichiamo, in macchina, la qualita’ di questa approssimazione per f (x) = sin x
in x̄ = 1. Nella tabella 1.1, per h = 10−i , i = 1, . . . , 16, viene riportato l’ errore
relativo commesso approssimando f 0 (1) con il rapporto incrementale. I risultati
sono ottenuti utilizzando una precisione di macchina m ' 10−16 .
Si osservi che, per valori di h maggiori o uguali a 10−7 , l’errore relativo, coe-
rentemente con la (1.1), si comporta come un O(h), ma per h < 10−7 si ha
una perdita di accuratezza che puo’ essere spiegata osservando che qualunque
errore presente nel calcolo del numeratore di Dh viene amplificato da un fattore
1/h. Infatti se indichiamo con D̃h il valore del rapporto incrementale calcolato
in macchina e supponiamo per semplicità che i risultati restituiti dalla funzione
f (x) siano affetti da errori dell’ordine di m , otteniamo:
|D̃h − f 0 (x̄)| ≤ |Dh − f 0 (x̄)| + |D̃h − Dh |
h 00 2m
≤ |f (η)| + .
2 h
Il termine destro di questa relazione tiene conto sia dell’errore di troncamento
nella serie di Taylor sia degli errori di arrotondamento dovuti all’uso dell’aritme-
tica finita. Osserviamo che l’errore globale, dato da |D̃h − f 0 (x̄)| è minimizzato

1
h Errore Relativo
1.0e-001 7.94713494e-002
1.0e-002 7.80364031e-003
1.0e-003 7.78870464e-004
1.0e-004 7.78720525e-005
1.0e-005 7.78705223e-006
1.0e-006 7.78724808e-007
1.0e-007 7.74153481e-008
1.0e-008 5.49671026e-009
1.0e-009 9.72442009e-008
1.0e-010 1.08237621e-007
1.0e-011 2.16305585e-006
1.0e-012 8.00296731e-005
1.0e-013 1.35834308e-003
1.0e-014 6.86092981e-003
1.0e-015 02.74091121e-002
1.0e-016 1.00000000e+000

Tabella 1.1: Errore relativo commesso approssimando la derivata prima di


f (x) = sin x in x̄ = 1 con il rapporto incrementale, al variare di h.

p
quando h ' 2 m /|f 00 (η)|. Questa scelta di h non può però essere effettuata
in pratica perchè la derivata seconda di f non è chiaramente nota. Una scelta
euristica, che produce valori dell’ errore globale vicini al valore minimo, è quella
di utilizzare, per il calcolo del valore incrementale il seguente valore di h:

h = |x̄| m .

Questa scelta di h corrisponde ad utilizzare un punto x̄ + h tale che

|(x̄ + h) − x̄| √
= m .
|x̄|