Sei sulla pagina 1di 20

Docente Vittoria Bruni

Email: vittoria.bruni@sbai.uniroma1.it

Ufficio: Via A. Scarpa,


Calcolo Numerico
(A.A. 2018-2019) Pal. B, I piano, Stanza n. 16

Tel. 06 49766648
Ingegneria meccanica Ricevimento: Consultare la sezione Avvisi della pagina web dedicata al corso

Testi consigliati:

Calcolo Numerico, L. Gori, Ed. Kappa, 2006

Esercizi di Calcolo Numerico, L. Gori-M.L. Lo Cascio, F. Pitolli, Ed. Kappa, 2007


Appunti delle lezioni: Integrazione numerica Il materiale didattico è disponibile sul sito
Formule di quadratura https://elearning.uniroma1.it/enrol/index.php?id=7192

piattaforma elearning — Identificativo del corso: Calcolo Numerico (BMER AA


2018/19)

1 2

Esempio 1

L’intensità H del campo magnetico in un punto x indotto dalla corrente


di intensità I che scorre su un anello cilindrico di raggio r si esprime
come segue

s
π/2 Z  2
Integrazione numerica 4Ir x
H(x) = 2 2
1− sin2(θ)dθ
r −x 0 r

x è la distanza dal centro dell’anello in cui si misura il campo e risulta


0 ≤ x ≤ r. Supponendo noti r, I e x, l’integrale può essere risolto
o usando opportuni sviluppi in serie oppure usando metodi numerici.
L’integrale rientra nella famiglia degli integrali ellittici, riferiti al calcolo
della lunghezza di un arco di ellisse.

3 4
Esempio 2
Altri esempi
Una macchina da corsa percorre un giro di pista in 84 secondi. La
velocità della macchina viene misurata con un radar ogni 6 secondi per
tutta la durata del percorso. I valori misurati sono riportati in tabella:
i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
ti 0 6 12 18 24 30 36 42 48 54 60 66 72 78 84
vi 124 134 148 156 147 133 121 109 99 85 78 89 104 116 123

Quanto è lunga la pista?

Traccia della soluzione. La lunghezza della strada percorsa da una


macchina che si muove a velocità v(t) nell’intervallo [t0, t1] è data da river cross-section wind blow on a rocket
Rt
L = t01 v(t)dt.

5 6

Formule di quadratura interpolatorie


Integrazione numerica Formula di interpolazione di Lagrange:
Problema: approssimare numericamente integrali definiti n
X
Rb f (x) = p∗n(x) + En(x) = f (xi) li(x) + En(x)
I(f ) = a f (x) dx i=0
L’intervallo di integrazione [a, b] può essere anche illimitato.

Si ricorre all’integrazione numerica quando:  
Z b Z b n
X
• la primitiva di f non può essere espressa in forma chiusa, f (x) dx =  f (xi) li(x) + En(x) dx =
ad esempio f (x) = sinx x , f (x) = e−x ;
2
a a i=0

• l’espressione analitica di I(f ) è complicata da calcolare; n


X Z b Z b
= f (xi) li(x) dx + En(x) dx =
• i valori di f sono noti solo in alcuni nodi xi , i = 0, . . . , n, i=0 a a
ad esempio quando sono il risultato di misure sperimentali.
n
X
= f (xi) ci + Rn(f ) = S (f ) + R
| n{z }
(f )
| n{z }
Soluzione: approssimare la funzione integranda f (x) con il polinomio interpola- i=0
tore pn (x), costruito su un insieme opportuno di nodi xi , i = 0, . . . , n; . &
quindi approssimare I(f ) con I(pn ). Parte approssimante
Z b Errore di troncamento
Coefficienti: ci = li(x) dx o resto
a
7 8
Se consideriamo anche gli errori εi sui dati si ha
n
X
f (x) = pn(x) + En(x) = (f (xi) + εi) li(x) + En(x)
Z b n
X Z b i=0 Z b n
X Z b Grado di precisione
⇒ f (x) dx = f (xi ) li (x) dx + En (x) dx + εi li (x) dx L’interpolazione è esatta per ogni polinomio qm (x) di grado m ≤ n, quindi En (x) = 0
a i=0 a a i=0 a
=⇒ Rn (qm ) = 0, cioè la formula di quadratura è esatta per ogni polinomio qm (x)
n
X Z b n
X di grado m ≤ n.
= f (xi ) ci + En (x) dx + εi ci = Sn (f ) + Rn (f ) + Rn∗ (f )
a
| {z } Definizione. Si dice che una formula di quadratura ha grado di precisione ν se è
i=0 i=0
Errore di propagazione esatta per tutti i polinomi qm (x) di grado m ≤ ν, cioè Rn (qm ) = I(qm ) − Sn (qm ) = 0,
m ≤ ν. In particolare, la formula di quadratura è esatta per i monomi xk , k =
0, 1, . . . , ν.
∗ (f )
⇒ I(f ) = Sn(f ) + Rn(f ) + Rn
 P 1. Una formula di quadratura interpolatoria a n + 1 nodi ha grado di preci-



Sn(f ) = ni=0 f (xi ) ci Parte approssimante sione almeno n ≥ 0.





 Z b 2. Le formule di quadratura interpolatorie sono esatte almeno per le funzioni

 costanti. In particolare, se si pone f (x) = 1, si ottiene

 ci = li(x) dx Coefficienti

 a n
X

 Z b Z b ci = b − a

 πn (x) (n+1)

 Rn(f ) = En(x) dx = f (ξ(x)) dx Resto i=0



 a a (n+1)!



 P
 ∗
Rn(f ) = n i=0 εi ci Errore di propagazione
9 10

3. Per le formule interpolatorie si ha

n ≤ ν ≤ 2n + 1 n≥0

dim. Esercizio
Consideriamo il polinomio di grado 2n + 2 Data la formula di quadratura
 2 Z 1    
1 1 1 1
Π(x) = πn(x) = (x − x0)2(x − x1)2 · · · (x − xn)2 f (x) dx = f (−1) + Af − √ + Bf √ + f (1) + R(f ),
−1 6 5 5 6
dove xi , i = 0, . . . , n, sono i nodi della formula di quadratura. 1) determinare A e B in modo che la formula abbia grado di precisione non inferiore
Z b a 2;
• I(Π) = Π(x) dx > 0
a 2) dimostrare che la formula di quadratura ottenuta ha grado di precisione 5;
n
X 3) dare una maggiorazione dell’errore di propagazione se i dati sono affetti da
• I(Π) = Sn (Π) + Rn (Π) = ci Π(xi ) +Rn (Π) = Rn (Π) errori i con |i | ≤ 10−4 .
| {z }
i=0 =0

=⇒ Rn (Π) > 0: esiste almeno un polinomio di grado 2n + 2 per il quale le


formule di quadratura interpolatorie non sono esatte, quindi ν < 2n + 2.

11 12
Traccia della soluzione
1) I coefficienti della formula di quadratura si determinano con il metodo dei co-
efficienti indeterminati, cioé imponendo che la formula sia esatta per f (x) = xk , 2) A causa della simmetria dei nodi e dei coeffcienti, la formula è esatta per tutti i
0 ≤ k ≤ 2. Si ottiene il sistema monomi di grado dispari x2n+1 , infatti
 Z 1  2n+1  2n+1 Z 1

 1 (1) + A(1) + B(1) + 1 (1) = 1 5 1 5 1 1
k = 0, f (x) = 1 ⇒  
 dx = 2 (−1)2n+1 + −√ + √ + (1)2n+1 = x2n+1 dx = 0

 6   6  −1 Z 1 6 6 5 6 5 6 −1

1 1 1 1
k = 1, f (x) = x ⇒ (−1) + A − √ +B √ + (1) = x dx = 0 La formula ha grado di precisione 5 se è esatta per tutti i monomi fino al grado 5.

 6   5   5 6Z

 1
−1 Per la simmetria la formula è esatta per x3 e x5 ; per x4 si ha
2
k = 2, f (x) = x ⇒   1 1 1 1 2 Z 1  4  4
 (1) + A
 +B + (1) = x2 dx = 2 1 5 1 5 1 1
6 5 5 6 −1 3 x4 dx = = (−1)4 + −√ + √ + (1)4
−1 5 6 6 5 6 5 6

 Invece per x6 si ha
 5 Formula di quadratura Z 1  6  6

 A+B = 2 1 5 1 5 1 1 26

 3 x6 dx = =
6 (−1)6 + −√ + √ + (1)6 =

 Z 1  

 1 5 1 −1 7 6 6 5 6 5 6 75
A B 5 f (x) dx = f (−1) + f − √ +
− √ + √ = 0 ⇒ A = B = ⇒ −1 6 6 5

 5 5 6 ⇒ La formula ha grado di precisione esattamente 5.

  

 5 1 1
 A
 B 1 + f √ + f (1) + R(f )
 + =
5 5 3 6 5 6

13 14

Scelta dei nodi nelle formule interpolatorie


Differenti distribuzioni di nodi danno origine a differenti formule di
quadratura con diverso grado di precisione.

3) L’errore di propagazione è dato da


• Formule di Newton-Cotes
3
X 1 5 5 1 b−a
R∗ = i c i = 0 + 1 + 2 + 3 Nodi equispaziati: xi = a + ih i = 0, 1, . . . , n h=
6 6 6 6
i=0 n
3 
X
⇒ |R∗| ≤  |ci | = 2 = 0.2 · 10−3  ν = n,
 n + 1 pari
i=0 Grado di precisione:

 ν = n + 1, n + 1 dispari
Nota. Poiché i coefficienti sono tutti positivi si ha
3
X 3
X
|ci | = ci = b − a = 2 • Formule gaussiane
i=0 i=0
Nodi gaussiani: zeri di polinomi ortogonali, ad esempio i nodi di
Chebyshev; non sono equispaziati e sono interni
all’intervallo [a, b].

Grado di precisione: ν = 2n + 1 (massimo)


15 16
Parte approssimante:
Formula del trapezio: n + 1 = 2, ν = 1, f ∈ C 2[a, b] Z b Z b
(x − x1) (x − x0)
S1(f ) = f0 dx + f1 dx =
f1
a (x0 − x1) a (x1 − x0)

1 1 1
= f0(x1 − x0) + f1(x1 − x0) = (f0 + f1)(b − a) =
p1(x) Si approssima f (x) con un poli- 2 2 2
f(x) nomio interpolatore di grado 1 1
= (f0 + f1)h
f0
che passa per i punti: 2
(x0, f0), (x1, f1)
Resto:
Z
a=x0 b=x1 1 b 1
R1(f ) = (x
|
− x0)(x
{z
= − h3f 00(τ )
− x1)} f 00(ξ(x)) dx |{z} τ ∈ [a, b]
2 a ↓ 12
segno costante in (a,b)
π (x) 00
f (x) = f0l0(x) + f1l1(x) + 1 f (ξ(x)) =
2!
Teorema
(x − x1) (x − x0) 1 della media
= f0 + f1 + (x − x0)(x − x1)f 00(ξ(x))
(x0 − x1) (x1 − x0) 2

17 18

Formula della parabola (Cavalieri-Simpson) Infatti


n + 1 = 3, ν = 3, f ∈ C 4[a, b]
Parte approssimante:
Si approssima f (x) con una parabola (polinomio di secondo grado)
che passa per i punti: (x0, f0), (x1, f1), (x2, f2). Z x
2 (x − x1 )(x − x2 )
Z x
2 (x − x0 )(x − x2 )
S2(f ) = f0 dx + f1 dx+
f2 x0 (x0 − x1)(x0 − x2) x0 (x1 − x0)(x1 − x2)
f(x)
Z x
p1(x) 2 (x − x0 )(x − x1 )
+f2 dx
f1 p2(x)
x0 (x2 − x0)(x2 − x1)
f0
(x2 −x0 )
h = b−a
2 = 2

Resto:
Z
1 x2
a=x0 x1 b=x2 R2(f ) = (x − x0)(x − x )(x − x2)} f 000(ξ(x)) dx
{z 1
6 x0 |
cambia segno in (a,b)
h
Parte approssimante: S2(f ) = (f0 + 4f1 + f2)
3 In questo caso prima di applicare il teorema della media è necessario
h5 integrare per parti
Resto: R2(f ) = − f (4)(τ ) τ ∈ [a, b]
90
19 20
Esercizio
Formula dei 3/8
n + 1 = 4, ν = 3, f ∈ C 4[a, b] Determinare il grado di precisione delle seguenti formule di quadratura
R1
per l’approssimazione numerica di I(f ) = −1 f (x)dx, con f (x) ∈ C ∞(R):
Si approssima f (x) con un polinomio di terzo grado che passa per i
punti: (x0, f0), (x1, f1), (x2, f2), (x3, f3). 1 (7f (−1) + 32f (−1/2) + 12f (0) + 32f (1/2) + 7f (1))
• I1(f ) = 45

3h
Parte approssimante: S3(f ) = (f0 + 3f1 + 3f2 + f3) • I2(f ) = 1
4 (f (−1) + 3f (−1/3) + 3f (1/3) + f (1))
8
3h5 (4)
Resto: R3(f ) = − f (τ ) τ ∈ [a, b]
80 • I3(f ) = 1
6 (f (−1) + 4f (−1/2) + 2f (0) + 4f (1/2) + f (1))

21 22

E’ necessario verificare se le due formule sono esatte per i monomi


x2k , k ∈ N
Traccia della soluzione
Z 1
90 90
x0 = 2 I1(x0) = =2 I3(x0) = =2
Si osserva che la seconda formula di quadratura è la formula dei 3/8 −1 45 45
costruita sui nodi {x0, x1, x2, x3} = {−1 − 1 1
3 , 3 , 1}, quindi il suo grado Z 1
2 2 2
di precisione è 3. x2 = I1(x2) = I3(x2) =
−1 3 3 3

La prima e la terza formula di quadratura sono costruite su nodi sim- Z 1


2 2 5 2
metrici rispetto allo 0 e i coefficienti sono simmetrici rispetto al valore x4 = I1(x4) = I3(x4) = 6=
−1 5 5 12 5
centrale. Ne segue che sono esatte per tutti i polinomi di grado dispari.
Z 1
2 1 2
Z 1 x6 = I(x6) = = 6
Infatti x2k+1 = 0 e I1 (x2k+1) =0 I3 (x2k+1) = 0. −1 7 3 7
−1
Si conclude che la prima formula di quadratura ha grado di precisione
5 mentre la terza ha grado di precisione 3.

23 24
Convergenza delle formule di quadratura Teorema. Sia f ∈ C[a, b], [a, b] limitato, sia {Sn(f )} una succes-
sione di formule di quadratura interpolatorie
n
X n
X
Convergenza: lim S (f ) = I(f ) ⇐⇒ lim Rn(f ) = 0
n→∞ n n→∞ Sn(f ) = ci f (xi) tale che |ci| ≤ M ∀n,
i=0 i=0
• Al crescere di n il polinomio interpolatore potrebbe non convergere allora lim Sn(f ) = I(f ).
n→∞
⇒ anche la formula di quadratura potrebbe fornire risultati inaccurati.

1 Nota 1. Per le formule di quadratura interpolatorie a coefficienti posi-


0.8 p2(x) tivi si ha Xn n
X
|ci| = ci = b − a
0.6
i=0 i=0
Fenomeno di Runge: 0.4
p4(x)
per cui l’ipotesi del Teorema è soddisfatta con M = b − a.
1 ⇓
f (x) = x ∈ [−5, 5] 0.2 f(x)
1 + x2 Ogni successione di formule di quadratura interpolatorie a
0
p0(x) coefficienti positivi è convergente.
−0.2

−0.4
−5 0 5
Nota 2. I coefficienti delle formule di Newton-Cotes sono tutti posi-
x
tivi se n ≤ 7, mentre sono sia positivi che negativi per n > 7.
=⇒ Le formule di quadratura interpolatorie convergono in tutti I coefficienti delle formule gaussiane sono tutti positivi per
quei casi in cui converge il polinomio interpolatore. ogni valore di n.
25 26

Formule di Newton-Cotes generalizzate Formula dei trapezi


• Per n > 7 i coefficienti ci delle formule di Newton-Cotes hanno
fj+1
segni sia positivi che negativi → oltre a non essere garantita
la convergenza, si può avere un’amplificazione degli errori sui
dati, e quindi un’instabilità numerica.
f
j
• Per evitare l’uso di formule di Newton-Cotes di grado elevato,
quando si dispone di un numero elevato di dati {xi, fi}, i = Aj

0, . . . , n, si divide l’intervallo di integrazione in n sottointervalli


e si utilizza in ciascun sottointervallo una formula di Newton- x0 xj+1 x
xj N
Cotes di grado basso (in genere di grado 1 o 2).
L’integrale I(f ) viene approssimato con la somma delle aree dei
1 1 trapezi Aj .
0.8 p2(x) 0.8 p2(x)

0.6 0.6 Z b X Z xj+1


n−1
p4(x)
0.4
p (x)
4 I(f ) = f (x) dx = f (x) dx ≈
0.4
a j=0 xj
0.2 f(x) 0.2
f(x)

0
p0(x)
0
p0(x)
n−1
X n−1
X h  
−0.2 −0.2
≈ Aj = fj + fj+1
−0.4 −0.4
−5 0 5
j=0 j=0 2
−5 0 5 x

27 28
Z X Z xj+1
Formula dei trapezi I(f ) =
b
f (x) dx =
n−1
f (x) dx =
fj+1 a j=0 xj

fj
n−1
X h X  h3 
 n−1
= fj + fj+1 + − f 00(τj ) =
j=0
2 j=0
12

  n−1
X
Aj h h3
= (f0 + f1 + f1 + f2 + f2 + f3 + · · · + fn−2 + fn−2 + fn−1 + fn ) − f 00 (τj ) =
2 12 j=0
 
n−1
X  3
x0 x xj+1 xN h h
j
= f0 + 2 fj + fn  − nf 00 (τ ) τ ∈ [a, b]
2 j=1
12
In ogni sottointervallo [xj , xj+1], j = 0, . . . , n−1, si applica la formula
b−a   
del trapezio con h = .  n−1
n 

 h X



Tn(f ) = f0 + 2 fj + fn
Z b  2
X Z xj+1
n−1
Formula dei trapezi:
j=1
I(f ) = f (x) dx = f (x) dx = 

a   
j=0 xj 

 T b − a 2 00

 Rn (f ) = − h f (τ ) τ ∈ [a, b]
! 12
n−1 n−1
X h   X h3
= fj + fj+1 + − f 00(τ j) τj ∈ [xj , xj+1]
Grado di precisione: ν = 1
j=0 2 j=0 12
29 30

Formula delle parabole


f2j+1

p (x)
j
Formula delle parabole
f(x)
In ogni sottointervallo [x2j , x2(j+1)], j = 0, 1, . . . , n/2 − 1, si applica la
f f2(j+1)
2j
b−a
A formula di Cavalieri-Simpson con h = .
j n

Z b n/2−1
X Z x2(j+1)
x
0 x2j x2(j+1) xN I(f ) = f (x) dx = f (x) dx =
a j=0 x2j
L’integrale I(f ) viene approssimato con la somma delle aree al di
sotto della parabola pj (x). n/2−1 n/2−1 !
X h   X h5
= f2j + 4f2j+1 + f2(j+1) + − f (4)(τj )
Z b n/2−1
X Z x2(j+1) 3 90
j=0 j=0
I(f ) = f (x) dx = f (x) dx ≈
a j=0 x2j
τj ∈ [x2j , x2(j+1)]
n/2−1
X n/2−1
X h  
≈ Aj = f2j + 4 f2j+1 + f2(j+1)
j=0 j=0 3
31 32
Z b n/2−1 Z x2(j+1)
X
I(f ) = f (x) dx = f (x) dx = Convergenza delle formule
a j=0 x2j
dei trapezi e delle parabole
n/2−1 n/2−1  
X h  X h5
= f2j + 4f2j+1 + f2(j+1) + − f (4) (τj ) = Formula dei trapezi:
j=0
3 j=0
90

lim T (f ) T (f ) = 0
= I(f ) ⇐⇒ lim Rn
=
h
(f0 + 4f1 + f2 + f2 + 4f3 + f4 + f4 + 4f5 + f6 + · · · + fn−2 + fn−2 + 4fn−1 + fn )+ n→∞ n n→∞
3
 
 5  n/2−1
X n/2−1
X n/2−1
X  5 Se f ∈ C (2)[a, b]
h h h n (4)   
− f (4)(τj ) = f0 + 4 f2j+1 + 2 f2j + fn  − f (τ ) b−a
90 j=0 3 90 2 lim RT (f ) |{z}
= T (f ) = lim −
lim Rn h2 f 00(τ ) = 0
j=0 j=1
n→∞ n h→0 h→0 12
 h= b−a
  n

 n/2−1 n/2−1

 h X X 

 Pn(f ) = f0 + 4 f2j+1 + 2 f2j + fn Formula delle parabole:
Formula 

 3 j=0 j=1
delle

 P (f ) = 0
 lim P (f ) = I(f ) ⇐⇒ lim Rn
parabole: 


 
b − a 4 (4) n→∞ n n→∞

 P
 Rn (f ) = − h f (τ ) τ ∈ [a, b]
180
Se f ∈ C (4)[a, b]   
Grado di precisione: ν = 3 b−a
lim RP (f ) |{z}
= P (f ) = lim −
lim Rn h4 f (4)(τ ) = 0
Nota. Per poter usare la formula delle parabole il numero di nodi n + 1 deve n→∞ n h→0 h→0 180
h= b−a
n
essere dispari.
33 34

Esempio 2 (inizio slide)


Errore di propagazione
Si può approssimare la lunghezza della pista con una formula di Assumendo che per l’errore sui dati valga la limitazione |εi| ≤ ε = 0.5,
quadratura generalizzata. per l’errore di propagazione si ottiene la maggiorazione:

h = b−a 84
n = 14 = 6 ∗ (f )| = |
n
X n
X n
X
|Rn εi ci| ≤ |εi| |ci| ≤ ε |ci|
  i=0 i=0 i=0
13
X
Formula dei trapezi: L ≈ 3 v0 + 2 vi + v14 = 9855
Poiché entrambe le formule di quadratura hanno coefficienti ci positivi
i=1
si ha
 
6
X 6
X n n
X X
Formula delle parabole: L ≈ 2 v0 + 4 v2i+1 + 2 v2i + v15 = ∗ (f )| ≤ ε
|Rn |ci| ≤ ε ci = ε (b − a) = 0.5 · 84 = 42
i=0 i=1 i=0 i=0
9858

35 36
Per esempio, scegliendo la formula di Cavalieri-Simpson per i primi tre
nodi e la formula dei 3/8 per i successivi si ha
Z 5/2 Z 1 Z 5/2
Esercizio f (x)dx = I1 + I2 = f (x)dx + f (x)dx
0 0 1
con
Si stimi il valore del seguente integrale h 1 11.5
I1 = (f0 + 4f1 + f2) = (1.5 + 4 · 2 + 2) = = 1.9167
Z 5 3 6 6
2
f (x)dx
0 3h 3
I2 = (f0+3f1+3f2+f3) = (2+3·1.6364+3·1.25+0.9565) = 2.1779
sapendo che la funzione f assume i valori riportati in tabella 8 16
e quindi
x 0 0.5 1.0 1.5 2.0 2.5 Z 5/2
f(x) 1.5000 2.0000 2.0000 1.6364 1.2500 0.9565 f (x)dx ≈ 1.9167 + 4.3559 = 4.0946
0
mentre
Soluzione Poichè il numero di punti è pari, è necessario o applicare
h5 (IV ) 3h5 (IV )
la formula dei trapezi, oppure suddividere l’intervallo opportunamente R(f ) = R1 (f ) + R2 (f ) = − f (ξ1 ) − f (ξ2 ), ξ1 ∈ (0, 1), ξ2 ∈ (1, 2.5)
90 80
in due sotto-intervalli in cui applicare due formule di quadrature distinte
ma possibilmente aventi precisione comparabile.
Nota: Confrontare l’approssimazione del valore dell’integrale con quella
ottenuta usando la formula dei trapezi e stabilire se è possibile dare
una stima di R(f ).
37 38

function [int_value] = trapezi(fi,a,b)


%[int_value] = trapezi(fi,a,b)
% valuta l’integrale di una funzione f nell’intervallo [a,b]
% usando la formula dei trapezi, conoscendo il valore di f in punti
% equidistanti nell’intervallo [a,b]
Esercizio %
% INPUT
Scrivere la funzione Matlab trapezi.m che riceva come parametri di %
input i valori f i di una funzione valutati su una griglia di punti e- % fi = valore della funzione in punti equidistanti dell’intervallo [a,b]
quispaziati nell’intervallo [a, b] e approssimi l’integrale della funzione f % a = estremo inferiore dell’intervallo di integrazione
nell’intervallo [a, b] usando la formula dei trapezi. Usare la funzione % b = estremo superiore dell’intervallo di integrazione
per calcolare l’integrale della funzione dell’esercizio precedente e con- %
frontare i risultati con lo output della funzione trapz.m predefinita di % int_value = approssimazione dell’integrale di f in [a,b]
Matlab.
N = length(fi); % numero di punti
h = (b-a)/(N-1); % distanza tra i punti

% calcolo del valore dell’integrale


int_value = (fi(1) + 2 * sum (fi(2:N-1)) + fi(N))*h/2;
39 40
Dal Command Window

>> f = @(x)[exp(-x).*((cos(x)).^2 )];


>> xi = linspace(0,-log((.5*10^(-3))),292); Esercizio
>> fi = f(xi);
Si riscriva la funzione dell’esercizio precedente. I parametri di input
>> int_value = trapezi(fi,0,-log(.5*10^(-3))); sono: la funzione di cui si vuole calcolare l’integrale e il numero di
>> disp(int_value) punti N da usare nella formula dei trapezi. Si calcoli l’integrale della
0.59989905470163 funzione dell’esercizio precedente con N = 100, · · · , 800 e si confrontino
i risultati.
>> int_value = trapz(xi,fi);
>> disp(int_value)
0.59989905470163

41 42

f = @(x)[exp(-x).*((cos(x)).^2 )];
N = 100:800;
for i = 1:length(N) N int_value
282 0.599903
int_value(i) = trapezi2(f,0,-log(.5*10^(-3)),N(i)); 283 0.599903
end 284 0.599902
285 0.599902
figure, plot(N,int_value) 286 0.599901
xlabel(’numero di punti N’) 287 0.599901
288 0.599901
ylabel(’integrale approssimato’) 289 0.599900
290 0.599900
291 0.599899
292 0.599899
293 0.599899
294 0.599898
295 0.599898
296 0.599898
297 0.599897
298 0.599897
299 0.599896
300 0.599896
301 0.599896
302 0.599895

43 44
function [I] = parabole(xnodi,fnodi) Usando la formula delle parabole per valutare l’integrale dell’esercizio
% I=parabole(xnodi,fnodi): Approssimazione di un integrale precedente si ha
% con la formula delle parabole
%
>> I = parabole(xi,fi)
% INPUT
% xnodi = punti dell’intervallo di intergrazione
I =
% in cui si conosce il valore della funzione
% ynodi = valore della funzione da integrare valutata nei punti xnodi
0.59984121703556
%
% OUTPUT
Mentre usando la funzione predefinita di Matlab quad.m (usa la formula
% I = approssimazione dell’integrale
di Newton ricorsivamente in modo da ottenere un errore di almeno
10−6).
nnodi = length(xnodi);
a = xnodi(1);
b = xnodi(nnodi); >> quad(f,0,-log(.5*10^(-3)))
h = (b-a)/(nnodi-1);
I = h/3*(fnodi(1)+4*sum(fnodi(2:2:nnodi-1))+ ... ans =
2*sum(fnodi(3:2:nnodi-2))+fnodi(nnodi));
0.59984217665775
45 46

Esercizio

Calcolare il valore del seguente integrale Soluzione


Z 1
1
dx
1 + x2
0 Il valore esatto dell’integrale è I = [arctan(x)]1 π
o = 4.
usando la formula delle parabole e un numero di segmenti N =
20, . . . , 200 di passo 4. Per il calcolo dell’integrale approssimato, si usa la funzione parabole.m
opportunamente modificata:
Calcolare le approssimazioni per ogni N e calcolare l’errore assoluto
EN rispetto al valore esatto dell’integrale.

47 48
function [IN] = parabole_mod(fun,a,b,N)
% IN = parabole_mod(fun,a,b,N): Approssimazione di un integrale
% con la formula delle parabole
%
% INPUT
% fun: funzione da integrare % calcolo il passo e il numero di nodi
% a = estremo inferiore dell’intervallo di integrazione h = (b-a)/(N);
% b = estremo superiore dell’intervallo di integrazione nnodi = N+1;
% N : numero di intervalli da usare nella formula di quadratura xi = linspace(a,b,nnodi);
% f_primo = fun(xi(2:2:nnodi-1));
% OUTPUT f_secondo = fun(xi(3:2:nnodi-2));
% I = approssimazione dell’integrale IN = h/3*(fun(xi(1))+4*sum(f_primo)+ 2*sum(f_secondo)+fun(xi(nnodi)));

% Controllo se il numero di nodi dispari


if mod(N,2) ~= 0
error(’N deve essere un numero pari!!!’)
end

49 50

da cui
figure
subplot(2,1,1)
J = pi/4;
plot(N, IN)
title(’ Approx. dell’’ integrale da 0 a 1 di 1/1+x2’)
N = [20:4:200];
xlabel(’N’)
f = @(x) 1./(1+x.^2);
ylabel(’valore approssimato’)
subplot(2,1,2)
for i = 1:length(N)
plot(N,EN)
IN(i) = parabole_mod(f,0,1,N(i));
title(’Errore dell’’ Approssimazione’)
EN(i) = abs(IN(i)-J);
xlabel(’N’)
end

51 52
Criterio di Runge

Nel caso delle formule generalizzate è possibile stimare il resto senza


ricorrere al calcolo della derivata.
 
T (f ) = − b − a 2 00
Formula dei trapezi: Rh h f (τ ) τ ∈ [a, b]
12
 
T (f ) = T (f )− b − a 2 00
Passo h → I(f ) = Th(f )+Rh h h f (τ )
12

   2
h T (f ) = T b−a h
Passo → I(f ) = Th/2(f )+Rh/2 h/2(f )− f 00(σ)
2 12 2

Se f 00(x) varia poco in [a, b] ⇒ f 00(τ ) ' f 00(σ)


   
T (f ) = − b − a 2 00 b − a 2 00 T (f )
⇒ Rh h f (τ )' − h f (σ) = 4Rh/2
12 12

53 54


T (f ) 
Passo h → I(f ) ' Th(f )+4Rh/2 
  Sottraendo le due formule
Estrapolazione di Richardson
h  si ottiene ⇓

Passo T (f ) 
→ I(f ) = Th/2(f )+Rh/2 
2 Il criterio di Runge permette di stimare il resto tramite le sole parti
approssimanti relative ai passi h e h/2.
T (f ) ' 1 (T
Criterio di Runge (per trapezi): Rh/2 (f ) − Th(f ))
3 h/2 La stima ottenuta può essere utilizzata per ottenere una nuova ap-
  prossimazione, più accurata, dell’integrale.
P (f ) = − b − a 4 (4)
Formula delle parabole: Rh h f (τ ) τ ∈ [a, b]
180
  Estrapolazione di Richardson (per trapezi):
b−a
Passo h → I(f ) = Ph(f )+RhP (f ) = Ph (f )− h4f (4) (τ )
180
T (f ) ' T 1
   4 I(f ) = Th/2(f )+Rh/2
h b−a h h/2(f ) + (Th/2 (f ) − Th(f ))
Passo P (f ) = P
→ I(f ) = Ph/2(f )+Rh/2 h/2 (f )− f (4) (σ) 3
2 180 2
Se f (4)(x) varia poco in [a, b] ⇒ f (4) (τ ) ' f (4)(σ) Estrapolazione di Richardson (per parabole):
   
b−a b−a
⇒ RhP (f ) = − h4f (4) (τ )' − h4 f (4) (σ) = 16Rh/2
P (f )
1
180 180 P (f ) ' P
I(f ) = Ph/2(f )+Rh/2 h/2 (f ) + (P (f ) − Ph(f ))
15 h/2
P (f ) ' 1 (P
Criterio di Runge (per parabole): Rh/2 (f ) − Ph(f ))
15 h/2
55 56
Esercizio
Z 1
I(ex) = ex dx = e − 1 ' 1.7182818
0

Esempio Passo h =
1
2
1
→ P1/2(ex ) = (e0 + 4e0.5 + e1 ) ' 1.7188611
6
Determinare l’errore che si commette approssimando la lunghezza della pista con la I(ex ) − P1/2(ex ) = −0.58 · 10−3
formula dei trapezi.
1 1 0
Per stimare l’errore si può utilizzare il criterio di Runge utilizzando come approssi- Passo h = → P1/4(ex ) = [e + 4(e0.25 + e0.75 ) + 2e0.5 + e1 ] ' 1.7183188
4 12
mazione al passo h/2 l’approssimazione con passo h/2 = 6 (si usano tutti i nodi) e
come approssimazione al passo h l’approssimazione al passo h = 12 (si usano solo I(ex ) − P1/4(ex ) = −0.37 · 10−4
gli 8 nodi i = 0, 2, 4, . . . , 14).
1 Criterio di Runge:
Criterio di Runge per trapezi: R ≈ (9855 − 9846) = 3
3 1 1
P
R1/4 ' (P1/4 (ex ) − P1/2 (ex )) = (1.7183188 − 1.7188611) = −0.36 · 10−4
1 15 15
Estrapolazione di Richardson: L ≈ 9855 + (9855 − 9846) = 9858
3
Estrapolazione di Richardson:
E’ possibile applicare il criterio di Runge per la formula delle parabole?
1
I(ex) ' P1/4(ex) + (P (ex) − P1/2(ex)) ' 1.7182826 = A
15 1/4

I(f ) − A = 1.7182818 − 1.7182826 = −0.8 · 10−6


57 58

Soluzione

Esercizio 1.1 Utilizzando n = 5 nodi nell’intervallo [a, b] = [−0.5, 0.5] si ha un


passo
Data la tabella
b−a 1
h= = .
i 0 1 2 3 4 n−1 4
xi -0.5 -0.25 0 0.25 0.5 Dunque, l’ approssimazione dell’integrale è data da:
fi 1.64872 1.28402 1.00000 0.77880 0.60653 n−2
X
h h
Th(f ) = (f0 + 2 fi + fn−1) = (f0 + 2f1 + 2f2 + 2f3 + f4) =
relativa ai valori, affetti da errore, di una funzione f (x) ∈ C ∞ (IR), 2 2
i=1
R 0.5 = 0.125(1.64872 + 2 · 1.28402 + 2 · 1 + 2 · 0.7788 + 0.60653) =
1.1) approssimare −0.5
f (x)dx usando la formula dei trapezi generalizzata su 5 nodi;
= 1.04761
1.2) dare una stima dell’errore di troncamento;

1.3) stabilire se l’errore di propagazione può essere trascurato rispetto all’errore di


troncamento motivando la risposta.
1.2 Per valutare l’errore di troncamento, non avendo informazioni
sulla derivata seconda di f , si applica la formula dei trapezi su tre nodi
con passo 2 h = 0.5,

59 60
Usando l’estrapolazione di Richardson, l’approssimazione dell’integrale
2h
T2h(f ) = (f0 + 2f2 + f4) = migliora come segue
2
= 0.25(1.64872 + 2 · 1 + 0.60653) = 1.06381.
I(f ) ≈ Th + (−0.54 · 10−2) = 1.04221.

Sapendo che f (x) ∈ C ∞, si può utilizzare il criterio di Runge per la


1.3 I valori della funzione nei nodi sono dati con precisione  =
stima dell’errore di troncamento e quindi:
0.5 · 10−5. Poichè i coefficienti della formula di quadratura sono tutti
T (f ) − T2h(f ) positivi, risulta che l’errore di propagazione R∗(f ) è tale che
Rh(f ) ≈ h
3
da cui R∗(f ) ≤ (b − a) = 0.5 · 10−5.
1.04761 − 1.06381 Quindi, l’errore di propagazione è trascurabile rispetto all’errore
Rh(f ) ≈ = −0.54 · 10−2
3 di troncamento.

61 62

Riferimenti bibliografici

L. Gori, Calcolo Numerico: Cap. 7 §§ 7.1, 7.2, 7.3 (escluse formule di Newton-Cotes
aperte), 7.4, 7.5 (escluso metodo di Romberg), 7.9
Esercizi d’esame
L. Gori, M.L. Lo Cascio, F. Pitolli, Esercizi di Calcolo Numerico: 4.1-4.7, 4.9, 4.10,
4.21, 7.3, 7.8, 7.9, 7.17, 7.23, 7.28, 7.30, 7.42, 7.47, 7.48, 7.71, 7.78, 7.82, 7.84

63 64
Soluzione
ESERCIZIO 1

1.1) L’errore di troncamento della formula dei trapezi composta con


1.1) Scrivere la formula dei trapezi composta che approssima il valore m + 1 punti è
 
di T =− b − a 2 00
Z 1 Rm h f (τ ), τ ∈ (a, b),
1 12
π=4 dz
0 1 + z2 con f funzione integranda, a e b estremi dell’intervallo di inte-
con almeno 3 cifre decimali esatte. Si trascuri l’errore di propa- grazione, h = b−a
m .
gazione; T | < 0.5 · 10−3
|Rm
se
 
1.2) Assumendo che i valori della funzione integranda siano dati con b−a

h2 max |f 00(x)| ≤ 0.5 · 10−3,
10 cifre decimali esatte, dare una stima dell’errore che si com- 12 x∈[a,b]
mette nell’approssimare π nel caso in cui si utilizzi la formula delle cioè , detto M = maxx∈[a,b] |f 00(x)|, se
parabole composta con un numero di nodi comparabile con quello s s
individuato al punto precedente per la formula dei trapezi. (b − a)3M M
m> = .
12 · 0.5 · 10−3 12 · 0.5 · 10−3

65 66

2
8(3x −1)
8x
Si verifica facilmente che f 0(x) = − (1+x 00
2 )2 e f (x) = (1+x2 )3 .
00
Poiché f (x) è una funzione crescente in [0, 1] e si annulla in x =
√1 , si ha
3

M = max{|f 00(0)|, |f 00(1)|} = max{8, 2} = 8.


Quindi 2 4
essendo f (4)(x) = 96 1−10x +5x
.
20 (1+x2 )5
m > √ ≈ 36.5,
3 I valori della funzione nei nodi sono dati con precisione  = 0.5 ·
cioè m = 37. 10−10. Poichè i coefficienti della formula di quadratura sono tutti
positivi, l’errore di propagazione R∗(f ) è tale che
1.2) Poichè nella formula delle parabole il numero di nodi deve essere
R∗(f ) ≤ (b − a) = 0.5 · 10−10
dispari, si deve scegliere m = 38. Sostituendo m = 38 nella for-
mula dell’errore di troncamento relativo alla formula delle parabole che è trascurabile rispetto all’errore di troncamento.
composta, si ha
P|=| (b − a) (4) (b − a)
|Rm 4
f (τ )| ≤ | |M4
180 · m 180 · m4
con M4 = maxx∈[0,1] |f (4)(x)|, cioè

P|< 96
|Rm ≈ 0.26 · 10−6 < 0.5 · 10−6,
180 · 384
ESERCIZIO 2

ESERCIZIO 3
Data la tabella

i 0 1 2 3 4 3.1) Scrivere la formula dei trapezi composta che approssima il valore


xi -0.5 -0.25 0 0.25 0.5 dell’integrale
fi 0.64872 0.28402 0.00000 -0.22120 -0.39347 Z 1
2
I= e1+z dz
0
relativa ai valori, affetti da errore, di una funzione f (x) ∈ C ∞(IR),
con almeno 3 cifre decimali esatte. Si trascuri l’errore di propa-
Z 0.5 gazione;
2.1) approssimare f (x)dx usando la formula dei trapezi generaliz-
−0.5
zata su 5 nodi; 3.2) Assumendo che i valori della funzione integranda siano dati con
10 cifre decimali esatte, dare una stima dell’errore che si com-
2.2) dare una stima dell’errore di troncamento; mette nell’approssimare I nel caso in cui si utilizzi la formula delle
parabole composta con un numero di nodi comparabile con quello
individuato al punto precedente per la formula dei trapezi.
2.3) stabilire se l’errore di propagazione può essere trascurato rispetto
all’errore di troncamento motivando la risposta.

67 68

ESERCIZIO 4
Si consideri la seguente tabella relativa alla funzione f (x), con f ∈ C ∞ (R)
ESERCIZIO 5
i 0 1 2 3 4 5 Stabilire quali delle seguenti formule di quadratura forniscono la stima di I(f ) =
R1
−1
f (x)dx più precisa per ogni scelta del parametro intero positivo n quando f (x) =
e−2log(1/(1−x+0.1x ))
2

xi -2 -1 0 1 2 3
√ √
• I(f ) = 16 (f (−1) + 5f (− 5/5) + 5f ( 5/5) + f (1))
f (xi ) -5 1 1 1 7 25
• I(f ) = 14 (f (−1) + 3f (−1/3) + 3f (1/3) + f (1))

Sapendo che i dati in tabella sono esatti, 1


• I(f ) = 45
(7f (−1) + 32f (−1/2) + 12f (0) + 32f (1/2) + 7f (1))
R3
4.1) dare una stima dell’errore che si commette approssimando I = −1
f (x)dx con Pn−1
una opportuna formula delle parabole. • I(f ) = n1 f (−1) + 2
n j=1 f (−1 + n2 j) + n1 f (1)

4.2) calcolare il valore esatto di I usando una opportuna formula di interpolazione. Suggerimento: Determinare il grado di precisione delle formule di quadratura pro-
poste.
Suggerimento: Usare la formula delle parabole generalizzata prima su tre nodi e
poi su 5 e stimare l’errore con il criterio di Runge.

69 70
ESERCIZIO 6
Si consideri la seguente tabella di dati esatti e riferiti ad una funzione F (x) ∈ C ∞ (R)
valutata in punti equidistanti xi ∈ [0, 3], i = 0, 1, . . . , 6 ESERCIZIO 7
Si consideri la seguente formula di quadratura
xi 0 0.5 1 1.5 2 2.5 3 Z 1      
1 1 1
F (xi ) 0 0.1250 0.5000 1.1250 2.0000 3.1250 4.5000 f (x)dx = f (−1) + af − + bf (0) + cf + f (1) + R(f ).
−1 6 2 2
Rx R xH R x6
e gli integrali cosı̀ definiti I1 = x0K F (x)dx, I2 = xK+1
F (x)dx, I3 = xH+1
F (x)dx con
K e H interi nell’intervallo [0, 6] 7.1 Stabilire per quali valori dei parametri reali a, b, c la formula ha grado di precisione
pari a 3.
Stabilire come devono essere scelti K e H affinchè l’errore che si commette nella
7.2 Stabilire se è possibile stimare l’errore di propagazione commesso usando la
stima di I2 , usando delle opportune formule di quadratura, sia inferiore all’errore che formula determinata al punto precedente quando i valori della funzione nei nodi
si commette nella stima di I1 e I3 . sono forniti con 10 decimali esatti.

Suggerimento: Poichè F è C ∞ , si può scegliere una formula di quadratura per I2 con grado di 7.3 Proporre, se possibile, almeno due procedure distinte con R 1cui dare una stima
dell’errore di troncamento che si commette approssimando −1 log(x+2)dx con la
precisione maggiore rispetto a quello delle formule di quadratura da usare per approssimare I1 and formula di quadratura determinata al punto 10.1. Scelta una delle due procedure
I3 . Poichè i nodi sono 7 e gli intervalli di integrazione degli integrali proprosti sono disgiunti, l’unica proposte, dare una maggiorazione dell’errore di troncamento.
scelta è quella di usare la formula di Cavalieri-Simpson per I2 e la formula del trapezio per gli altri

integrali.

71 72

ESERCIZIO 8
Traccia della soluzione R1
Si consideri l’integrale I(f ) = −1
f (x)dx, con f (x) = x4 + 1, x ∈ [−1, 1]
La formula di quadratura è costruita su nodi equidistanti di passo h = 1/2 e simmetrici
rispetto allo 0; scegliendo a = c = 4 e b = 2, la formula è quella delle parabole 8.1 Stabilire quali delle seguenti formule di quadratura sono adatte ad approssimare
generalizzate che ha grado di precisione 3. I(f ) con almeno 5 decimali esatti:
 
Poichè i coefficienti della formula sono tutti positivi, l’errore di propagazione è • I(f ) = 16 [f (−1) + 4f − 12 + 2f (0) + 4f 12 + f (1)] + R(f ),
Rn∗ (I) = ε(b − a), con ε pari all’errore massimo sui dati e (b − a) pari all’ampiezza
• I(f ) = 14 (f (−1) + 3f (−1/3) + 3f (1/3) + f (1)) + R(f )
dell’intervallo di integrazione.
   
• I(f ) = 16 f (−2) + 56 f − √25 + 65 f √25 + 16 f (2) + R(f ),
Per il calcolo dell’errore di trocamento è possibile valutare il massimo della derivata
Pn−1
quarta della funzione integranda e usare la formula il resto della formula delle parabole • I(f ) = n1 f (−1) + 2
n j=1 f (−1 + n2 j) + n1 f (1) + R(f )
generalizzata, oppure è possibile valutare l’integrale dato con la formula di quadratura
8.2 Indicati con {xi , f (xi )}1≤i≤n i dati richiesti dalla formula che soddisfa il punto
di Cavalieri-Simpson su nodi equidistanti in [−1, 1] di passo h = 1 e usare il criterio
11.1 con un numero inferiore di nodi, dare una stima dell’errore che si commette
di Runge per la stima dell’errore di troncamento. interpolando {xi , f (xi )}1≤i≤n sapendo che i valori f (xi ) sono dati con 7 decimali
esatti.

73 74
Suggerimento Le prime due formule sono rispettivamente la formula delle parabole generalizzata ESERCIZIO 9
costruita su nodi equidistanti di passo h = 1/2 nell’intervallo [−1, 1] e la formula dei 3/8 costruita R x+δ
e−t dt, con x ∈ R e δ parametro reale
2
Si consideri la seguente funzione F (x) = x
su nodi equidistanti nello stesso intervallo ma con passo h = 2/3. In entrambi i casi, l’intervallo di positivo.
integrazione coincide con l’intervallo su cui sono state costruite le formule. Pertanto, le due formule
9.1 Stabilire se e in che modo è possibile dare una stima del valore di F in un
sono adatte ad approssimare l’integrale di un polinomio di quarto grado ed entrambe hanno grado di generico punto x ∈ R.
precisione pari a 3. Per valutare se il resto della formula rispetta la precisione richiesta, è necessario
9.2 Assegnata una distribuzione di nodi x0 , ...xn equidistanti di passo h, proporre
valutare i resti delle due formule considerandone le espressioni, entrambe dipendenti dalla derivata
almeno un metodo di stima per F (xi + 2h ), i = 1, ..., n − 1 usando i valori
quarta della funzione integranda, che è sicuramente una costante. L’ultima formula proposta è quella F (xi ), i = 0, ..., n e stabilire con quale precisione devono essere dati i valori di
dei trapezi generalizzata che ha grado di precisione 1; poichè dipende dal parametro n, è possibile F (xi ) affinchè l’errore di propagazione che si commette nella stima di F (xi + 2h )
sia trascurabile.
scegliere il valore di n per il quale il resto della formula rispetta la condizione richiesta. La terza

formula di quadratura è costruita su nodi che appartengono ad un intervallo di integrazione diverso 9.3 Discutere la dipendenza dal parametro δ del risultato ottenuto al punto prece-
dente.
da quello proposto.

75 76

ESERCIZIO 10
Si consideri la seguente formula di quadratura dipendente dal parametro reale b
1 2 1
I(f ; b) =
f (−b) + f (0) + f (b).
3 3 3
Stabilire come deve essere scelto b affinchè la formula sia adatta ad approssimare i
seguenti integrali
Z 1 Z 1 Z 1
x2 dx, (x2 + 1)dx, (x5 + 5)dx
−1 −2 −1
e risulti di grado di precisione massimo.

77

Potrebbero piacerti anche