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
© Copyright 2024