...

Dispense sui vari metodi (rettangoli, trapezi, Cavalieri

by user

on
Category: Documents
22

views

Report

Comments

Transcript

Dispense sui vari metodi (rettangoli, trapezi, Cavalieri
Integrazione numerica
Ovvero come calcolare numericamente l'area sottesa al grafico di una funzione.
Supponiamo di avere una funzione
f (x ) integrabile nell'intervallo (a,b). L'integrale può essere stimato
a) suddividendo la regione sottesa alla funzione in tanti rettangolini (metodo dei rettangoli)
In questo modo, suddividendo l'intervallo (a,b) in N parti, si ha che la stima dell'area risulta essere pari alla somma delle
aree di tutti i rettangolini, ovvero:
b
∫a
f ( x) dx ≃
(b−a) N
∑i=0 f ( x i)
N
b−a
la base dei rettangolini, l'errore commesso nell'approssimazione andrà linearmente con dx ,
N
ovvero ε ∝ dx . L'integrale di una funzione costante ( f ( x )=q )sarà calcolato in modo esatto.
Detta dx=
b) suddividendo la regione sottesa alla funzione in tanti trapezi (metodo dei trapezi), migliorando in questo modo il
precedente metodo
In questo modo, suddividendo l'intervallo (a,b) in N parti, si ha che la stima dell'area risulta essere pari alla somma delle
aree di tutti i trapezi, ovvero:
b
∫a
f ( x) dx ≃
(b−a)
⋅
N
(
f (a)+ f (b)
+
2
N−1
∑i=1
f ( x i)
)
b−a
la base dei rettangolini (ora trapezi), l'errore commesso nell'approssimazione andrà quadraticamente
N
con dx , ovvero ε ∝ dx 2 . L'integrale di una funzione lineare ( f (x )=m x +q ) sarà calcolato in modo esatto.
Detta dx=
c) suddividendo la regione sottesa alla funzione in tanti archi di parabola (metodo dei Cavalieri-Simpson) migliorando
così entrambi i precedenti metodi.
Si suddivide l'intervallo (a,b) in N parti. Si considerano 3 punti alla volta e si determina l'equazione della parabola
passante per quei tre punti. A questo punto si determina l'area sottesa a quell'arco di parabola, pari (dopo un po' di
dx
b−a
f (x 0 )+4 f ( x 1)+ f ( x 2 ) ) con dx=
passaggi) a
. Sommando su tutti gli N intervalli si ottiene
(
3
N
b
∫a
f ( x) dx ≃
(b−a)
⋅ ( f (x 0 )+ 4 f ( x 1 )+ 2 f (x 2 )+4 f ( x 3) + .. . + 4 f ( x N −3 )+ 2 f (x N −2)+ 4 f ( x N −1 )+ f ( x N ) )
N
L'errore commesso nell'approssimazione andrà come ε ∝ dx 3 . L'integrale di una funzione quadratica (
2
f ( x )=a x + b x +c ) sarà calcolato in modo esatto.
d) utilizzando un metodo stocastico (o Monte Carlo).
In questo caso si calcola l'area come nel caso a) prendendo però i punti x i non più a distanze regolari uno dall'altro
ma prendendo N valori x i a caso nell'intervallo (a,b) . È evidente che se il campionamento di x i è uniforme e che
se N è sufficientemente grande otteniamo un valore ragionevole per la stima dell'integrale:
b
(b−a) N
∫a f ( x) dx ≃ N ∑i=0 f ( x i)
L'errore va come ε ∝ √ (dx ) , quindi “peggio” che nel caso a). L'utilità e l'efficienza dell'algoritmo risulta evidente
nell'integrare una funzione a più variabili (integrando su 2 o più dimensioni).
d) Metodo stocastico (Monte Carlo)
Stima di pi greco con l'uso di metodi stocastici.
Parte prima
Con la funzione rand() otteniamo un numero intero casuale compreso fra 0 e la costante predefinita RAND_MAX. Per ottenere
un numero x reale compreso fra 0 e 2 dovremo quindi scrivere:
x=2.*(float)rand()/(float)RAND_MAX;
(1)
Le due istruzioni (float) nella precedente servono per convertire quanto sta a destra ad una variabile di tipo float e vengono
dette “cast”, ovvero conversione di tipo. Senza tali istruzioni la divisione dell'istruzione precedente risulterebbe essere una
divisione fra interi (quali sono appunto l'output della funzione “rand” e la costante predefinita RAND_MAX), e quindi il risultato
verrebbe troncato all'intero, anche se la variabile x è stata definita come float.
Proviamo quindi a calcolare l'area di un cerchio sparando dei punti a caso, compresi nel quadrato
circoscritto al cerchio. È chiaro che la probabilità di trovare un punto all'interno del cerchio è pari al
rapporto fra l'area del cerchio e quella del quadrato.
2
Campioneremo quindi un numero di punti N TOT sufficientemente grande, di coordinate (x,y), con x e y
0
calcolati come dalla precedente formula.
2
Per ogni punto verificheremo se è interno alla circonferenza, ovvero se la distanza del punto (x,y) dal centro del cerchio è
minore uguale al raggio.
Il rapporto del numero dei punti interni NINT alla circonferenza sul numero dei punti totali NTOT soddisferà la seguente:
lim
N TOT  ∞
N lNT  r 2 
=
=
N TOT 4 r 2 4
(2)
Limitandoci ad un NTOT finito otterremo una stima approssimata di π
≃4
N lNT
N TOT
(3)
Parte seconda
Con una piccola modifica vediamo come migliorare l'algoritmo. Considera la figura seguente y
corrispondente ad un quarto di cerchio.
L'arco di circonferenza rappresentato può essere visto come una funzione di equazione
y= f  x= r 2− x 2
per 0 < x < r
(4)
Il rapporto fra le due aree sarà sempre pari a π/4. Come sopra potremmo campionare un insieme di
punti (x,y) distribuiti uniformemente nel quadrato e proseguire allo stesso modo.
a
b
Possiamo notare però che in questo caso non è più necessario campionare la y, e si può migliorare
l'efficienza dell'algoritmo. Per una data x la probabilità che il punto sia interno alla circonferenza (ovvero sotto la curva di
equazione (4)) sarà proporzionale al valore della funzione in quel punto. Ovvero, indicando con {xi} l'insieme delle x
campionate, con 1 < i < NTOT , avremo che
N TOT
f  xi b−a 

= lim ∑
4 N  ∞ i =1
N TOT
(5)
TOT
Parte terza
Siamo partiti con l'intenzione di stimare semplicemente il valore di π. Se osserviamo però la formula (5) ci accorgiamo come
questa si possa usare per il calcolo dell'area sottesa ad una generica funzione nell'intervallo (a,b).
Volendo, per esempio, calcolare l'area sottesa al grafico della funzione
g  x=exp x −1
(6)
nell'intervallo (a=2,b=5) posiamo stimarla semplicemente campionando un numero NTOT di variabili stocastiche xi
uniformemente distribuite nell'intervallo (a,b), ovvero:
x
xi=(float)rand()/(float)RAND_MAX * (b-a) + a;
(7)
e, allo stesso modo dell'equazione (5), stimare l'area con la seguente:
N TOT
A≃ ∑
i=1
g  x i b−a
N TOT
(8)
che in questo caso risulta uguale 138.024.
Curiosità
Come probabilmente avrai notato, il metodo dei “rettangoli” risulta essere più accurato a parità di costo computazionale
(tempo impiegato) per calcolare l'area. L'approccio appena visto sembrerebbe per tanto una inutile complicazione. Così però
non è se si considera un problema in più dimensioni, ovvero se si considera una funzione di più variabili, f(x,y,z....).
Facciamo un esempio.
Per il calcolo con una certa accuratezza dell'area sottesa ad una funzione f(x) si
necessita di un campionamento di almeno NTOT punti, ovvero del calcolo
dell'area di NTOT rettangolini.
Per analogo calcolo con analoga accuratezza del volume(e non l'area, ora c'è
una dimensione in più!) sotteso alla curva di una funzione f(x,y) si necessiterà di
un campionamento di almeno (NTOT * NTOT)= NTOT2 punti, ovvero del calcolo del
volume di NTOT 2 parallelepipedi.
Ti accorgi così che il numero di parallelepipedi da considerare va
esponenzialmente con il numero di variabili della funzione f. Ovvero calcolare l'iper-volume sotteso ad una funzione
f(x1,x2,...xK) costerà il calcolo di NK iper-volumetti. Al contrario col metodo stocastico appena visto questo non è altrettanto
vero, e per problemi a più dimensioni risulta pertanto essere molto più efficiente.
a) Regola del rettangolo
Da Wikipedia, l'enciclopedia libera.
La regola del rettangolo o regola del punto medio, è il più semplice procedimento di integrazione numerica per approssimare
un integrale definito nella forma :
.
Tale formula approssima l'integrale (e quindi l'area sottesa dalla funzione) come un rettangolo di base
e di altezza
dove a e b sono gli estremi di integrazione e c è il punto medio dell'intervallo, ottenendo un'espressione finale per l'integrale
,
pari a:
Formula composita
Illustrazione del metodo del punto medio composito
Per calcolare con più accuratezza l'integrale, si divide l'intervallo di integrazione
in
sottointervalli di ampiezza
uniforme pari a
La formula del punto medio diventerà dunque
sottointervallo.
, dove
rappresenta il punto medio del k-esimo
Analisi dell'errore
L'errore sviluppato con il metodo del rettangolo, assumerà la seguente espressione:
, dove
è un opportuno punto compreso nell'intervallo
.
Nel caso si usi il metodo composito l'errore sarà
. Dalla formula dell'errore si deduce che il metodo
integra esattamente polinomi di primo grado, e che l'errore diminuisce quadraticamente rispetto all'ampiezza dei sottointervalli
.
b) Regola del trapezio
Da Wikipedia, l'enciclopedia libera.
Regola del trapezio.
In analisi numerica, la regola del trapezio fornisce un procedimento per il calcolo approssimato di un integrale definito della
forma
.
La regola del trapezio o di Stevin, nella sua formulazione elementare, propone di approssimare l'integrale, cioè l'area della
regione piana compresa fra il grafo della funzione
(b,0) e (a,0). Di conseguenza
e l'asse delle ascisse con l'area del trapezio di vertici (a,f(a)), (b,f(b)),
.
Come è visivamente intuibile, questa approssimazione è accettabile se nell'intervallo di integrazione la funzione ha un
andamento che si scosta poco dal lineare. Se questo non accade si può suddividere l'intervallo complessivo
in un numero
n opportuno di sottointervalli in ciascuno dei quali in genere accade che la funzione ha andamento poco lontano dal lineare;
quindi la regola del trapezio nella forma composta dice di applicare l'approssimazione precedente a tutti i sottointervalli. Si
ottiene quindi la formula
La regola del trapezio fa parte della famiglia di formule per l'integrazione numerica chiamate formule di Newton-Cotes. Di
questa famiglia fa parte anche la regola di Cavalieri-Simpson che dà spesso risultati più accurati. La regola di CavalieriSimpson e altri metodi simili migliorano la regola dei trapezi per gran parte delle funzioni dotate di due derivate continue.
Accade però per certe funzioni dal comportamento irregolare che la più semplice regola del trapezio risulti preferibile. Inoltre la
regola del trapezio tende a diventare molto accurata per gli integrali di funzioni periodiche nei rispettivi intervalli di periodicità;
questo comportamento viene chiarito in relazione alla formula di Eulero-Maclaurin.
c) Regola di Cavalieri-Simpson
Da Wikipedia, l'enciclopedia libera.
Per regola di Cavalieri-Simpson o regola di Simpson si intende un metodo per il calcolo numerico approssimato di integrali
definiti della forma:
.
Come tutti i procedimenti per il calcolo approssimato di integrali definiti e per altri calcoli approssimati a partire da funzioni di
variabile reale, tale metodo si utilizza per funzioni
delle quali non si conosce la funzione primitiva, oppure della cui
primitiva si conoscono solo caratteristiche dalle quali non si riesce a ricavare una espressione tramite funzioni elementari che
possa essere ragionevolmente utilizzata per i calcoli richiesti. Questi metodi approssimati si utilizzano inoltre nei casi in cui non
è nota una espressione analitica della funzione da integrare, ma si conoscono soltanto alcuni suoi valori (ottenuti
sperimentalmente o ricavati da altre fonti), oppure quando è noto soltanto il suo diagramma (tracciato con l'ausilio di appositi
strumenti o ricavato dalla letteratura).
La formula di quadratura o metodo delle parabole
La regola di Cavalieri-Simpson approssima l'integrale della funzione richiesta (in blu) con quello della parabola che la interpola
nei nodi (in rosso)
La regola di Cavalieri-Simpson prevede la suddivisione dell'intervallo di integrazione in sottointervalli e la sostituzione in
questi sottointervalli della funzione integranda mediante archi di parabola, cioè mediante polinomi quadratici.
Consideriamo dunque
integrazione
.
Suddiviso
; per semplicità di raffigurazione supponiamo sia
in un numero pari n=2m di sottointervalli, ciascuno di ampiezza
in tutto l'intervallo di
. Introduciamo poi le notazioni
per gli estremi dei successivi sottointervalli e per i valori che la funzione assume in loro corrispondenza.
Consideriamo anche l'intervallo parziale formato da due sottointervalli consecutivi avente come estremi
consideriamo anche i successivi m-1 intervalli parziali aventi come estremi rispettivamente
e , ... ,
e
; oltre a questo
e .
In ciascuno di questi intervalli parziali ci proponiamo di sostituire
con una funzione razionale intera di secondo grado.
Cominciamo dal primo intervallo parziale e scegliamo un polinomio della forma
in modo che il suo integrale tra
trascurabile.
e
differisca da quello della funzione originale di una quantità che possa risultare
La espressione polinomiale sostitutiva rappresenta una generica parabola con asse di simmetria verticale. Per determinare il
valore delle costanti A, B e C si impone il passaggio della parabola per i punti di coordinate:
.
In questo modo la parabola è univocamente determinata dalla risoluzione del seguente sistema di equazioni lineari:
,
da cui risulta:
Per il valore dell'integrale di questo polinomio che scriviamo
si trova:
=
.
Sostituendo i valori di A, B e C ricavati dal sistema, si ottiene il valore approssimato
.
Operiamo in modo analogo per il calcolo degli integrali dei polinomi nei successivi m-1 intervalli parziali; successivamente si
sommano i valori ottenuti sugli m intervalli parziali e per l'intero intervallo d'integrazione si ottiene un valore approssimato che
denotiamo J per l'integrale da valutare:
.
Dunque:
.
Tale formula prende il nome di formula di Cavalieri-Simpson o formula di quadratura delle parabole.
Gli errori
Il metodo di quadratura di Cavalieri-Simpson, come ogni metodo di approssimazione numerica, è suscettibile di errori. Oltre
all'errore dovuto alla sostituzione della funzione integranda con una sequenza di funzioni approssimanti, i polinomi quadratici,
intrinseco al metodo utilizzato, si riscontrano anche errori dovuti all'arrotondamento dei valori che vengono concretamente
calcolati con strumenti che inevitabilmente operano con precisione limitata.
Per ridurre al minimo questi ultimi, è consigliabile:
• scegliere un passo di integrazione
con un numero finito di cifre decimali;
• eseguire i calcoli con un numero di cifre decimali almeno doppio di quello delle cifre che si desiderano esatte nel
risultato.
Indicando l'errore intrinseco al metodo
, si può dimostrare che:
,
dove k è una costante che dipende dalla funzione integranda e dall'intervallo d'integrazione. La regola di Cavalieri-Simpson è
dunque un metodo del quarto ordine.
Di questo errore può essere molto utile conoscere una maggiorazione; la valutazione accurata di tale maggiorazione non è
semplice, poiché richiede di calcolare la derivata quarta della funzione integranda. Per molte funzioni integrande date
analiticamente il calcolo della derivata quarta risulta molto oneroso; per funzioni note empiricamente la stessa valutazione della
derivata quarta costituisce di per se un problema di calcolo approssimato tendenzialmente oneroso. Di conseguenza in genere
per la valutazione dell'errore si preferisce ricorrere a metodi empirici: il più noto e utilizzato è il metodo del dimezzamento del
passo.
Da quanto osservato precedentemente segue che, applicando il metodo di Cavalieri-Simpson con un passo di integrazione h, si
ottiene l'approssimazione che ora indichiamo con
Utilizzando il passo di integrazione
affetta da un errore che scriviamo
, si otterrà il valore approssimato
con errore:
.
.
Da tali relazioni segue:
,
da cui risulta:
.
Poiché, trascurando le approssimazioni da arrotondamento, l'approssimazione migliore è data da
in
, sostituendo il valore di k
, si ottiene:
.
Si può quindi assumere come valore assoluto di
:
come maggiorazione dell'errore assoluto
È interessante osservare che, se le approssimazioni
.
e
coincidono per le prime r cifre decimali, risulta:
il che equivale a dire che le prime r cifre decimali non sono affette da errore.
Si può quindi concludere che se due approssimazioni di un integrale, di cui la seconda ottenuta dimezzando il passo di
integrazione utilizzato per calcolare la prima, coincidono per le prime r cifre decimali, tali cifre si possono ritenere esatte.
Più in generale se si vuole conoscere un'approssimazione di un integrale con la garanzia dell'esattezza per un determinato
numero s di cifre decimali, si deve calcolare un certo numero di approssimazioni successive, dimezzando di volta in volta il
passo, fino ad ottenerne due che coincidono per s cifre.
Osserviamo che può accadere di arrivare alla prima coppia di valori approssimati soddisfacenti che presentano più di s cifre
coincidenti. Osserviamo anche che procedendo con la riduzione dell'ampiezza dei sotto-intervalli, oltre al maggior tempo di
calcolo richiesto, si possono avere errori di arrotondamento tutt'altro che trascurabili a causa dell'aumento del numero di
operazioni richieste; si può anche arrivare a situazioni che vedono aumentare l'errore complessivo con il ridursi del passo di
integrazione. Per tale motivo sono stati concepiti dei metodi di integrazione numerica "adattivi" (o adattativi) che aumentano il
numero dei sotto-intervalli solo nelle zone indicate da un apposito test di errore.
Nota storica
Thomas Simpson è conosciuto al giorno d'oggi soprattutto per la regola di Simpson, il termine prevalente a livello
internazionale. In realtà Simpson utilizzò nelle sue opere una formulazione comunque già diffusa, ma ancora non formalizzata
all'epoca in cui scriveva. Il procedimento era stato trovato 200 anni prima da Keplero e molti testi tedeschi la chiamano
Keplersche Fassregel. Inoltre la formula era stata introdotta e dimostrata dal matematico italiano Bonaventura Cavalieri nel
1635 nella sua formulazione geometrica; per questo motivo in molti testi italiani si vuole rendere omaggio anche a Cavalieri.
Occorre aggiungere che questa regola era nota anche a Evangelista Torricelli. Per quanto riguarda il mondo britannico, sembra
che la regola che porta il nome di Simpson fosse conosciuta e utilizzata in precedenza; essa è stata utilizzata anche da James
Gregory. Inoltre si pensa che nella nota serie televisiva "I Simpsons" il cognome sia stato scelto in base alla storia di Thomas,
in realtà non meritevole della scoperta a lui associata.
Fly UP