Interpolazione di funzioni. Analisi degli errori per

Transcript

Interpolazione di funzioni. Analisi degli errori per
Interpolazione di funzioni. Analisi degli errori per
interpolazione globale di Lagrange
Problema 3 (es intlag3):
Dati f (x) = sin(πx) e [xa , xb ] = [−π, π], si esegua un ciclo per
n = 4, 8, ..., 40 e, per ogni n, si calcoli il polinomio di
interpolazione di Lagrange di grado n interpolante f su (n + 1)
nodi equispaziati. Lo si rappresenti graficamente insieme alla
funzione f (x). Per la rappresentazione grafica, si utilizzi un vettore
di 500 punti equispaziati in [−π, π].
Negli stessi punti equispaziati utilizzati per la rappresentazione
grafica valutare l’errore
En = kf − pn k∞ = max |f (x) − pn (x)|.
x∈[xa ,xb ]
A ciclo concluso plottare su una seconda figura gli errori En in
funzione del grado n.
c
Paola
Gervasio - Calcolo Scientifico - 2016/17
1
Output del problema 3
n=8
n=4
4
1.5
f(x)
polinomio interpolatore
f(x)
polinomio interpolatore
3
1
2
0.5
1
0
0
−1
−0.5
−2
−1
−3
−1.5
−3
−2
−1
0
1
2
3
−4
−3
−2
−1
n=12
0
2
3
1.5
f(x)
polinomio interpolatore
f(x)
polinomio interpolatore
1
1
0.5
0.5
0
0
−0.5
−0.5
−1
−1
−1.5
1
n=20
1.5
−3
−2
−1
0
c
Paola
Gervasio - Calcolo Scientifico - 2016/17
1
2
3
−1.5
−3
−2
−1
0
1
2
3
2
Commenti al problema 3
Interpolazione globale di Lagrange, f(x)=sin(π x)
1
1
10
nodi di interpolazione
pol Lagrange
f(x)
0.8
0
10
−1
0.6
10
0.4
10
0.2
10
−2
en
−3
0
−4
10
−5
10
−0.2
−6
10
−0.4
−7
10
−0.6
−8
10
−0.8
−9
10
−1
−4
−3
−2
−1
0
1
2
3
4
0
5
10
15
20
n
25
30
35
40
Oss. Per n ≥ 20 Matlab segnala che la matrice di Vander Monde è
mal condizionata.
Oss. L’errore En decresce fino a circa n = 32, poi tende a crescere
per effetto della propagazione degli errori di arrotondamento. In
questo caso possiamo concludere che i polinomi pn → f per
n → ∞, in assenza di errori di arrotondamento.
c
Paola
Gervasio - Calcolo Scientifico - 2016/17
3
Problema 4 (es intlag4): Ripetere lo stesso lavoro del problema
precedente, con f (x) = 1/(x 2 + 1) e [a, b] = [−5, 5].
Commenti al problema 4
2
1
Interpolazione globale di Lagrange, f(x)=1/(x +1)
6
10
0.5
5
10
0
4
10
−0.5
−1
3
en
10
−1.5
2
10
−2
1
10
−2.5
−3
f(x)
n=4
n=8
n=12
−3.5
−4
−5
0
10
−4
−3
−1
10
−2
−1
0
1
2
3
4
0
5
10
15
5
20
n
25
30
35
40
In questo caso l’errore En cresce da subito:
pn 6→ f
c
Paola
Gervasio - Calcolo Scientifico - 2016/17
per n → ∞.
4
Problema 5 (es intlag5): Ripetere lo stesso lavoro del problema
precedente, con f (x) = 1/(x 2 + 1) e [a, b] = [−5, 5] utilizzando i nodi di
Chebyshev Gauss Lobatto
xi =
b+a
b−a
+
2
2
− cos
iπ
n
,
i = 0, ..., n
invece dei nodi equispaziati. Prendere n = 8 : 8 : 64
1
1
10
f(x)
n=4
n=8
n=12
n=16
n=20
n=24
0.5
0
10
−1
en
10
−2
10
0
−3
10
−4
10
−0.5
−5
0
−4
−3
−2
−1
0
1
2
3
4
5
10
20
30
40
50
60
70
n
pn → f per n → ∞. L’errore En decresce, ma poi tende a risalire per effetto
degli errori di arrotondamento. Se non ci fossero errori di arrotondamento En
tenderebbe a zero per n → ∞.
Possibile alternativa. Per eliminare questi errori di arrotondamento bisogna
sostituire la forma di Vandermonde con la forma baricentrica del polinomio di
interpolazione.
c
Paola
Gervasio - Calcolo Scientifico - 2016/17
5
Forma baricentrica dell’interpolazione globale di Lagrange
Interpolare f (x) = 1/(x 2 + 1) sull’intervallo [a, b] = [−5, 5]
utilizzando i nodi di Chebyshev Gauss Lobatto e la forma
baricentrica
[y1]=barycentric(x,y,x1);
Prendere n = 8 : 8 : 64. Calcolare l’errore di interpolazione En per
ogni n e rappresentare su unico grafico En al variare di n.
2
10
0
En
10
-2
10
-4
10
-6
10
0
c
Paola
Gervasio - Calcolo Scientifico - 2016/17
Barycentric form
VanderMonde
20
40
n
60
80
6
CONCLUSIONI, pn = interp. glob di Lagrange
Se i nodi xi sono equispaziati, allora non è detto che pn → f
per n → ∞, nemmeno in aritmetica esatta (Es. 4 - esempio di
Runge)
se pn → f per n → ∞, comunque intervengono forti errori di
arrotondamento quando n è elevato (Es. 3).
Se i nodi xi sono quelli di Chebyshev Gauss Lobatto, allora è
garantito che pn → f per n → ∞, in aritmetica esatta;
se costruisco pn con la matrice di Vandermonde, intervengono
forti errori di arrotondamento quando n è elevato (Es. 5);
se costruisco pn con la formula baricentrica, allora gli errori di
arrotondamento vengono controllati (Es. 6).
c
Paola
Gervasio - Calcolo Scientifico - 2016/17
7