Integrazione con il metodo Simpson

ITIS OMAR
Dipartimento di Meccanica
Laboratorio di Matematica
La formula di quadratura di SIMPSON
Premessa
Interpolazione polinomiale
Assegnate n+1 coppie di numeri reali (xi ; yi)
con xi ≠ x j per i ≠ j
e con ( xi +1 − xi ) = h = costante
si vuole determinare una funzione razionale intera y = f(x) in grado di soddisfare alla condizione:
yi = f ( xi )
per
i = 0,1,.... n
[1]
1
Vedremo che esiste sempre uno e un solo polinomio f(x) di grado non superiore a n che soddisfa
alle [1]. Esso ha la seguente espressione:
∆ y0
∆ 2 y0
f ( x ) = y0 + ( x − x0 )
+ ( x − x0 )( x − x1 )
+ ....+
h
2!h 2
∆ n y0
+ ( x − x0 )( x − x1 )...( x − xn−1 )
n!h n
[2]
con ∆ yi = yi +1 − yi
Il polinomio espresso dalla [2] presenta:
•
•
grado al più uguale a n
e soddisfa pienamente le [1]
La [2] con il seguente cambiamento di variabile
x = x0 + hs
da cui s =
x − x0
h
può scriversi nella forma
f ( x0 + hs) = g ( s) = y0 + s∆ y0 +
s( s − 1) 2
s( s − 1)...( s − n + 1) n
∆ y0 + ...+
∆ y0
2!
n!
ovvero:
 s
 s
 s
g ( s) = y0 +   ∆ y0 +   ∆ 2 y0 + ...+   ∆ n y0 =
 1
 2
 n
1
 s i
  ∆ y0
∑
i=0  i 
n
[ 3]
In effetti l’unicità della soluzione, quando espressa da un polinomio di grado non maggiore di n è immediata.
Infatti, in conseguenza del principio di identità dei polinomi, due polinomi in x di grado minore o uguale a n, che
assumono gli stessi valori in corrispondenza di n+1 valori di x, devono avere ordinatamente uguali i coefficienti dei
termini corrispondenti.
Formula di Simpson
Si debba calcolare l’integrale definito J di una funzione f(x) continua su un intervallo chiuso (a,b).
J=
∫ f ( x )dx
b
a
Se la f(x) è integrabile con difficoltà per via analitica si deve ricorrere a metodi di risoluzione
numerica.
Per facilitare i calcoli operiamo una sostituzione lineare che riconduca l’intervallo (a,b) nell’intervallo
(0,2) e si trasformi il differenziale f(x)dx nel corrispondente g(z)dz.
Dobbiamo allora calcolare il seguente integrale:
J=
∫ g( z)dz
2
0
Sostituiamo la g(z) con il suo polinomio interpolatore del secondo ordine, ovvero con un polinomio
interpolatore dei tre punti: (0;g(0)); (1;g(1)); (2;g(2))
Dalla [3] si ha:
∆ 2 g ( 0)
g ( z ) ≅ g ( 0) + z∆ g (0) + z ( z − 1)
2
Integrando tra 0 e 2 si ha:
J ≅ 2 g ( 0) + 2 ∆ g (0) +
2 2
1
∆ g ( 0) = ( g ( 0) + 4 g (1) + g (2) )
3⋅ 2
3
Ritornando alla variabile primitiva si ottiene la formula consueta di Simpson
J≅ I=
b− a

 a + b
 + f (b ) 
 f (a ) + 4 f 
 2 

6 
[4]
Approfondimenti
Avremmo potuto approssimare la g(x) con un polinomio di grado superiore, aumentando, almeno
teoricamente la precisione del calcolo. Indicato con n il numero di intervalli, tutti uguali ad h, in cui
si è suddiviso l’intervallo (a,b) si ha la formula generale1:
n
I = a0 (b − a ) ∑ bi f (a + ih )
i=0
Per comodità riportiamo qui di seguito i valori di a0 e bi tabellati in funzione di n
n
a0
b0
b1
b2
b3
b4
1
2
3
4
1/3
1/6
1/8
1/90
1
1
1
7
1
4
3
32
1
3
12
1
32
7
Bibliografia
Cugiani M.
Metodi dell’analisi numerica
UTET
Ridolfi P.
Applicazioni del Fortran
Franco Angeli
1
Per n = 2 si ha la consueta formula di Simpson