Problema: approssimare
con una tolleranza assoluta
o relativa
assegnata.
Viene generata una sequenza di valori
con
, e con
stima dell'errore commesso. Ci si arresta al passo
tale che
con
stima ragionevole dell'integrale.
Si possono scegliere due strategie.
- Strategia non adattiva: nella procedura non adattiva
viene calcolato con una legge di distribuzione dei nodi fissata. Al passo
consideriamo
nodi equispaziati, e nel passo successivo
ne consideriamo
. Utilizziamo le formule di Newton-Coves composite.
- Strategia adattiva: la distribuzione dei nodi non è fissata a priori, gli intervalli vengono partizionati a seconda delle esigenze e integrati separatamente.
Per stimare
, usiamo un criterio basato sull'estrapolazione di Richardson.
In base alle stime di errore a priori per le formule composite e
pari, si ha
Ad esempio, nel caso di Simpson
e si ha:
Riscrivo la formula dell'errore con
sottointervalli:
Sottraggo membro a membro le formule 1 e 2, e tenendo conto che
segue che
cioè
e sostituendo l'espressione trovata per
nella formula 2
Possiamo stimare l'errore commesso con la formula di Simpson su
sottointervalli sulla base del calcolo di due formule di quadratura approssimata. Si stima che l'errore assoluto, quando si passa a
sottointervalli, si riduca di 15.
Questa strategia è utile quando la funzione ha delle singolarità. Consideriamo un sottointervallo qualsiasi
dell'intervallo su cui si vuole integrare, e si pone
Poniamo
. Per il metodo di Simpson
e per l'errore si ha
Consideriamo Simpson su 2 sottointervalli, e definiamo
Se assumiamo che le due derivate quarte siano circa uguali, si può scrivere
e siccome
si ha
e abbiamo un fattore 16 di riduzione dell'errore.
Sottraiamo membro a membro le formule di errore 1 e 2.
e sostituendo nella formula 2:
L'errore si stima come
Questa è una stima a posteriori dell'errore applicando Simpson quando lo applichiamo al generico intervallo
.
Nella pratica, si considera il seguente test
dove chiamiamo
la quantità al numeratore.
Per ottenere la stima d'errore sull'intero intervallo
, ci si arresta quando
Infatti, se questo avviene, per l'errore totale si ha:
perché la somma delle lunghezze degli intervallini è la lunghezza di
.
Chiamiamo
l'intervallo di integrazione attivo in cui si deve calcolare l'integrale. Chiamiamo
l'intervallo di integrazione già esaminato, in cui il test
è verificato.
Chiamiamo
l'intervallo di integrazione non ancora esaminato.
Fissiamo i tre intervalli:
Al generico istante dell'algoritmo chiamiamo
Supponiamo di aver calcolato
. Se il test d'arresto è verificato, aggiungiamo a
il nuovo pezzo di integrale, altrimenti dividiamo
in due parti.
Sul calcolatore si controlla anche che
non diventi eccessivamente piccolo.
La function quad è il metodo utilizzato da Matlab per calcolare gli integrali ed è ricorsiva.
Consideriamo il punto medio di
, poniamo
, e consideriamo i sei sottointervalli ottenuti ponendo:
La distribuzione non è esattamente uniforme.
Si applica Simpson sui punti a tre a tre, e si ottiene l'approssimazione dell'integrale:
dove
si ottengono applicando Simpson rispettivamente a
, a
e a
.
Poniamo
. Dividiamo
esattamente a metà, considerandone il punto medio
. Poniamo
,
.
Per poter applicare il test d'arresto, calcoliamo
e raddoppiando il numero dei nodi:
e poniamo poi
(è la stima dell'errore tra il passo 0 e il passo
).
Se
, il metodo si arresta, altrimenti
viene spezzato in due parti.
e si applica ricorsivamente la function quad ai due sottointervalli ottenuti.
Abbiamo una chiamata ricorsiva alla funzione, l'integrale complessivo viene calcolato come somma di due integrali.
Data una funzione con una singolarità, si spezza l'integrale in quel punto e si fa la somma degli integrali separati.