Professional Documents
Culture Documents
f (x) dx
quadratura numerica
Prof. F. Pitolli
(A.A. 2012-2013)
CALCOLO NUMERICO
ANALISI NUMERICA
I(f ) =
Esempio
0
124
6
134
42
109
48
99
12
148
54
85
18
156
24
147
30
133
36
121
66
89
72
104
78
116
84
123
60
78
i=0
Z b
a
f (x) dx =
Quanto `
e lunga la pista?
Z b
a
n
X
160
V
150
140
130
n
X
i=0
Z b
f (xi )
i=0
170
li(x) dx +
Z b
a
En(x) dx =
n
X
f (xi ) ci + Rn (f ) = |Sn{z
(f )} + R
(f )
| n{z }
Parte approssimante
Z b
Errore di troncamento
Coefficienti: ci =
li(x) dx
o resto
i=0
120
110
100
90
80
70
n
X
12
18
24
30
36
42
48
54
60
66
72
78
84
Grado di precisione
f (x) dx =
n
X
f (xi )
n
X
f (xi ) ci +
i=0
n
X
i=0
En (x) dx +
a
= Sn(f ) + Rn (f ) +
i=0
n
X
Linterpolazione `
e esatta per ogni polinomio qm(x) di grado m n,
quindi En(x) = 0 = Rn(qm) = 0, cio`
e la formula di quadratura `
e
esatta per ogni polinomio qm(x) di grado m n.
i ci =
i=0
Rn (f )
| {z }
Errore
di propagazione
n
X
Sn(f ) =
f (xi ) ci
Parte approssimante
i=0
Z b
ci =
li(x) dx Coefficienti
a
I(f ) = Sn (f ) + Rn(f ) + Rn (f )
Z b
Z b
n(x) (n+1)
R
(f
)
=
E
(x)
dx
=
((x)) dx Resto
f
n
n
a
a (n + 1)!
Rn (f ) =
i ci
Errore di propagazione
i=0
2
(x) = (x)
ci = b a
i=0
Z b
a
Formule di Newton-Cotes
(x) dx > 0
Nodi equispaziati: xi = a + ih
n
X
i=0
ci
(x ) +Rn() = Rn()
| {z i }
Grado di precisione:
=0
n0
6
= n,
i = 0, 1, . . . , n
h=
ba
n
n + 1 pari
= n + 1, n + 1 dispari
Formule gaussiane
Nodi gaussiani: zeri di polinomi ortogonali, ad esempio i nodi di
Chebyshev; non sono equispaziati e sono interni
allintervallo [a, b].
Grado di precisione: = 2n + 1 (massimo)
Parte approssimante:
C 2[a, b]
S1(f ) = f0
f1
p1(x)
f(x)
f0
Z b
(x x0)
a (x1 x0)
dx =
1
1
1
f0(x1 x0) + f1(x1 x0) = (f0 + f1)(b a) =
2
2
2
1
(f0 + f1)h
2
Resto:
a (x0 x1)
dx + f1
b=x
a=x
Z b
(x x1)
R1(f ) =
(x)
f ((x)) =
f (x) = f0l0(x) + f1l1(x) + 1
2!
Z
1
1 b
(x x0)(x x1)f ((x)) dx |{z}
= h3f ( )
2 a
12
[a, b]
Teorema
della media
(x x1)
(x x0)
1
= f0
+ f1
+ (x x0)(x x1)f ((x))
(x0 x1)
(x1 x0)
2
8
Formula di Cavalieri-Simpson
n + 1 = 3, = 3, f C 4[a, b]
Convergenza:
f(x)
p1(x)
f1
p2(x)
0.8
f0
p (x)
2
0.6
Fenomeno di Runge:
f (x) =
1
1 + x2
x [5, 5]
p (x)
0.4
f(x)
0.2
0
a=x0
h5 (4)
f ( )
90
x1
p (x)
b=x
0.2
h
(f0 + 4f1 + f2)
3
[a, b]
0.4
5
10
Teorema. Sia f C[a, b], [a, b] limitato, sia {Sn(f )} una successione di formule di quadratura interpolatorie
Sn(f ) =
n
X
n
X
i=0
|ci| M
n,
i=0
i=0
1
0.8
0.8
p2(x)
0.6
p (x)
p (x)
0.4
Nota 2. I coefficienti delle formule di Newton-Cotes sono tutti positivi se n 7, mentre sono sia positivi che negativi per n > 7.
I coefficienti delle formule gaussiane sono tutti positivi per
ogni valore di n.
0.4
0.2
f(x)
0.2
f(x)
p0(x)
p (x)
0
0.2
0.2
0.4
5
12
p2(x)
0.6
0.4
5
13
j+1
fj+1
p1(x)
f(x)
fj
Aj
x0
j+1
xj
Z b
a
f (x) dx =
NX
1
Aj =
j=0
NX
1 Z x
j+1
j=0 xj
NX
1
h
j=0 2
xj+1
(x)
f (x) = fj lj (x) + fj+1 lj+1(x) + 1
f (j (x)) =
2!
f (x) dx
fj + fj+1
= fj
(x xj+1)
(xj xj+1)
+ fj+1
(x xj )
1
+ (x xj )(x xj+1)f (j (x))
(xj+1 xj )
2
j (x) [xj , xj+1]
14
15
Parte approssimante:
S1(f ) = fj
=
=
Z x
j+1 (x xj+1 )
xj
(xj xj+1)
dx + fj+1
Z x
j+1
xj
fj+1
(x xj )
dx =
(xj+1 xj )
1
1
1
fj (xj+1 xj ) + fj+1(xj+1 xj ) = (fj + fj+1)(xj+1 xj ) =
2
2
2
h
(fj + fj+1)
2
x xj+1
Resto:
R1(f ) =
Z
1
1 xj+1
(x xj )(x xj+1)f (j (x)) dx |{z}
= h3f (j )
2 xj
12
Teorema
della media
I(f ) =
j [xj , xj+1]
=
16
I(f ) =
f (x) dx =
a
N
1 Z xj+1
X
j=0
N
1
X
f (x) dx =
NX
1
h
j=0 2
NX
1 Z x
j+1
j=0 xj
fj + fj+1 +
f (x) dx =
NX
1
j=0
h3
12
f (j )
j [xj , xj + 1]
17
f (x) dx =
2j+1
N
1
X
j=0
h3
f (j ) =
12
pj(x)
f(x)
h
(f0 + f1 + f1 + f2 + f2 + f3 + + fN 2 + fN 2 + fN 1 + fN )
2
3
N
1
X
h
h
f0 + 2
fj + fN
N f ( )
=
2
12
j=1
Z b
xj
h"
=
fj + fj+1 +
2
j=0
=
xN
f2j
N 1
h3 X
f (j ) =
12 j=0
[a, b]
NX
1
TN (f ) =
f0 + 2
fj + fN
2
j=1
T (f ) = b a h2f ( )
R
N
12
2(j+1)
Aj
x2(j+1)
x2j
xN
Grado di precisione: = 1
18
Z b
a
f (x) dx =
N/21
X
j=0
N/21
X Z x2(j+1)
j=0
Aj =
x2j
N/21
X h
j=0 3
f (x) dx
19
Formula di Cavalieri-Simpson
(x) (3)
f (x) = f2j l2j (x) + f2j+1 l2j+1(x) + f2(j+1) l2(j+1) (x) + 2
f (j (x)) =
3!
n = 2, = 3, f C 4[a, b]
Si approssima localmente f (x) con una parabola (polinomio di secondo grado) che passa per i punti:
(x2j , f2j ), (x2j+1, f2j+1), (x2(j+1), f2(j+2) )
= f2j
(x x2j+1)(x x2(j+1))
(x2j x2j+1)(x2j x2(j+1))
+f2j+1
f2(j+1)
p (x)
+f2(j+1)
2j
p2(x)
f(x)
2j+1
1
+ (x x2j )(x x2j+1)(x x2(j+1)) f (3) (j (x))
6
j (x) [x2j , x2(j+1)]
x2j
x2(j+1)
2j+1
20
21
Parte approssimante:
S2(f ) = f2j
Z x
2(j+1)
x2j
+ f2(j+1)
= f2j
x2j
x2j
x2j
x2j
l2j+1(x) dx +
Resto:
l2(j+1) (x) dx =
R2(f ) =
dx +
Z x
2(j+1)
x2j
Z x
2(j+1)
(x x2j+1)(x x2(j+1))
Z x
2(j+1)
+f2(j+1)
Z x
2(j+1)
Z x
2(j+1)
+f2j+1
=
|{z}
dx +
Z
1 x2(j+1)
(x x2j )(x x2j+1)(x x2(j+1))f (3) (j (x)) dx =
6 x2j
h5 (4)
f (j )
90
j [x2j , x2(j+1)]
Teorema
della media
dx =
h
f2j + 4f2j+1 + f2(j+1)
3
22
23
I(f ) =
f (x) dx =
Z b
a
f (x) dx =
N/21
X Z x2(j+1)
j=0
N/21
X h
j=0 3
x2j
N/21
X
j=0
h5
90
f (x) dx =
x2j
f (4) (j )
N/21
X h "
X
h5
f2j + 4f2j+1 + f2(j+1) +
f (4) (j ) =
3
90
j=0
j=0
h
(f0 + 4f1 + f2 + f2 + 4f3 + f4 + f4 + 4f5 + f6 + + fN 2 + fN 2 + 4fN 1 + fN )
3
5 N/21
5
N/21
N/21
X
X
X
h
h
N (4)
h
f ( )
f (4) (j ) = f0 + 4
f2j+1 + 2
f2j + fN
90
3
90
2
j=0
j=0
j=1
=
f (x) dx =
j=0
N/21
I(f ) =
N/21 Z x2(j+1)
X
Formula
delle
parabole:
j [xj , xj + 1]
N/21
N/21
X
X
h
f2j+1 + 2
f2j + fN
PN (f ) = f0 + 4
3
j=0
j=1
b a 4 (4)
h f ( )
RN (f ) =
180
[a, b]
Grado di precisione: = 3
24
Nota. Per poter usare la formula delle parabole il numero di nodi N + 1 deve
essere dispari.
25
Esempio
Una macchina da corsa percorre un giro di pista in 84 secondi. La velocit`
a della
macchina viene misurata con un radar ogni 6 secondi per tutta la durata del percorso.
I valori misurati sono riportati in tabella:
Se f C (2)[a, b]
lim RT (f ) |{z}
=
N N
h= ba
N
T (f ) = lim
lim RN
h0
h0
ba
12
i
ti
vi
h2 f ( ) = 0
1
6
134
2
12
148
3
18
156
4
24
147
5
30
133
6
36
121
7
42
109
8
48
99
9
54
85
10
60
78
11
66
89
12
72
104
13
78
116
Quanto `
e lunga la pista?
Traccia della soluzione.
La lunghezza della strada percorsa da una
a
R t macchina che si muove a velocit`
v(t) nellintervallo [t0, t1] `
e data da L = t01 v(t)dt. Quindi si pu`
o approssimare
la lunghezza della pista con una formula di quadratura generalizzata.
!
13
X
Formula dei trapezi: L 3 v0 + 2
vi + v14 = 9855
0
0
124
i=1
Se f C (4)[a, b]
lim RP (f ) |{z}
=
lim RP (f ) = lim
N N
h0 N
h0
ba
h= N
ba
180
h4 f (4) ( ) = 0
v0 + 4
6
X
i=0
26
v2i+1 + 2
6
X
i=1
v2i + v15
= 9858
27
14
84
123
Criterio di Runge
Errore di propagazione
Assumendo che per lerrore sui dati valga la limitazione |i| = 0.5,
per lerrore di propagazione si ottiene la maggiorazione:
(f )| = |
|Rn
n
X
i ci|
i=0
n
X
|i| |ci|
i=0
n
X
|ci|
n
X
i=0
|ci|
n
X
b a 2
h f ( )
12
T (f ) = T (f )
Passo h I(f ) = Th(f )+Rh
h
i=0
Poich
e entrambe le formule di quadratura hanno coefficienti ci positivi si ha
(f )|
|Rn
T (f ) =
Formula dei trapezi: Rh
Passo
[a, b]
b a 2
h f ( )
12
h
ba
T (f ) = T
I(f ) = Th/2(f )+Rh/2
h/2 (f )
2
12
2
h
ci = (b a) = 0.5 84 = 42
i=0
T (f ) =
Rh
b a 2
b a 2
T (f )
h f ( )
h f () = 4Rh/2
12
12
28
T (f )
Passo h I(f ) Th(f )+4Rh/2
Passo
h
2
f ()
T (f )
T (f )
Criterio di Runge (per trapezi): Rh/2
P (f ) =
Formula delle parabole: Rh
b a 4 (4)
h f ( )
180
Estrapolazione di Richardson
[a, b]
ba
h4 f (4) ( )
180
4
h
ba
h
P (f ) = P
Passo
I(f ) = Ph/2 (f )+Rh/2
f (4) ()
h/2 (f )
2
180
2
Passo h I(f ) = Ph(f )+RhP (f ) = Ph(f )
1
(T (f ) Th(f ))
3 h/2
29
1
P (f ) P
(P (f ) Ph(f ))
I(f ) = Ph/2(f )+Rh/2
h/2 (f ) +
15 h/2
1
(P (f ) Ph(f ))
15 h/2
30
31
Esercizio
I(ex ) =
Esempio
Qual`
e lerrore che si commette approssimando la lunghezza della pista con la
formula dei trapezi?
Per stimare lerrrore si pu`
o utilizzare il criterio di Runge utilizzando come approssimazione al passo h/2 lapprossimazione con passo h/2 = 6 (si usano tutti i nodi) e
come approssimazione al passo h lapprossimazione al passo h = 12 (si usano solo
gli 8 nodi i = 0, 2, 4, . . . , 14).
1
Criterio di Runge per trapezi: R (9855 9846) = 3
3
Estrapolazione di Richardson: L 9855 +
Z 1
Passo h =
ex dx = e 1 1.7182818
1
1
P1/2 (ex) = (e0 + 4e0.5 + e1) 1.7188611
2
6
I(ex ) P1/2 (ex) = 0.58 103
Passo h =
1
1 0
P1/4 (ex) =
[e + 4(e0.25 + e0.75 ) + 2e0.5 + e1] 1.7183188
4
12
I(ex ) P1/4 (ex) = 0.37 104
Criterio di Runge:
1
(9855 9846) = 9858
3
P
R1/4
1
1
(P1/4 (ex) P1/2 (ex)) =
(1.7183188 1.7188611) = 0.36 104
15
15
32
Estrapolazione di Richardson:
I(ex ) P1/4(ex) +
1
(P
(ex ) P1/2(ex )) 1.7182826 = A
15 1/4
33
La funzione trapz(X,Y)
La funzione trapz(X,Y) permette di approssimare un integrale con la
formula dei trapezi. X e Y sono due vettori che contengono i nodi e
i valori nei nodi della funzione da integrare, rispettivamente.
>>X=linspace(0,1)
>>Y=exp(X)
>>trapz(X,Y)
34
nnodi = length(xnodi);
a = xnodi(1);
b = xnodi(nnodi);
h = (b-a)/(nnodi-1);
I = h/3*(fnodi(1)+4*sum(fnodi(2:2:nnodi-1))+ ...
... 2*sum(fnodi(3:2:nnodi-2))+fnodi(nnodi));
35
Riferimenti bibliografici
L. Gori, Calcolo Numerico: Cap. 7 7.1, 7.3 (escluse formule di Newton-Cotes
aperte), 7.4, 7.5 (escluso metodo di Romberg), 7.9
L. Gori, M.L. Lo Cascio, F. Pitolli, Esercizi di Calcolo Numerico: 4.2, 4.3, 4.4, 4.9,
4.10, 4.12, 7.3, 7.8, 7.17, 7.23, 7.28, 7.42, 7.47, 7.48, 7.71, 7.82, 7.84
38
*
* Lettura dati di input
*
open (20,file=valnodi.dat)
read (20,*) n
if (n .gt. nmax) stop n>nmax
read (20,*) (xnodi(i), ynodi(i), i=0,n)
close(20)
*
* Inizializzazione variabili
*
a=xnodi(0);
b=xnodi(n);
h=(b-a)/float(n);
sumI=0;
do i=1,n-1
sumI=sumI+ynodi(i);
enddo
Intf=h*0.5*(ynodi(0)+2*sumI+ynodi(n))
*
* Stampa del risultato
*
write (*,*) Integrale approssimato:, Intf
*
* Fine del programma
*
stop
end
37