Sei sulla pagina 1di 50

Generalit`

a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Approssimazione di dati e funzioni


Stefano Berrone
Sandra Pieraccini
Politecnico di Torino, Dipartimento di Scienze Matematiche
stefano.berrone@polito.it
sandra.pieraccini@polito.it
http://calvino.polito.it/~sberrone,
http://calvino.polito.it/~pieraccini

Metodi Numerici e Calcolo Scientifico


Ultimo aggiornamento: 8 ottobre 2013

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Generalit`a
Problema 1 Dati (xi , yi ) i = 0, ..., n (es. misurazioni) voglio
approssimarli con una funzione g in modo da poter stimare
landamento dei dati anche in punti x 6= xi .
Problema 2 Data f voglio approssimarla con una g pi
u facile da
usare (ad esempio un polinomio). Es:
Z b
exp(x 2 )dx =?
a

Se exp(x 2 ) ' g e g so integrarla facilmente,


Z

b
2

exp(x )dx '


a

g (x)dx
a

NB Problema 2 si tratta come il Problema 1 con dati (xi , f (xi )),


i = 0, ..., n
Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Step: data f F = C k [a, b]


1 Individuare un sottospazio F
m di funzioni di dimensione finita
in cui scegliere la funzione fm che approssima f
1

3
4

5
2

Pm , polinomi algebrici
Pm di grado m:
fm (x) = pm (x) = k=0 ak x k
PT
m ,funzioni polinomiali a tratti di grado r (tipicamente basso):
fm|[xi ,xi+1 ] = pr (x)(i)
Sr , funzioni spline di ordine r (vedi dopo, caso particolare di 2)
m , polinomi trigonometrici:
Pm
m (x) = a0 + k=1 (ak cos(kx) + bk sin(kx))
...

Individuare un criterio per determinare fm Fm


1
2

interpolazione: fm (xi ) P
= yi , i = 0, ..., n
n
minimi quadrati: min i=0 (fm (xi ) yi )2 (ideale per
approssimazione di dati sperimentali)
Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Dimensioni...

dim(Pm ) = m + 1

dim(PT
m ) = (r + 1)(numero di intervalli)

dim(Sm ) = ...

dim(m ) = 2m + 1

...

NB Remind: Dimensione = # elementi della base di Fm = #


parametri che individua fm Fm = # di condizioni da imporre
(interpolazione: #nodi = n + 1 = m + 1 = grado polinomio + 1)

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Misura dellerrore
Norma di funzione:
kf k = max |f (x)|
x[a,b]

Facendo crescere m mi aspetto che lapprossimazione migliori.


Definizione (convergenza)
Dati {Fm }m0 , e fm Fm , se
lim kf fm k = 0

si dice che si ha convergenza (uniforme) di fm a f (i.e.


convergenza dellapprossimazione)
Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Dati: (xi , yi ), i =P
0, . . . , n (xi : nodi)
Target: pn (x) = nk=0 ak k (x)
Pn = span{0 (x), ...n (x)}
Esempio: Pn = span{1, x, x 2 , ..., x n }
Criterio di interpolazione: P
pn (xi ) = yi i = 0, ..., n nk=0 ak k (xi ) = yi
Posto:

0 (x0 ) 1 (x0 ) . . . n (x0 )


0 (x1 ) 1 (x1 ) . . . n (x1 )

G =
R(n+1)(n+1)
..

.
0 (xn ) 1 (xn ) . . . n (xn )
a = (a0 , ..., an )T Rn+1 ,
= Ga = y

y = (y0 , ..., yn )T Rn+1

G matrice di Grahm

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Esistenza e unicit`a polinomio interpolante invertibilita di G


Proposizione
Se k (x), k = 0, ..., n linearmente indipendenti e xi 6= xj per i 6= j
(nodi distinti) una matrice della forma di G e invertibile.
Poich`e k (x) formano una base, nodi distinti garantiscono
esistenza e unicita di pn (x).

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Come trovo ak ? NON risolvo il sistema lineare:


1

non conviene computazionalmente

pu`o essere molto mal condizionato (es. G = matrice di


Vandermonde con base monomiale)

Basi diverse = metodi diversi per determinare coefficienti della


combinazione lineare

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Base di Lagrange
k (x) = `k (x) t.c.:
(
1 i =k
`k (xi ) = ik =
0 i=
6 k
yi = pn (xi ) =

n
X

ak `k (xi ) = ai `i (xi ) = ai

k=0

ai = yi !!!

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Come `e fatto `k (x)?


Q

i6=k (x xi )
`k (x) = Q
i6=k (xk xi )

Esempio
(x0 , y0 ) = (2, 3), (x1 , y1 ) = (1, 7), (x2 , y2 ) = (3, 5):
`0 (x) =

(x 1)(x 3)
,
(2 1)(2 3)
`2 (x) =

`1 (x) =

(x + 2)(x 3)
(1 + 2)(1 3)

(x + 2)(x 1)
(3 + 2)(3 1)

p2 (x) = 3`0 (x) 7`1 (x) 5`2 (x)


Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Base di Newton

Sia pn (x) interpolante (xi , yi ), i = 0, ..., n


Aggiungo (xn+1 , yn+1 ) e cerco pn+1 (x) sfruttando pn (x)
pn+1 (x) = pn (x) + qn+1 (x),

qn+1 (x) =???

Che sappiamo di qn+1 (x)?


1

`e un polinomio di grado n + 1

pn+1 (xi ) = pn (xi ) + qn+1 (xi ), i = 0, ..., n

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

pn+1 (xi ) = pn (xi ) + qn+1 (xi ),

i = 0, ..., n

yi = yi + qn+1 (xi ) = qn+1 (xi ) = 0,

i = 0, ..., n

qn+1 (x) ha come radici xi , i = 0, ..., n


qn+1 (x) = an+1 (x x0 )(x x1 ) . . . (x xn ) =: an+1 n+1 (x)
e poiche pn+1 (xn+1 ) = yn+1 ,
an+1 =

yn+1 pn (xn+1 )
n+1 (xn+1 )

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

pn+1 (x) = pn (x) + an+1 (x x0 )(x x1 ) . . . (x xn )


pn+1 (x) = pn1 (x)+an (x x0 ) . . . (x xn1 )+an+1 (x x0 ) . . . (x xn )
n+1
X
pn+1 (x) =
ak (x x0 )(x x1 ) . . . (x xk )
k=0

Base di Newton:
0 (x) 1
1 (x) = x x0
2 (x) = (x x0 )(x x1 )
..
.
n1
n (x) = k=0
(x xk )

Calcolo dei coefficienti ak in modo semplificato?


Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Differenze divise
Siano xi , i = 0, ..., n nodi distinti
Definizione (Differenza divisa di ordine 0 relativa al nodo xk )
f [xk ] := f (xk )
Definizione (Differenza divisa di ordine k relativa ai nodi
xi0 , xi1 , ..., xik )
f [xi0 , xi1 , ..., xik ] :=

f [xi1 , ..., xik ] f [xi0 , xi1 , ..., xik1 ]


xik xi0

Propriet`a
ak = f [x0 , x1 , ..., xk ]
Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Tavola delle differenze divise


Esempio
Siano (x0 , y0 ) = (2, 2), (x1 , y1 ) = (1, 7), (x2 , y2 ) = (3, 5),
(x3 , y3 ) = (4, 7)
xk f [xk ]
2
2
1
7
3
5
4

f [xk , xk+1 ]
72
1+2 = 3
5+7
31 = 1
7+5
43 = 2

f [xk , xk+1 , xk+2 ] f [xk , xk+1 , xk+2 , xk+3 ]

1+3
3+2
21
41

4
5

= 1

1 45
4+2

3
= 10

4
3
p3 (x) = 2 3(x + 2) + (x + 2)(x 1) (x + 2)(x 1)(x 3)
5
10
Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Esempio
E se aggiungiamo il nodo (x4 , y4 ) = (0, 2)?
xk
2
1
3

f [xk ]
2
7
5

p4 (x)

f [xk , xk+1 ]
72
1+2 = 3
5+7
31 = 1
7+5
43 = 2
2+7
9
04 = 4

f [xk , ..., xk+2 ] f [xk , ..., xk+3 ]

1+3
4
3+2 = 5
21
41 = 1
94 +2
1
03 = 12

1 45
4+2
1
12 +1
01

3
= 10

= 13
12

f [xk , ..., xk+4 ]

3
13
12 + 10
0+2

47
= 120

47
4
4 (x) = 2 3(x + 2) + (x + 2)(x 1)
120
5
3
47
(x + 2)(x 1)(x 3)
(x + 2)(x 1)(x 3)(x 4)
10
120

= p3 (x)

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Forma annidata di RuffiniHorner


Riprendiamo il polinomio dellesempio precedente
p4 (x)

4
3
2 3(x + 2) + (x + 2)(x 1) (x + 2)(x 1)(x 3)
5
10
47

(x + 2)(x 1)(x 3)(x 4)


120


4
3
2 + (x + 2) 3 + (x 1) (x 1)(x 3)
5
10

47
(x 1)(x 3)(x 4)

120



3
47
4
p4 (x) = 2+(x+2) 3 + (x 1)
(x 3)
(x 3)(x 4)
5 10
120




4
3
47
p4 (x) = 2+(x+2) 3 + (x 1)
+ (x 3)
(x 4)
5
10 120
p4 (x)

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Propriet`a delle differenze divise

Propriet`a
Le differenze divise non dipendono dallordine dei nodi
f [xi0 , ..., xik ] = f [P(xi0 , ..., xik )]
dove P(xi0 , ..., xik ) `e una qualunque permutazione dei nodi.
Osservazione
Se i nodi sono distinti, i denominatori delle differenze divise sono
sempre diversi da zero
tavola ben definita

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Interpolazione di Hermite

/////////
11AGI, 02NJG
/////////

Dati: (xi , f (xi )), i = 0, ..., n e (xi , f 0 (xi )), i = 0, ..., n La forma di
Newton `e particolarmente efficiente
xk f [xk ] f [xk , xk+1 ] f [xk , xk+1 , xk+2 ]
x0 f (x0 )
x0 f (x0 )
f 0 (x0 )
f [x0 ,x1 ]f 0 (x0 )
x1 f (x1 ) f [x0 , x1 ]
x1 x0
..
0
x1 f (x1 )
f (x1 )
.
..
.
Generalizzabile a pi`
u derivate e non su tutti i nodi le stesse derivate
Esercizio proposto
Esempi 5.1 e 5.2 libro di testo (Monegato)
Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Convergenza dellinterpolazione polinomiale


Errore di interpolazione:
En (x) = f (x) pn (x)
Sicuramente:
1

En (xi ) = 0

En (x) 0 se f `e un polinomio di grado n

Ma in generale che accade a


lim kEn (x)k ?

Dipende dalla scelta nodi e dalle caratteristiche di f !


Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Teorema
Se f C [a, b]
||En || (1 + n ) min ||f q||
qPn

P
n = || ni=0 |`i (x)||| : costante di Lebesgue, dipende solo dai
nodi
minqPn ||f q|| : errore di migliore approssimazione, dipende
solo da f
Come si comportano 1 + n e minqPn ||f q|| ?

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Teorema (Weierstrass)
Se f C [a, b] > 0 pn (x), n = n() t.c.
|f (x) pn (x)| <

x [a, b]

Teo Weierstrass implica minqPn ||f q|| 0 per n


||En || (1 + n ) min ||f q||
qPn
|
{z
}
0

Purtroppo, n per n !
n

n e 2 con nodi equidistanti

log
 n con nodi
 di Chebichev:
2i+1
xi = cos 2(n+1)
(1, 1), i = 0, ..., n
Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Esempio (Fenomeno di Runge)


f (x) =

1
,
1+x 2

x [a, b]

x [1, 2], nodi equidistanti


Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

x [5, 5], nodi equidistanti

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

x [5, 5], nodi Chebichev

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Teorema (^)

Se f C 0 [a, b] esiste una successione di nodi di interpolazione in


[a, b] tale che la successione di polinomi interpolanti costruita su
essi converge uniformemente a f
Teorema (Faber, _)

Data una qualunque successione di nodi di interpolazione distinti in


[a, b] esiste sempre f C 0 [a, b] per cui la successione di polinomi
interpolanti costruita su essi non converge uniformemente a f
Teorema (Bernstein, ^)

Se f C 1 [a, b] la successione di polinomi interpolanti costruiti su


nodi di Chebycev converge uniformemente a f in [a, b].
Se f C 2 [a, b], si ha inoltre kEn k = O( 1n )
Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Base di Lagrange
Base di Newton
Convergenza

Teorema (^)

Se f (z) `e analitica in un dominio del piano complesso che contiene


[a, b] e le singolarit`a di f (z) distano da [a, b] pi`
u di b a, allora
limn kEn k = 0.

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Interpolazione polinomiale a tratti (non raccordata)


Interpolazione polinomiale: infittire nodi non garantisce miglior
comportamento di pn (x) Interpolazione polinomiale a tratti:
1

fissiamo a priori il grado r (piccolo) del polinomio

partizioniamo [a, b] in tanti intervallini tramite n + 1 nodi xi :


a = x0 < x1 < . . . < xn = b

ogni r + 1 nodi, costruiamo un


polinomio diverso

infittire i nodi non significa


aumentare r ma il numero di tratti
di polinomio

se f `e regolare converge
uniformemente
Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Interpolazione tramite spline


Definizione (spline)
Siano xi nodi che formano una partizione di [a, b]. Fissato d 1,
sd (x) `e una funzione spline relativa alla partizione di [a, b] se:
1

sd (x) `e un polinomio di grado (al pi`


u) d su ogni [xi , xi+1 ]

sd (x) `e una funzione continua in [a, b] per ogni


k = 0, ..., d 1

(k)

Definizione (spline interpolante)


Dati (xi , yi ), i = 0, ..., n, sd (x) `e una spline interpolante i dati se:
1

sd (x) `e una funzione spline relativa alla partizione {xi }

sd (xi ) = yi , i = 0, .., n
Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Gradi di libert`a
# parametri: (d + 1) n = dn + n
# condizioni: n + 1 + d (n 1) = n + 1 + dn d
n + 1:interpolazione + (n 1) d:raccordo nei nodi interni
u utilizzato (d = 3, spline cubiche)
Differenza: d 1 Nel caso pi`
mancano 2 condizioni
Le spline cubiche vengono dette...
1

naturali: s300 (x0 ) = 0, s300 (xn ) = 0

periodiche: s30 (x0 ) = s30 (xn ), s300 (x0 ) = s300 (xn )

vincolate: s30 (x0 ) = y00 , s30 (xn ) = yn0 , con y00 , yn0 dati

notaknot: s3000 (x) continua anche in x1 e xn1

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Convergenza delle spline cubiche


Teorema
Sia s3 (x) la spline cubica interpolante i dati (xi , yi ) per i = 0, ..., n
con condizioni di tipo 1,2,3. Sia h = maxi hi , hi = xi xi1 . Se
f C 2 [a, b] per h 0 si ha
(p)

ks3 f (p) k = o(h2p ),


Se f C k [a, b], k = 3, 4 e
(p)

ks3 f (p) k

h
hi

p = 0, 1, 2

cost. per h 0 si ha

(
o(h3p )
=
O(h4p )

k=3
k=4

p = 0, 1, 2, 3

Per regolarit`a di f maggiori la velocit`a di convergenza non migliora.


Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Propriet`a delle spline cubiche


Teorema
Tra tutte le funzioni f C 2 [a, b] che assumono valori yi nei nodi
xi e soddisfacenti condizioni di tipo 1,2,3, le spline cubiche sono le
sole funzioni che minimizzano lintegrale
Z xn
E (f ) =
[f 00 (x)]2 dx
x0

Le spline naturali godono di una propriet`a di minimo assoluto.


f 00 (x)
= curvatura di f nel punto x
(1 + f 0 (x)2 )3/2
se |f 0 (x)| `e sufficientemente piccolo E (f ) `e una
approssimazione della curvatura globale di f in [a, b].
Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Comandi MATLAB

a = polyfit(x,y,n)

yy = polyval(a,xx)

yy = spline(x,y,yy)

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Metodo dei minimi quadrati

Limiti dellinterpolazione:
interpolazione polinomiale globale non adatta per n grandi
interpolazione in generale non adatta per dati sperimentali
(molti dati + affetti da errore)

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Fissiamo a priori un modello per i nostri dati in uno spazio di


dimensione m (tipicamente m  n): se i (x), i = 1, ..., m sono m
funzioni linearmente indipendenti cerchiamo
fm (x) = c1 1 (x) + c2 2 (x) + . . . + cm m (x)
Esempi:
f2 (x) = c1 + c2 x
f3 (x) = c1 + c2 x + c3 x 2
f4 (x) = c1 + c2 x + c3 cos(x) + c4 sin(x)
f2 (x) = c1 + c2 exp(x)
...

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Come si determinano i coefficienti ck ?


fm (xi ) = yi

minm

cR

min

cRm

n
X

(fm (xi ) yi )2

i=1

n
m
X
X
i=1

NO

!2
ck k (xi ) yi

k=1

Definizione
fm (x) `e la migliore approssimazione nel senso dei minimi
quadrati
Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Notazione matriciale: posto

1 (x1 ) 2 (x1 ) . . . m (x1 )


1 (x2 ) 2 (x2 ) . . . m (x2 )

A=
Rnm
..

.
1 (xn ) 2 (xn ) . . . m (xn )
y = (y1 , . . . , yn )T Rn ,

c = (c1 , . . . , cm )T Rm
2

n X
X
m

= min kAc y k22


c

(x
)
minm
y
i
i
k
k

cR
cRm

i=1
|k=1 {z
}
Ac

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

kAc y k22 funzionale quadratico convesso: minimo assunto in


corrispondenza degli zeri del gradiente, quindi per c che soddisa
kAc y k22 = AT Ac AT y = 0
AT Ac = AT y `e detto sistema delle equazioni normali
Propriet`a
AT A simmetrica semidefinita positiva. Se colonne di A linearmente
indipendenti, AT A simmetrica definita positiva. Se k (x)
linearmente indipendenti e nodi distinti, sicuramente colonne di A
linearmente indipendenti.

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Esempio
(1, 2), (1, 3), (3, 5), (2, 7),

1 1
1 1
A=
1 3
1 2

f3 (x) = c1 + c2 x + c3 x 2


1
2

1
3

,
y =

9
5
4
7

4 5 15
AT A = 5 15 35 ,
15 35 99

7
AT y = 0
12

9
7 T
Soluzione sistema lineare AT Ac = AT y : c = ( 11
2 , 4, 4) .

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Approssimazione polinomiale:
P
P
P m1
1
x
.
.
.
i
i
i
P 2
Pi xi m
P xi
x
.
.
.
i
i i
i xi

AT A =
Rmm
..

.
P 2m2
P m1 P m
...
i xi
i xi
i xi

P
y
i
i
P yi xi
i

T
A y =
Rm
..

.
P
m1
i yi xi

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Svantaggi dellapproccio precedente:


costoso costruire AT A
tipicamente mal condizionata
Alternativa computazionale: uso della fattorizzazione QR

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Propriet`a
Matrici ortogonali (Q T Q = QQ T = I ) non cambiano norma
euclidea di vettore:
kQxk22 = (Qx)T Qx = x T Q T Qx = x T x = kxk22
Sia A = QR Rnm
R = Q T A Rnm , Q Rnn




R1
mm
z1
m
T
R=
Q y=
0
z2
(n m) m
nm
kAc y k22 = kQ T (Ac y )k22 = kQ T Ac Q T y k22 =
= kRc Q T y k22 = kRc z1 k22 + kz2 k22
min kAcy k22 min kRcz1 k22 +kz2 k22 min kRcz1 k22 Rc = z1
Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Comandi MATLAB

polyfit se k (x) polinomiali

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Un esempio nonlineare
Modello: a1 ea2 x
P
NON `e nella forma
ck k (x)! Ma con una trasformazione di
variabili...
y = a1 ea2 x
log(y ) = log(a1 ea2 x ) = log(a1 ) + a2 x
| {z }
| {z } |{z}
z

c1

c2

z = c1 + c2 x
Quindi con i dati (xi , log(yi )) posso ricostruire c1 e c2 e quindi
risalire a a1 = ec1 e a2 = c2
Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Approssimazione derivata prima


f 0 (x0 ) =?
Approssimazione con polinomio di Taylor arrestata a I ordine con
resto di Lagrange:
1
f (x) = f (x0 ) + f 0 (x0 )(x x0 ) + f 00 ()(x x0 )2
2
Sia x = x0 + h
1
f (x0 + h) = f (x0 ) + f 0 (x0 )h + f 00 (+ )h2
2
f (x0 + h) f (x0 ) 1 00
f (+ )h
h
2
(approssimazione con differenze in avanti)
f 0 (x0 ) =

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Sia x = x0 h
1
f (x0 h) = f (x0 ) f 0 (x0 )h + f 00 ( )h2
2
f (x0 ) f (x0 h) 1 00
+ f ( )h
h
2
(approssimazione con differenze allindietro)
f 0 (x0 ) =

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Approssimazione con polinomio di Taylor arrestata a II ordine con


resto di Lagrange:
1
1
f (x) = f (x0 ) + f 0 (x0 )(x x0 ) + f 00 (x0 )(x x0 )2 + f 000 ()(x x0 )3
2
6
1
f (x0 + h) = f (x0 ) + f 0 (x0 )h + f 00 (x0 )h2 +
2
1
f (x0 h) = f (x0 ) f 0 (x0 )h + f 00 (x0 )h2
2
Sottraggo:
f 0 (x0 ) =

1 000
f (+ )h3
6
1 000
f ( )h3
6

f (x0 + h) f (x0 h) 1 000


+ (f (+ ) + f 000 ( ))h2
2h
6

(approssimazione con differenze centrate)


Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Scelta h

h grande: stime poco accurate


h piccolo: cancellazione numerica

Best trade-off: h ' m

Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

Approssimazione derivata seconda


f 00 (x0 ) =?
Approssimazione con polinomio di Taylor arrestata a III ordine con
resto di Lagrange:
1
1
1
f (x) = f (x0)+f 0 (x0)(xx0 )+ f 00 (x0)(xx0 )2 + f 000 (x0)(xx0 )3 + f (4) ()(xx0 )4
2
6
24

1
1
1
f (x0 +h) = f (x0 )+f 0 (x0 )h+ f 00 (x0 )h2 + f 000 (x0 )h3 + f (4) (+ )h4
2
6
24
1
1
1
f (x0 h) = f (x0 )f 0 (x0 )h+ f 00 (x0 )h2 f 000 (x0 )h3 + f (4) ( )h4
2
6
24
Sommo:
f 00 (x0 ) =

f (x0 + h) 2f (x0 ) + f (x0 h) 1 0000


+ (f (+ )+f 0000 ( ))h2
h2
24
Stefano Berrone Sandra Pieraccini

Approssimazione di dati e funzioni

Generalit`
a
Interpolazione polinomiale
Interpolazione polinomiale a tratti
Metodo dei minimi quadrati
Derivazione numerica

(p)

Infine, ricordiamo la convergenza di s3

Stefano Berrone Sandra Pieraccini

a f (p) ...

Approssimazione di dati e funzioni