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