Interpolazione di funzioni. Analisi degli errori per interpolazione

Interpolazione di funzioni. Analisi degli errori per
interpolazione composita lineare e spline
Interpolazione lineare composita
Se f ∈ C 2 ([x0 , xn ]), esiste una costante C1 > 0 indipendente da
H = maxi =1,n |xi − xi −1 | t.c.:
ec (H) = max |f (x) − p1c (x)| ≤ C1 H 2 max |f ′′ (x)|
x∈[x0 ,xn ]
x∈[x0 ,xn ]
Se i nodi xi sono equispaziati, allora C1 = 1/8.
Interpolazione con spline cubiche
Se f ∈ C 4 ([x0 , xn ]), esiste una costante C2 > 0 indipendente da
H = maxi =1,n |xi − xi −1 | t.c.:
es (H) = max |f (x) − s3 (x)| ≤ C2 H 4 max |f (4) (x)|
x∈[x0 ,xn ]
x∈[x0 ,xn ]
Se i nodi xi sono equispaziati, allora C2 = 5/384.
c
Paola
Gervasio - Calcolo Scientifico - 2014/15
1
Problema 6 (es interp6):
Data la funzione f (x) = 1/(x 2 + 1) sull’intervallo
[xa , xb ] = [−5, 5], costruire l’interpolatore lineare composito p1c (x)
e la spline cubica s3 (x), interpolanti f in (n + 1) nodi equispaziati.
1. Rappresentare su uno stesso grafico f (x), p1c (x) e s3 (x).
2. Calcolare gli errori ec (H) := max |f (x) − p1c (x)| e
es (H) := max |f (x) − s3 (x)| al variare di H = (xb − xa )/n, con
n = 20 : 10 : 1000, e rappresentarli su uno stesso grafico.
3. Verificare che, quando H → 0, l’errore dell’interpolazione lineare
composita ec (H) e l’errore dell’interpolazione con spline es (H)
osservano le stime teoriche, ovvero ec (H) ≤ c1 H 2 ed
es (H) ≤ c2 H 4 quando H → 0.
Nota. Per calcolare gli errori valutare il max su un insieme di 1000
punti equispaziati in [xa , xb ].
c
Paola
Gervasio - Calcolo Scientifico - 2014/15
2
Svolgimento. Cominciamo a lavorare solo con p1c .
n=4
n=8
f(x)
f(x)
p1c (x)
1.2
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
−5
−4
−3
−2
−1
0
1
2
p1c (x)
1.2
3
4
5
0
−5
−4
−3
−2
−1
n=12
0
1
f(x)
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
−3
−2
−1
0
4
5
1
c
Paola
Gervasio - Calcolo Scientifico - 2014/15
2
3
4
5
p1c (x)
1.2
1
−4
3
f(x)
p1c (x)
1.2
0
−5
2
n=20
3
4
5
0
−5
−4
−3
−2
−1
0
1
2
3
Come capire se l’errore `e del secondo ordine in H.
Dopo aver salvato gli errori nel vettore ehc ed i valori di H nel
vettore H possiamo valutare il comportamento degli errori in
funzione di H come segue:
c1=ehc./H.^2;
Se il vettore c1 contiene valori pressoch´e costanti, allora vuole dire
che ec (H) ≃ c1 H 2 .
c
Paola
Gervasio - Calcolo Scientifico - 2014/15
4
Alternativamente, se dal plot:
loglog(H,ehc,’b’, H,H.^2,’r’)
si ottengono due linee con la stessa pendenza, allora vuole dire che
eHc ≃ c1 H 2 .
Interpolazione composita lineare di Lagrange, f(x)=1/(x2+1)
0
10
errore
2
H
−1
10
−2
e
c
H
10
−3
10
−4
2
10
−5
10
−6
10
−2
10
c
Paola
Gervasio - Calcolo Scientifico - 2014/15
−1
10
H
0
10
5
Lavorando in maniera analoga con le spline, salviamo gli errori nel
vettore ehs e calcoliamo
c2=ehs./H.^4;
Se il vettore c2 contiene valori pressoch´e costanti, allora vuole dire
che es (H) ≃ c2 H 4 .
2
Spline cubiche, f(x)=1/(x +1)
−1
10
errore
H4
−2
10
−3
10
−4
10
−5
ecH
10
−6
10
−7
10
−8
4
10
−9
10
−10
10
−11
10
−2
10
c
Paola
Gervasio - Calcolo Scientifico - 2014/15
−1
10
H
0
10
6