Interpolazione di dati e funzioni. Il capitolo dell'interpolazione e' uno ...
Interpolazione di dati e funzioni. Il capitolo dell'interpolazione e' uno ...
Interpolazione di dati e funzioni. Il capitolo dell'interpolazione e' uno ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Interpolazione</strong> <strong>di</strong> <strong>dati</strong> e <strong>funzioni</strong>.<br />
<strong>Il</strong> <strong>capitolo</strong> dell’interpolazione e’ <strong>uno</strong> dei più classici del Calcolo Numerico. I meto<strong>di</strong><br />
dell’interpolazione hanno una vasta applicazione, sia nell’ambito del Calcolo Numerico stesso, che<br />
in altri contesti applicativi, come la ricostruzione <strong>di</strong> profili,l’elaborazione numerica <strong>di</strong> segnali, ecc.<br />
Per esempio la trasformata <strong>di</strong> Fourier, in particolare la trasformata veloce <strong>di</strong> Fourier, ha<br />
rappresentato una pietra miliare per la effettiva risolubilità <strong>di</strong> tanti problemi reali.<br />
I primi lavori dei ricercatori sulle trasformate <strong>di</strong>screte <strong>di</strong> Fourier sono ancora oggi tra i più citati<br />
negli articoli su riviste scientifiche <strong>di</strong> prestigio. In queste lezioni verrà trattata solo l’interpolazione<br />
polinomiale insieme a qualche applicazione, inquadrando, prima, il problema più generale.<br />
Siano assegnate n+1 coppie <strong>di</strong> punti del piano, (xi, yi), i = 0, …n, in cui, però, le ascisse xi, siano<br />
tutte <strong>di</strong>stinte tra loro. Cioè<br />
i � j � xi � xj, i,j = 0, …n.<br />
Può essere importante, allora, rappresentare questi punti su <strong>di</strong> una curva del piano, e, poiché le<br />
ascisse sono tutte tra loro <strong>di</strong>stinte, conviene che si tratti del grafico <strong>di</strong> una funzione definita in un<br />
intervallo [a b], contenente tutte le ascisse. Allora<br />
Definizione<br />
Una funzione<br />
f : [a b] � R<br />
si <strong>di</strong>ce interpolante gli n+1 punti (xi, yi), o che interpola gli n+1 punti (xi, yi), se risulta<br />
f(xi) = yi, i = 0, …n<br />
•<br />
Spesso si <strong>di</strong>ce anche che i punti (xi, yi) sono interpolati da f. Con riferimento alle applicazioni, i<br />
punti (xi, yi), sono spesso chiamati <strong>dati</strong>, e l’interpolazione e’ <strong>uno</strong> dei vari mo<strong>di</strong> <strong>di</strong> trattare <strong>dati</strong><br />
sperimentali.<br />
Infine le ascisse <strong>di</strong> questi <strong>dati</strong>, sono dette anche no<strong>di</strong>, e le richieste f(xi) = yi, sono spesso chiamate<br />
le con<strong>di</strong>zioni dell’interpolazione.<br />
<strong>Il</strong> problema della scelta della funzione.<br />
Evidentemente esistono infinite funzione che interpolano i <strong>dati</strong> assegnati, ma e’ ancora più<br />
evidente, che, nelle applicazioni, si cercano <strong>funzioni</strong> con determinate caratteristiche, per esempio,<br />
con grande regolarità ( continuità ed esistenza <strong>di</strong> numerose derivate) oppure <strong>funzioni</strong> non<br />
eccessivamente oscillanti, ecc. In astratto si fissa una classe � <strong>di</strong> <strong>funzioni</strong> definite in un intervallo<br />
contenenti i no<strong>di</strong> e si cerca <strong>di</strong> risolvere il problema dell’interpolazione in questa classe.<br />
Vale quin<strong>di</strong> la<br />
Definizione<br />
<strong>Il</strong> problema dell’interpolazione dei punti (xi, yi), i=0, …n ben posto nella classe � se esiste<br />
una sola funzione f � �, tale che sod<strong>di</strong>sfi le con<strong>di</strong>zioni dell’interpolazione.<br />
•<br />
Osserviamo che le con<strong>di</strong>zioni dell’interpolazione sono n+1, e, in conseguenza, sembra naturale<br />
pensare ad una classe <strong>di</strong> funzione �, che possieda n+1 gra<strong>di</strong> <strong>di</strong> libertà.<br />
Cioè , la classe oltre a essere formata da <strong>funzioni</strong> con gli<br />
aspetti qualitativi desiderati nell’ambito della particolare applicazione, deve essere tale che ogni<br />
funzione sia in<strong>di</strong>viduata da n +1 parametri reali.<br />
In questo modo, si può sperare che il problema del’interpolazione sia ben posto in questa classe.<br />
L’interpolazione polinomiale.<br />
Una classe molto usata per l’interpolazione e’ quella dei polinomi �. Si tratta <strong>di</strong> <strong>funzioni</strong><br />
derivabili quante volte si voglia, e quando l’or<strong>di</strong>ne <strong>di</strong> derivazione supera il grado del polinomio, la<br />
derivata e’ identicamente nulla. <strong>Il</strong> grande <strong>di</strong>fetto sta nel fatto che al crescere del grado sono <strong>funzioni</strong><br />
eccessivamente oscillanti e, da ciò sono nate le interpolazioni con <strong>funzioni</strong> “spline”, cioè <strong>funzioni</strong><br />
polinomiali a tratti.
Noi ci limiteremo a trattare dell’interpolazione polinomiale, mostrando, con degli esempi, vantaggi<br />
e svantaggi.<br />
La classe dei polinomi <strong>di</strong> grado n sarà denotate con �n, e un generico polinomio p <strong>di</strong> grado n sarà<br />
scritto come<br />
p(x) = a0 + a1x + a2x 2 + …anx n<br />
Se an = 0, il polinomio degenera in <strong>uno</strong> <strong>di</strong> grado inferiore, cioè �n-1 � �n. In sostanza la precedente<br />
scrittura sta a denotare un polinomio <strong>di</strong> grado al più n. Se an ≠ 0, si tratta <strong>di</strong> un polinomio <strong>di</strong> grado<br />
esattamente n<br />
Questa forma vuol <strong>di</strong>re e’ stata usata la base delle potenze<br />
1, x, x 2 , ….x n<br />
per rappresentare p, cioè ogni polinomio p ��n, è una combinazione lineare delle potenze. Si tratta<br />
<strong>di</strong> una base, perché questa combinazione lineare è unica. Ma e’ evidente che p può anche<br />
rappresentarsi me<strong>di</strong>ante altre basi. Un esempio e’ una qualsiasi sequenza<br />
p0, p1, ….pn,<br />
dove p0 e’ una costante non nulla ( polinomio <strong>di</strong> grado esattamente zero), p1 e’ un polinomio <strong>di</strong><br />
grado esattamente <strong>uno</strong>, … pk e’ un polinomio <strong>di</strong> grado esattamente k , …, pn è un polinomio <strong>di</strong><br />
grado esattamente n. Se questa ( come lo è) è una base, vuol <strong>di</strong>re che ogni polinomio p <strong>di</strong> grado al<br />
più n, si scrive in modo unico ( con unici coefficienti ci),<br />
p(x) = c0p0(x) + c1p1(x) + …cnpn(x)<br />
Una sequenza che incontreremo più avanti e’ costituita tutta da polinomi <strong>di</strong> grado esattamente n. La<br />
classe �n e’ una classe lineare a n+1 gra<strong>di</strong> <strong>di</strong> libertà ed è quin<strong>di</strong> can<strong>di</strong>data all’interpolazione <strong>di</strong> n+1<br />
coppie con no<strong>di</strong> <strong>di</strong>stinti.<br />
Vale il fondamentale<br />
Teorema ( dell’interpolazione polinomiale).<br />
Assegnati n+1 no<strong>di</strong> <strong>di</strong>stinti x0, …xn, per ogni scelta delle or<strong>di</strong>nate y0, …yn, esiste un solo<br />
polinomio p � �n tale che<br />
p(xi) = yi, i = 0,…n.<br />
•<br />
La veri<strong>di</strong>cità <strong>di</strong> questo teorema nasce dal fatto che �n è <strong>uno</strong> spazio lineare a n+1 <strong>di</strong>mensioni ( come<br />
R n+1 ). D’altra parte quando si scrivono le con<strong>di</strong>zioni <strong>di</strong> interpolazione si viene a formare un sistema<br />
lineare <strong>di</strong> n+1 equazioni in n+1 incognite, che si <strong>di</strong>mostra essere non singolare.<br />
Esempio.<br />
Siano assegnate le ascisse -1, 0, 1 e si cerchi il polinomio <strong>di</strong> secondo grado interpolante<br />
questi tre no<strong>di</strong>, con or<strong>di</strong>nate rispettivamente 1, 1, -1.<br />
Se p(x) = a+bx + cx 2 è un generico polinomio <strong>di</strong> secondo grado, le con<strong>di</strong>zioni <strong>di</strong> interpolazione si<br />
scrivono<br />
a –b + c = 1<br />
a = 1<br />
a + b + c = -1<br />
Risolvendo il sistema si trae<br />
p(x) = 1 – x – x 2<br />
•<br />
Se, si facesse riferimento a un modello non lineare , per esempio alla classe <strong>di</strong> <strong>funzioni</strong> a tre<br />
parametri Ae Bx + C, si avrebbe il sistema non lineare<br />
Ae -B + C = 1<br />
A + C = 1<br />
Ae B + C = -1<br />
Si vede che questo sistema non ammette soluzione. Pertanto il problema <strong>di</strong> interpolazione non è<br />
ben posto in questa classe.<br />
Se si volesse risolvere il problema <strong>di</strong> interpolazione con i meto<strong>di</strong> Gaussiani, occorrerebbero come<br />
e’ noto
O(2(n+1) 3 /3) flop<br />
e questo e’ un costo troppo oneroso per un semplice problema <strong>di</strong> interpolazione. Inoltre per gran<strong>di</strong><br />
valori <strong>di</strong> n la matrice dei coefficienti è mal con<strong>di</strong>zionata. Vale a <strong>di</strong>re che una piccola perturbazione<br />
<strong>di</strong> qualche coefficiente, produce una grossa perturbazione sulla soluzione del sistema. In questo<br />
caso anche i meto<strong>di</strong> gaussiani con la ricerca del pivot si mostrano inefficaci.<br />
I polinomi fondamentali <strong>di</strong> Lagrange.<br />
Un modo molto elegante e produttivo per costruire<br />
l’interpolazione polinomiale passa attraverso i famosi polinomi fondamentali <strong>di</strong> Lagrange.<br />
Assegnati n+1 no<strong>di</strong> <strong>di</strong>stinti xi, i =0, …n, il k-esimo polinomio fondamentale <strong>di</strong> Lagrange, e’ il<br />
polinomio <strong>di</strong> grado n, Lk(x) che interpola le coppie (xi,yi), i = 0, …n, dove le or<strong>di</strong>nate sono<br />
y0 = 0, …yk-1 = 0, yk = 1, yk+1 = 0, ….yn = 0.<br />
Vale a <strong>di</strong>re<br />
Lk(xi) = �ik, i =0, …n, k = 0, …n<br />
dove il simbolo <strong>di</strong> Kronecher �ik e’ definito come<br />
�1<br />
i � k<br />
δik � �<br />
�0<br />
i � k<br />
Quin<strong>di</strong> ogni Lk(x) e’ un polinomio <strong>di</strong> grado n tale che<br />
Lk(xk) =1, Lk(xi) = 0, i � k.<br />
Ogni Lk deve avere gli n zeri xi, i � k, ed essendo <strong>di</strong> grado n ha la forma<br />
Lk(x)=Ak(x-x0)…(x-xk1)(x-xk+1)…(x-xn).<br />
Se si impone<br />
Lk(xk) = 1,<br />
si trae<br />
1<br />
Ak<br />
�<br />
(xk<br />
� x0<br />
)...(xk<br />
� xk�1<br />
)(xk<br />
� xk�1<br />
)...(xk<br />
� xn<br />
)<br />
In definitiva<br />
(x � x0<br />
)...(x � xk�1<br />
)(x � xk�1<br />
)...(x � xn<br />
)<br />
Lk(x)<br />
�<br />
,<br />
(xk<br />
� x0<br />
)...(xk<br />
� xk�1<br />
)(xk<br />
� xk�1<br />
)...(xk<br />
� xn<br />
)<br />
k = 0, …n.<br />
I polinomi fondamentali <strong>di</strong> Lagrange sono tanti, quanti sono i no<strong>di</strong>, e sono tutti <strong>di</strong> grado esattamente<br />
n in quanto il primo coefficiente è esattamente Ak � 0. <strong>Il</strong> denominatore e’ un numero che è il<br />
valore del numeratore in xk.<br />
Per esempio, se n =1,<br />
si ha<br />
(x � x1<br />
) (x � x0<br />
)<br />
L0(x)<br />
� , L1(x)<br />
�<br />
(x0<br />
� x1<br />
) (x1<br />
� x0<br />
)<br />
entrambi <strong>di</strong> primo grado, e se n = 2,<br />
(x � x1<br />
)(x � x2<br />
) (x � x0<br />
)(x � x2<br />
)<br />
L0(x)<br />
�<br />
, L1(x)<br />
�<br />
,<br />
(x � x )(x � x ) (x � x )(x � x )<br />
(x � x0<br />
)(x � x1<br />
)<br />
L2(x)<br />
�<br />
(x2<br />
� x0<br />
)(x2<br />
� x1<br />
)<br />
tutti e tre <strong>di</strong> secondo grado. Se n = 3,<br />
0<br />
1<br />
0<br />
2
O(2(n+1) 3 /3) flop<br />
e questo e’ un costo troppo oneroso per un semplice problema <strong>di</strong> interpolazione. Inoltre per gran<strong>di</strong><br />
valori <strong>di</strong> n la matrice dei coefficienti è mal con<strong>di</strong>zionata. Vale a <strong>di</strong>re che una piccola perturbazione<br />
<strong>di</strong> qualche coefficiente, produce una grossa perturbazione sulla soluzione del sistema. In questo<br />
caso anche i meto<strong>di</strong> gaussiani con la ricerca del pivot si mostrano inefficaci.<br />
I polinomi fondamentali <strong>di</strong> Lagrange.<br />
Un modo molto elegante e produttivo per costruire<br />
l’interpolazione polinomiale passa attraverso i famosi polinomi fondamentali <strong>di</strong> Lagrange.<br />
Assegnati n+1 no<strong>di</strong> <strong>di</strong>stinti xi, i =0, …n, il k-esimo polinomio fondamentale <strong>di</strong> Lagrange, e’ il<br />
polinomio <strong>di</strong> grado n, Lk(x) che interpola le coppie (xi,yi), i = 0, …n, dove le or<strong>di</strong>nate sono<br />
y0 = 0, …yk-1 = 0, yk = 1, yk+1 = 0, ….yn = 0.<br />
Vale a <strong>di</strong>re<br />
Lk(xi) = �ik, i =0, …n, k = 0, …n<br />
dove il simbolo <strong>di</strong> Kronecher �ik e’ definito come<br />
�1<br />
i � k<br />
δik � �<br />
�0<br />
i � k<br />
Quin<strong>di</strong> ogni Lk(x) e’ un polinomio <strong>di</strong> grado n tale che<br />
Lk(xk) =1, Lk(xi) = 0, i � k.<br />
Ogni Lk deve avere gli n zeri xi, i � k, ed essendo <strong>di</strong> grado n ha la forma<br />
Lk(x)=Ak(x-x0)…(x-xk1)(x-xk+1)…(x-xn).<br />
Se si impone<br />
Lk(xk) = 1,<br />
si trae<br />
1<br />
Ak<br />
�<br />
(xk<br />
� x0<br />
)...(xk<br />
� xk�1<br />
)(xk<br />
� xk�1<br />
)...(xk<br />
� xn<br />
)<br />
In definitiva<br />
(x � x0<br />
)...(x � xk�1<br />
)(x � xk�1<br />
)...(x � xn<br />
)<br />
Lk(x)<br />
�<br />
,<br />
(xk<br />
� x0<br />
)...(xk<br />
� xk�1<br />
)(xk<br />
� xk�1<br />
)...(xk<br />
� xn<br />
)<br />
k = 0, …n.<br />
I polinomi fondamentali <strong>di</strong> Lagrange sono tanti, quanti sono i no<strong>di</strong>, e sono tutti <strong>di</strong> grado esattamente<br />
n in quanto il primo coefficiente è esattamente Ak � 0. <strong>Il</strong> denominatore e’ un numero che è il<br />
valore del numeratore in xk.<br />
Per esempio, se n =1,<br />
si ha<br />
(x � x1<br />
) (x � x0<br />
)<br />
L0(x)<br />
� , L1(x)<br />
�<br />
(x0<br />
� x1<br />
) (x1<br />
� x0<br />
)<br />
entrambi <strong>di</strong> primo grado, e se n = 2,<br />
(x � x1<br />
)(x � x2<br />
) (x � x0<br />
)(x � x2<br />
)<br />
L0(x)<br />
�<br />
, L1(x)<br />
�<br />
,<br />
(x � x )(x � x ) (x � x )(x � x )<br />
(x � x0<br />
)(x � x1<br />
)<br />
L2(x)<br />
�<br />
(x2<br />
� x0<br />
)(x2<br />
� x1<br />
)<br />
tutti e tre <strong>di</strong> secondo grado. Se n = 3,<br />
0<br />
1<br />
0<br />
2
p(x),( in questi ambiti, <strong>di</strong> solito, si fa riferimento all’errore assoluto piuttosto che a quello relativo).<br />
L’errore <strong>di</strong> troncamento viene detto resto e si scrive<br />
R(x) = f(x) – p(x)<br />
E’ evidente che il resto si annulla in tutti i no<strong>di</strong> xi, i =0, …n, e conviene allora introdurre il classico<br />
polinomio <strong>di</strong> grado esattamente n+1<br />
�(x) = (x – x0)(x – x1)…(x – xn)<br />
che ha come zeri tutti i no<strong>di</strong> xi, i =0, …n.<br />
Risulta �(x) = x n+1 + …, , cioè, �(x) e’ un polinomio <strong>di</strong> grado n+1 monico, che significa con<br />
coefficiente della potenza più elevata pari a 1.<br />
Allora, <strong>di</strong>venta naturale porre<br />
R(x) = �(x)�(x) , � x � [a b],<br />
cercando, successivamente, <strong>di</strong> rappresentare la funzione �(x). Vale il<br />
Teorema<br />
Se f possiede n+1 derivate con derivata (n+1)-esima continua in [a b], allora per ogni x in [a<br />
b], x � xi, i = 0, …n, esiste un �x ( <strong>di</strong>pendente anche dai no<strong>di</strong>) in [a b] tale che<br />
(n�1<br />
)<br />
f (ξx<br />
)<br />
λ(x) �<br />
(n �1)!<br />
Senza fare riferimento esplicito alla funzione �(x), tutti i risultati finora illustrati si riassumono nel<br />
Teorema<br />
Se f e’ definita in [ a b] e xi, i = 0,…n sono n+1 no<strong>di</strong> <strong>di</strong>stinti in [a b], esiste un solo<br />
polinomio <strong>di</strong> grado al più n ( polinomio interpolante ) tale che<br />
p(xi)) = f(xi), i =0, …n<br />
e, se f �C (n+1) [a b], per ogni x � [a b], esiste �x � [a b],<br />
tale che<br />
(n�1<br />
)<br />
f (ξx<br />
)<br />
f(x) � p(x) � ω(x)<br />
(n �1)!<br />
dove<br />
�(x) = (x-x0)…(x-xn).<br />
La formula scritta e’ spesso detta formula <strong>di</strong> interpolazione polinomiale, e l’espressione a destra<br />
dopo p(x) viene detta formula del resto nell’interpolazione polinomiale. Non abbiamo scritto<br />
l’espressione formale <strong>di</strong> p(x), perche l’unico polinomio interpolante, può essere messo anche in<br />
forme <strong>di</strong>verse da quella che usa i polinomi fondamentali <strong>di</strong> Lagrange. Una <strong>di</strong> queste forme e’<br />
quella che usa le classiche <strong>di</strong>fferenze <strong>di</strong>vise che per brevità non trattiamo. Se, al posto <strong>di</strong> p(x) si<br />
scrive la sua espressione con i polinomi fondamentali <strong>di</strong> Lagrange, la formula che si viene a<br />
formare prende il nome <strong>di</strong> formula <strong>di</strong> interpolazione <strong>di</strong> Lagrange.<br />
Da notare che se f è un polinomio <strong>di</strong> grado n, la derivata (n+1)-esima <strong>di</strong> f è identicamente nulla.<br />
Allora dalla espressione del resto si ottiene che il polinomio interpolante è la f stessa, come già si<br />
sapeva.<br />
Maggiorazione del resto.<br />
Si può usare la formula del resto per maggiorare l’errore <strong>di</strong> troncamento f(x)-p(x), quando si<br />
vuole approssimare f(x) con p(x), per gli x non coincidenti con i no<strong>di</strong>. Supponiamo <strong>di</strong> conoscere per<br />
la derivata (n+1)-esima <strong>di</strong> f, una costante positiva Mn+1, tale che risulti<br />
|f (n+1) (x) | � Mn+1, � x � [a b].<br />
Tale costante prende il nome <strong>di</strong> maggiorazione della derivata (n+1)-esima, restando sottointeso che<br />
maggiora il<br />
valore assoluto della derivata in ogni x in [a b].<br />
Allora, se p � �n, interpola la funzione f in n+1 no<strong>di</strong> <strong>di</strong>stinti xi, i =0, …n, e Mn+1 e’ una<br />
maggiorazione della derivata (n+1)-esima ( supposta esistente) in [a b], si ha
� �<br />
n�1<br />
�1<br />
M<br />
| �(x)|<br />
f(x) p(x)<br />
(n )!<br />
dove, al solito,<br />
�(x) = (x-x0)…(x-xn).<br />
Negli esempi ed esercizi che an<strong>di</strong>amo a proporre, metteremo come in<strong>di</strong>ce dei polinomi<br />
fondamentali <strong>di</strong> Lagrange, <strong>di</strong>rettamente il valore del nodo ( non x0, x1,..ecc), ricordando che questi<br />
sono tanti quanti sono i no<strong>di</strong>, e che la derivata eventuale da maggiorare ha or<strong>di</strong>ne uguale al numero<br />
dei no<strong>di</strong>. <strong>Il</strong> grado del polinomio interpolante è inferiore <strong>di</strong> una unità al numero dei no<strong>di</strong>, potendo<br />
anche degenerare in un polinomio <strong>di</strong> grado più basso.<br />
Esempi<br />
Noto che f(x) = sinx, è tale che<br />
f(0) = 0, f(�/6) = ½.<br />
Cerchiamo <strong>di</strong> approssimare la funzione f(x) in [0 �/6] con in polinomio <strong>di</strong> primo grado<br />
(interpolazione lineare).<br />
Allora<br />
π<br />
x �<br />
x<br />
L 6 6<br />
� 0 6<br />
0 � � � x �1,<br />
Lπ/<br />
6 � � x<br />
π π<br />
π<br />
0 �<br />
� 0<br />
π<br />
6<br />
6<br />
Segue che<br />
p(x) =0� L0(x) +1/2 � L�/6(x) = 3x/�<br />
Per esempio, allora,<br />
sin.5 ≈ 3/2� = .4775…, sin1/3 ≈ 1/� = .3183…, ecc.<br />
Per valutare la qualità <strong>di</strong> queste approssimazioni osserviamo che<br />
|f”(x)| � 1,<br />
da cui<br />
π π<br />
(x � 0 )(x � ) ( � x)x<br />
3<br />
sin<br />
6 6<br />
π<br />
x � x �<br />
� , �x<br />
�[<br />
0 ]<br />
π 2<br />
2<br />
6<br />
Allora<br />
|sin1/2 - .4775| < .0059, |sin1/3 - .3183| < .0317, ecc.<br />
In x =1/2, vengono sicuramente catturate due cifre decimali, mentre almeno una cifra e’ presa per x<br />
= 1/3.<br />
Queste maggiorazioni si ottengono, evidentemente, sostituendo ½ e 1/3 a destra della<br />
<strong>di</strong>suguaglianza.<br />
Osserviamo che i valori veri sono<br />
sin1/2 = .4794…, e sin1/3 = .3272..<br />
•<br />
Se, invece, vogliamo una maggiorazione globale, che valga per ogni x in [0 �/6] osserviamo che in<br />
�/12, e’ massima la funzione |x(x - �/6)| in tale intervallo, da cui la maggiorazione e’<br />
� 2 /288 = .0343<br />
Questa è una maggiorazione più grande, perché vale per ogni x in [0 π/6] avendo maggiorato | �(x)<br />
| con il suo massimo. Per valori più alti <strong>di</strong> n non è imme<strong>di</strong>ato trovare il massimo <strong>di</strong> | �(x) | e una<br />
eventuale maggiorazione non stretta rischia <strong>di</strong> maggiorare gli errori assoluti in modo eccessivo. Ma<br />
la funzione | �(x) | è calcolabile in quanti punti si voglia e, pertanto, negli esercizi proposti andremo<br />
a maggiorare gli errori assoluti in specificati valori <strong>di</strong> x.
1<br />
0.9<br />
0.8<br />
0.7<br />
0.6<br />
0.5<br />
0.4<br />
0.3<br />
0.2<br />
0.1<br />
0<br />
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />
Supponiamo, ora, che <strong>di</strong> una certa funzione f derivabile tre volte in [-1 1], si sappia che<br />
f(-1) = 1, f(0) = 1, f(1) = 3,<br />
e che si abbia l’ulteriore informazione<br />
|f’’’(x)| � .1, � x � [-1 1].<br />
Allora, con queste tre valori, possiamo costruire il polinomio <strong>di</strong> secondo grado interpolante la<br />
funzione f ( interpolazione quadratica), ed utilizzare tale polinomio per approssimarla nei punti <strong>di</strong> [-<br />
1 1].<br />
Quin<strong>di</strong><br />
2<br />
(x � 0 )(x �1)<br />
x � x<br />
L�1(x)<br />
�<br />
� ,<br />
( �1<br />
� 0 )( �1<br />
�1)<br />
2<br />
(x �(<br />
�1))(x<br />
�1)<br />
L0(x)<br />
�<br />
� 1�<br />
x<br />
( 0 �(<br />
�1))(<br />
0 �1)<br />
2<br />
(x � 0 )(x �(<br />
�1)<br />
) x � x<br />
L1(x)<br />
�<br />
�<br />
( 1�<br />
0 )( 1�<br />
( �1)<br />
) 2<br />
Pertanto<br />
p(x) = 1 � L-1(x) + 1 � L0(x) + 3 � L1(x) = x 2 + x + 1<br />
A posteriori verifichiamo che si tratti del polinomio interpolante osservando che le con<strong>di</strong>zioni <strong>di</strong><br />
interpolazione sono sod<strong>di</strong>sfatte ( grado secondo, p(0)=1, p(-1) = 1, p(1) = 3).<br />
Allora, per esempio,<br />
f(1/2) ≈ p(1/2) = 7/4, f(-1/2) ≈ p(-1/2) = ¾, ecc.<br />
Per valutare queste approssimazioni, consideriamo la maggiorazione del resto in una formula <strong>di</strong><br />
interpolazione che, in questo caso, <strong>di</strong>venta,<br />
2<br />
|x(x �1)(x<br />
�1)<br />
| x | ( 1�<br />
x )<br />
|f(x) � p(x)| �<br />
�.<br />
1 �<br />
3!<br />
60<br />
Si trova<br />
|f(1/2) - 7/4| < 1/160 = .0063<br />
|f(-1/2) – ¾ | < 1/160 = .0063<br />
L’approssimazione è corretta ad almeno due cifre decimali.<br />
Una certa funzione f sia tale che<br />
f(-1) = 2, f(0) = 1, f(1) = 2, f(3) = 10.<br />
2<br />
,