INTEGRAZIONE NUMERICA DI UNA FUNZIONE
Prof.Daniele Attampato
La valutazione di integrali definiti quando non è nota la primitiva della
funzione integranda o quando il procedimento analitico risulta complesso
richiede l’applicazione di metodi numerici.
I metodi di integrazione numerica, chiamati anche “quadrature”, sono stati
sviluppati molto prima dell’invenzione dei calcolatori elettronici. Infatti se la
derivata di una funzione può sempre essere calcolata, in generale l’integrale
di una funzione, se pur elementare, non è sempre ottenibile analiticamente.
Per questo motivo già nel 18-esimo e 19-esimo secolo sono stati sviluppati
metodi numerici per il calcolo degli integrali.
Quasi tutti i metodi di quadratura numerici si basano, in un modo o nell’altro,
sull’idea di dividere l’intervallo di integrazione in intervalli più piccoli, stimare
l’integrale su ciascun intervallo sfruttando il fatto che sono piccoli e risommare
il contributo di tutti gli intervalli.
Chiaramente l’idea è quella di riuscire a stimare il più accuratamente possibile
l’integrale con il numero minimo di intervallini.
1
Vantaggio: Le tecniche numeriche si basano sull’applicazione di una formula
che usa i valori che la funzione integranda assume all’interno dell’intervallo di
integrazione.
Ogni formula di integrazione numerica ha un suo grado di precisione infatti:
b
n
∫ f ( x)dx =∑ c f ( x ) + R ( f )
a
i =1
i
i
n
il primo termine è detto parte approssimante e Rn (f) errore di troncamento.
2
La valutazione numerica dell’integrale avviene tramite la costruzione di una
opportuna successione di valori {xi}, tale che risulti:
n
b
i =1
a
lim ∑ ci f ( xi ) = ∫ f ( x)dx
n →∞
Rn ( f ) = 0
La successione {xi} dei valori
procedimento iterativo applicato.
considerati
dipende
dal
particolare
Nei successivi paragrafi saranno analizzati alcuni tra i metodi di integrazione
numerica più semplici da realizzare: il metodo dei rettangoli, il metodo dei
trapezi ed il metodo di Cavalieri-Simpson.
3
1. METODO DEI RETTANGOLI
Il metodo dei rettangoli è il metodo iterativo più semplice per calcolare
l’integrale definito di una funzione f(x) reale e continua in un intervallo chiuso
e limitato [a,b].
Esso consiste nel:
• suddividere l’intervallo di integrazione [a,b] in un certo numero n di
sottointervalli di pari ampiezza;
• approssimare la funzione, all’interno di ciascun sottointervallo, con il
valore costante che questa assume nel suo punto medio.
Pertanto il calcolo dell’integrale numerico viene quindi a corrispondere con la
somma delle aree degli n rettangoli aventi come base l’ampiezza costante dei
sottointervalli h = (b-a)/n e come altezza il valore che la funzione assume nel
punto medio di ciascun intervallo (vedi Fig.1).
4
Fig.1 Interpretazione grafica dell’integrazione numerica secondo il metodo dei rettangoli (n=4).
5
La formula risultante, nel caso in cui si scelga n=1 risulta:
b
∫
a
h
f ( x)dx ≈ I1 = h * f (a + )
2
ove h=(b-a )
I=somma integrale
Nel caso in cui n=2 risulta:
b
∫
a
h
h
f ( x)dx ≈ I 2 = h * f (a + ) + h * f ( a + + h)
2
2
ove
h=(b-a)/2
Nel caso di n generico risulta:
b
∫
a
n −1
1
f ( x)dx ≈ I n = ∑ h * f (a + ( + i ) * h)
2
i =0
ove
h=(b-a)/n
Come implementare la Σ (calcolo della In): il procedimento di calcolo
dell’integrale, può essere semplicemente realizzato prevedendo n iterazioni
(da 0 a n-1) e incrementando, ad ogni passo i, la somma integrale
(precedente) con il valore: h*f(a+(1/2+i)*h).
6
Infatti la x assume i valori:
a+h/2, a+h/2+h, a+h/2+h+h...ovvero ad ogni iterazione x=a+(1/2+i)*h
(i=0)
(i=1)
(i=2)
Condizione di arresto:
Non è noto a priori il valore che deve assumere n, perché tale valore dipende
dalla precisione richiesta. Il programmatore deve quindi operare in tal modo:
n=1
calcolo I1
n=2
calcolo I2
n=3
calcolo I3
…….
L’algoritmo si arresta quando la differenza, in modulo, tra due
approssimazioni successive (somme integrali consecutive) è minore della
precisione che si vuole raggiungere nel calcolo (errore assoluto).
7
NB: Nel metodo dei rettangoli, in conclusione, si approssima la funzione, in
ogni sottointervallo, con la retta parallela all’asse x di equazione y = f(xi) e
viene commesso un errore di approssimazione che in genere richiede un
elevato numero di iterazioni prima di giungere ad un risultato accettabile.
Esercizio
1) Produrre una relazione che illustri il “metodo numerico dei rettangoli”.
2) Dato il seguente problema:
Integrare la funzione y=x2 nell’intervallo [a,b], mediante il
metodo numerico dei rettangoli.
Dati di input:
Dati di output:
- intervallo [a,b]
- errore assoluto
(es. e=0,001)
- risultato approssimato dell’integrale definito
- numero di rettangoli utilizzati
realizzare l’algoritmo risolutivo e il relativo programma in ling.”C”.
8
2. METODO DEI TRAPEZI
Il metodo dei trapezi consiste nel suddividere l’intervallo di integrazione [a,b]
in un certo numero di sottointervalli n e nell’approssimare la funzione,
all’interno di ciascun intervallo, con la spezzata che congiunge i punti per cui
passa il grafico della funzione agli estremi di ogni intervallo.
Il calcolo dell’integrale, pertanto, corrisponde alla somma delle aree dei
trapezi aventi:
come altezza l’ampiezza dei sottointervalli h = (b-a)/n;
come base maggiore e minore i valori che la funzione assume agli
estremi dei singoli sottointervalli (vedi Fig.2).
9
Per n=1, risulta:
b
∫
a
h
f ( x)dx ≈ I1 = * ( f (a ) + f (b))
2
dove h=(b-a)
Per n=2, risulta:
b
∫
a
h
f ( x)dx ≈ I 2 = * ( f ( a) + 2 f (a + h) + f (a + 2h))
2
dove h=(b-a)/2
Per n generico:
b
∫
a
n −1
h
f ( x)dx ≈ I n = ∑ * [ f (a + ih) + f ( a + (i + 1)h)]
i =0 2
dove h=(b-a)/n
10
Come implementare la Σ (calcolo della In): Il procedimento di calcolo
dell’integrale, può essere semplicemente realizzato prevedendo n iterazioni
(da 0 a n-1) e incrementando, ad ogni passo i, la somma integrale
(precedente) con il valore: h/2*[f(a+ih)+f(a+(i+1)h)].
Condizione di arresto:
Non è noto a priori il valore che deve assumere n. Il programmatore deve
quindi operare in tal modo:
n=1
calcolo I1
n=2
calcolo I2
n=3
calcolo I3
…….
L’algoritmo si arresta quando la differenza, in modulo, tra due valori (somme
integrali) successivamente calcolati è minore della precisione che si vuole
raggiungere nel calcolo.
11
NB: Si può dimostrare che l’errore commesso usando la formula trapezoidale
è molto minore rispetto a quello commesso usando la formula rettangolare,
pertanto il risultato ottenuto a parità di sottointervalli risulta più corretto.
Esercizio
1) Produrre una relazione che illustri il “metodo numerico dei trapezi”.
2) Dato il seguente problema:
Integrare la funzione y=x2 nell’intervallo [a,b], mediante il
metodo numerico dei trapezi.
Dati di input:
Dati di output:
- intervallo [a,b]
- errore assoluto
(es. e=0,001)
- risultato approssimato dell’integrale definito
- numero di trapezi utilizzati
realizzare l’algoritmo risolutivo e il relativo programma in ling.”C”.
12
3. METODO DI CAVALIERI-SIMPSON
Il metodo di Cavalieri-Simpson consiste nel suddividere l’intevallo [a,b] in un
certo numero di sottointervalli n e nell’approssimare la funzione, all’interno di
ogni sottointervallo, con una parabola passante per tre punti equidistanti: due
sono individuati dal valore che la f(x) assume nei due estremi del
sottointervallo ed il terzo dal valore che la f(x) assume nel punto medio del
sottointervallo.
Calcolo dell’area sottesa ad una parabola passante per tre punti equidistanti.
13
Come è evidente dal grafico (ottenuto per n=2), ogni sottointervallo viene
suddiviso a metà, per cui l’ampiezza di riferimento è stavolta pari a:
s = h/2
14
Per n=1, risulta:
b
∫
a
s
f ( x)dx ≈ I1 = * ( f (a ) + 4 f (a + s ) + f (a + 2 s ))
3
dove s=(b-a)/2
Per n=2, risulta:
b
∫
a
s
s
f ( x) dx ≈ I 2 = * [ f (a ) + 4 f (a + s ) + f (a + 2 s )] + * [ f (a + 2 s) + 4 f (a + 3s ) + f (a + 4 s)]
3
3
dove s=(b-a)/4
Per n generico:
b
∫
a
f ( x ) dx ≈ I n =
n −1
∑
i=0
s
* [ f ( a + 2 is ) + 4 f ( a + ( 2 i + 1) s ) + f ( a + ( 2 i + 2 ) s )]
3
dove s=(b-a)/(2n)
15
Condizione di arresto:
Non è noto a priori il valore che deve assumere n. Il programmatore deve
quindi operare in tal modo:
n=1
calcolo I1
n=2
calcolo I2
n=3
calcolo I3
…….
L’algoritmo si arresta quando la differenza, in modulo, tra due valori (somme
integrali) successivamente calcolati è minore della precisione che si vuole
raggiungere nel calcolo.
16
Esercizio
1) Produrre una relazione che illustri il “metodo numerico di C.Simpson”.
2) Dato il seguente problema:
Integrare la funzione y=x4+1 nell’intervallo [1,4], mediante il
metodo numerico di C.Simpson.
Dati di input:
Dati di output:
- intervallo [a,b]
- errore assoluto
e=0.0001
- risultato approssimato dell’integrale definito
- numero di parabole utilizzate
realizzare l’algoritmo risolutivo e il relativo programma in ling.”C”.
3) Confrontare i risultati ottenuti utilizzando il metodo dei rettangoli ed il
metodo dei trapezi.
17