Anda di halaman 1dari 43

LEZIONI DI ANALISI MATEMATICA II

APPROSSIMAZIONE DI DATI E DI FUNZIONI


Letizia SCUDERI
Dipartimento di Scienze Matematiche, Politecnico di Torino
letizia.scuderi@polito.it

A.A. 2015/2016

Approssimazione di dati e di funzioni

Approssimare una funzione f significa sostituirla con una funzione f


che le sia vicina in qualche senso e abbia una forma pi
u semplice
(per esempio, polinomiale) su cui si possa facilmente operare.
Unapplicazione di tale operazione si ha, per esempio,
nellintegrazione numerica:
f f =

f (x) dx
a

b
a

f(x) dx

Approssimare un insieme di dati (xi , yi ) (ove, per esempio,


yi = f (xi ) e f non `e nota esplicitamente) significa determinare una
funzione f che abbia un andamento analogo a quello della funzione
che ha generato i suddetti dati.
Unapplicazione di tale operazione si ha, per esempio, nella
statistica, nella finanza, nella fisica e ogni qual volta si vuole
costruire un modello che descriva il fenomeno in questione e ci
permetta di fare previsioni attendibili in punti x diversi da xi .

Nellapprossimazione di una funzione (o di un fenomeno) f


occorre:
1

individuare una classe di funzioni approssimanti che sia idonea


a descrivere la suddetta funzione (o fenomeno);

adottare un criterio per la scelta di un suo particolare


elemento f;
valutare la bont`
a di f, ovvero la distanza di f da f .

Supponendo che la funzione da approssimare f appartenga allo


spazio lineare delle funzioni continue in [a, b] (f C [a, b]) oppure
dotate di derivata k-esima continua in [a, b] (f C k [a, b]), la
funzione approssimante generalmente viene scelta in uno dei
seguenti sottospazi lineari:

polinomi algebrici di grado n:


f(x) pn (x) =

n
X

ak x k

k=0

per lapprossimazione di funzioni continue su intervalli chiusi e


limitati;
polinomi trigonometrici di grado n e frequenza :
n
X

f (x) tn (x) = a0 +
[ak cos(kx) + bk sin(kx)]
k=1

per lapprossimazione di funzioni continue e periodiche con


periodo 2/ su intervalli chiusi e limitati;
somme esponenziali di ordine n:
n
n
X
X
f(x) en (x) =
ak e kx (f(x) en (x) =
ak e kx )
k=0

k=0

per lapprossimazione di funzioni con un comportamento di


tipo esponenziale, male approssimabile con dei polinomi;

funzioni spline di ordine n, ovvero funzioni polinomiali a tratti


dotate di derivata continua fino allordine n 1, per
lapprossimazione di quelle funzioni che generalmente per
raggiungere la tolleranza desiderata richiedono polinomi di
grado elevato o eccessivamente oscillanti.
Osserviamo che ciascun elemento dei suddetti sottospazi si esprime
come una combinazione lineare di funzioni, che definiscono una
base per il sottospazio in questione, mediante i parametri ak
oppure ak , bk .
ESEMPIO
Le funzioni che definiscono una base per il sottospazio lineare dei
polinomi algebrici di grado n sono:
0 (x) = 1, 1 (x) = x, . . . , n (x) = x n
Il suddetto sottospazio ha dunque dimensione finita n + 1.

Per individuare una particolare funzione approssimante nel


sottospazio prescelto, adotteremo uno dei seguenti criteri:
criterio dellinterpolazione (per lapprossimazione di una
funzione)
1.5

funzione
interpolante
1

0.5

0.5

1.5

criterio dei minimi quadrati (per lapprossimazione di un


insieme di dati sperimentali)
5

4.5

3.5

2.5

1.5

0.5

0.2

0.4

0.6

0.8

1.2

1.4

1.6

1.8

Nel caso dellapprossimazione di una funzione f , per giudicare la


bont`
a dellapprossimante prescelta f, consideriamo la seguente
norma:
||f f|| := max |f (x) f(x)|
axb

Quando si vuole approssimare una funzione f con una tolleranza


piccola a piacere occorre individuare una successione di sottospazi
Fn di dimensione finita n + 1 per la quale, scelta in ogni Fn la
funzione fn (x), risulti:
lim ||f fn || = 0

ove
|| ||
denota una qualsiasi norma di funzione. Quando ci`
o si verifica, si
dice che fn converge in norma a f ; nel caso della norma infinito si
dice che fn converge uniformemente a f .

Com`e noto una funzione pu`


o essere approssimata in un dato
intervallo dal suo polinomio di Taylor di grado opportuno n. Tale
procedura `e per`
o costosa perche richiede la conoscenza di f e delle
sue derivate fino a un dato ordine n. Inoltre, il polinomio di Taylor
pu`
o non approssimare accuratamente f quando ci si discosta dal
o notare come f (x) = 1/x si
punto iniziale x0 . In figura si pu`
discosti dal suo polinomio di Taylor di grado 10 e di punto iniziale
x0 = 1, man mano che ci si allontana da x0 .
2

1/x
Tf

1.8

(x)

10,1

1.6

1.4

1.2

0.8

0.6

0.4

0.2

1.2

1.4

1.6

1.8

2.2

2.4

2.6

2.8

Per altre funzioni ci`


o ovviamente non si verifica: per esempio la
funzione esponenziale pu`
o essere approssimata in ogni punto reale
mediante il suo polinomio di Taylor di punto iniziale x0 = 0, purche
il grado n sia sufficientemente grande.
4

2.5

x 10

ex
Tf (x)
4,0
Tf8,0(x)
Tf (x)
12,0
Tf (x)

16,0

1.5

0.5

10

Interpolazione polinomiale
Consideriamo n + 1 dati (xi , yi ), i = 1, . . . , n + 1 (con yi = f (xi )
eventualmente). Il criterio dellinterpolazione consiste nello
scegliere come approssimante, la funzione (possibilmente unica)
f = fn soddisfacente le seguenti condizioni:
fn (xi ) = yi

i = 1, . . . , n + 1

Generalmente il numero dei parametri presenti in fn coincide con il


numero dei punti xi , ovvero n + 1. Assegnati gli n + 1 punti
(xi , yi ), i = 1, . . . , n + 1, utilizziamo il criterio dellinterpolazione
per determinare il polinomio di grado minimo che passa per i punti
assegnati. Poiche i punti sono n + 1, consideriamo il generico
polinomio di grado n
pn (x) = c1 x n + c2 x n1 + . . . + cn x + cn+1 ,
definito dagli n + 1 coefficienti c1 , . . . , cn+1 .

Dimostriamo che se xi 6= xj per i 6= j allora esiste uno e un sol


polinomio soddisfacente le condizioni (di interpolazione):
pn (xi ) = yi ,

i = 1, . . . , n + 1.

Imponendo le condizioni di interpolazione


c1 xin + c2 xin1 + . . . + cn xi + cn+1 = yi ,
otteniamo
n
x1
xn
2
..
.

il sistema lineare

. . . x1
1

. . . x2
1

..
..
..
.
.
.

n
xn+1
. . . xn+1 1

c1
c2
..
.
cn+1

i = 1, . . . , n + 1

y1
y2
..
.
yn+1

Vc = y

la cui matrice dei coefficienti `e la matrice di Vandermonde.

Poiche
det(V ) =

Y
(xi xj )
i >j

e gli xi sono distinti, la matrice V `e non singolare. Ne deduciamo


che

! c = (c1 , . . . , cn+1
)T : Vc = y .
Il polinomio pn i cui coefficienti sono soluzione del sistema Vc = y
`e denominato polinomio interpolante i dati (xi , yi ) oppure, se
yi = f (xi ), interpolante la funzione f nei punti xi . I punti xi
sono detti nodi di interpolazione.

Comandi MATLAB
c = polyfit(x,y,n) calcola e memorizza in c, i coefficienti del
polinomio interpolante i punti (xi , yi ), i = 1, . . . , n + 1,
definiti in x e in y , rispettivamente;
p = polyval(c,z) calcola e memorizza in p, i valori che il
polinomio, con coefficienti definiti in c, assume nei punti di z.

ESEMPIO
Calcoliamo e rappresentiamo graficamente il polinomio
interpolante i dati (0, 1), (1, 1), (2, 1), (1/2, 2):
3

x = [0 1 2 1/2];
y = [1 -1 1 2];
c = polyfit(x,y,length(x)-1);
z = linspace(min(x),max(x));
p = polyval(c,z);
plot(x,y,ro,z,p,b)

0.2

0.4

0.6

0.8

1.2

1.4

1.6

1.8

ESEMPIO
Calcoliamo i coefficienti del polinomio interpolante la funzione
f (x) = 1/(1 + x 2 ) in 13 punti equispaziati nellintervallo [0, 1].
x = linspace(0,1,13);
f = inline(1./(1+x.^2));
y = f(x);
c = polyfit(x,y,length(x)-1);
Warning: Polynomial is badly conditioned.....
A causa del noto cattivo condizionamento di un sistema lineare con
matrice dei coefficienti di Vandermonde e del costo della sua
risoluzione in termini di operazioni aritmetiche, per leffettiva
costruzione di un polinomio interpolante si utilizzano
rappresentazioni alternative.

Rappresentazione di Lagrange del polinomio di


interpolazione
Per ogni j = 1, . . . , n + 1 consideriamo i punti (xi , ij ),
i = 1, . . . , n + 1, ovvero
(x1 , 0), . . . , (xj1 , 0), (xj , 1), (xj+1 , 0), . . . , (xn+1 , 0)
e denotiamo con lj (x) il polinomio interpolante i suddetti punti,
cio`e tale che

1 se i = j
lj (xi ) = ij =
0 se i 6= j
` immediato dimostrare che per ogni j = 1, . . . , n + 1
E
lj (x) =

(x x1 ) (x xj1 )(x xj+1 ) (x xn+1 )


(xj x1 ) (xj xj1 )(xj xj+1 ) (xj xn+1 )

I polinomi di grado n
lj (x) =

1i n+1,i 6=j

(x xi )
(xj xi )

sono detti polinomi fondamentali di Lagrange associati ai nodi


xi . Noti i polinomi lj (x), il polinomio pn interpolante i punti
(xi , yi ), i = 1, . . . , n + 1, si definisce nel seguente modo
pn (x) =

n+1
X

yj lj (x)

j=1

Infatti risulta che pn `e un polinomio di grado n e soddisfa le


condizioni di interpolazione:
pn (xi ) =

n+1
X
j=1

yj lj (xi ) =

n+1
X

yj ij = yi .

j=1

La rappresentazione di pn , come combinazione lineare dei


polinomi lj , `e detta di Lagrange.

ESEMPIO
Scriviamo la rappresentazione di Lagrange del polinomio p3 (x)
interpolante i punti (0, 1), (1, 1), (2, 1), (1/2, 2). Definiamo
dapprima i polinomi lj (x), j = 1, 2, 3, 4:
l1 (x) =
l2 (x) =
l3 (x) =
l4 (x) =

(x1)(x2)(x1/2)
(01)(02)(01/2)
(x0)(x2)(x1/2)
(10)(12)(11/2)
(x0)(x1)(x1/2)
(20)(21)(21/2)
(x0)(x1)(x2)
(1/20)(1/21)(1/22)

1.5

0.5

0.5

l1
l
2
l
3
l4

1.5

0.2

0.4

0.6

0.8

Quindi definiamo p3 (x):


p3 (x) = 1 l1 (x) 1 l2 (x) + 1 l3 (x) + 2 l4 (x)

1.2

1.4

1.6

1.8

Osserviamo che i polinomi lj (x) dipendono dallinsieme completo


dei nodi {x1 , . . . , xn+1 } e, pertanto se vogliamo aggiungere un
punto di interpolazione (xn+2 , yn+2 ) allinsieme dei punti
{(xi , yi )}i =1,...,n+1 dobbiamo ricalcolare tutti i polinomi lj (x).
Per questo motivo la rappresentazione di Lagrange, pur essendo
molto utilizzata per dimostrare le propriet`
a teoriche
dellinterpolazione polinomiale, non viene considerata nella pratica
per costruire il polinomio interpolante.

Rappresentazione di Newton del polinomio di


interpolazione
Descriviamo allora la rappresentazione del polinomio di
interpolazione che di fatto si utilizza per il calcolo del suddetto
polinomio.
A tal scopo, dati n + 1 punti xi con i = 1, ..., n + 1 distinti,
definiamo le seguenti la quantit`
a
f (x2 ) f (x1 )
x2 x1
differenza divisa di ordine 1 di f (x),
f [x1 , x2 ] =

f [x2 , x3 ] f [x1 , x2 ]
x3 x1
differenza divisa di ordine 2, e pi`
u in generale
f [x1 , x2 , x3 ] =

f [x1 , x2 , . . . , xn+1 ] =

f [x2 , . . . , xn+1 ] f [x1 , . . . , xn ]


xn+1 x1

differenza divisa di ordine n.

Le differenze divise sono invarianti rispetto a permutazioni degli


argomenti, cio`e
f [x1 , x2 ] = f [x2 , x1 ], f [x1 , x2 , x3 ] = f [x2 , x1 , x3 ] = f [x3 , x2 , x1 ], . . .
Si definisce rappresentazione di Newton del polinomio
interpolante i punti (xi , yi ) con yi = f (xi ), la seguente espressione
pn (x) = f (x1 ) + f [x1 , x2 ](x x1 ) + f [x1 , x2 , x3 ](x x1 )(x x2 )
+ . . . + f [x1 , x2 , . . . , xn+1 ](x x1 ) . . . (x xn )
I polinomi 1, x x1 , ...,(x x1 ) . . . (x xn ) sono detti polinomi
fondamentali di Newton.
` facile verificare che il polinomio
E
p0 (x) = f (x1 )
interpola f (x) in x1 ,

il polinomio
p1 (x) = f (x1 ) +f [x1 , x2 ](x x1 )
| {z }
p0 (x)

interpola f (x) in x1 , x2 e, cos` procedendo, denotato con pn1 (x) il


polinomio interpolante f (x) in x1 , . . . , xn , il polinomio
pn (x) = pn1 (x) + f [x1 , x2 , . . . , xn+1 ](x x1 ) . . . (x xn )
interpola f (x) in x1 , . . . , xn+1 .
Pertanto, se vogliamo aggiungere allinsieme dei nodi x1 , . . . , xn+1
un ulteriore nodo xn+2 , poiche lespressione del polinomio
interpolante f (x) in xi , i = 1, . . . , n + 2, `e data da
pn+1 (x) = pn (x) + f [x1 , x2 , . . . , xn+2 ](x x1 ) . . . (x xn+1 ),
noto pn , dobbiamo calcolare soltanto lultimo addendo.

Descriviamo ora lalgoritmo che consente di calcolare le differenze


divise presenti nella rappresentazione di Newton del polinomio
interpolante. A tal scopo consideriamo il polinomio di grado 3
interpolante i punti (x1 , f (x1 )), (x2 , f (x2 )), (x3 , f (x3 )), (x4 , f (x4 )):
p3 (x) = f (x1 ) + f [x1 , x2 ](x x1 ) + f [x1 , x2 , x3 ](x x1 )(x x2 )
+f [x1 , x2 , x3 , x4 ](x x1 )(x x2 )(x x3 )
e calcoliamo le differenze divise in esso presenti, procedendo
secondo il seguente schema:
i =1

i =2

i =3

x1 f (x1 )
x2 f (x2 )
x3 f (x3 )
x4 f (x4 )

&
f [x1 , x2 ]
&
f [x2 , x3 ]
&
f [x3 , x4 ]

&
f [x1 , x2 , x3 ]
&
f [x2 , x3 , x4 ]

&
f [x1 , x2 , x3 , x4 ]

ESEMPIO
Scriviamo la rappresentazione di Newton del polinomio p3 (x)
interpolante i punti (0, 1), (1, 1), (2, 1), (1/2, 2). Calcoliamo le
differenze divise:
i =2

i =1
0
1
2
1/2

i =3

1
1
1
2

&

&

&

11
10

= 2

1(1)
21
21
1/22

=2

23

&

&

2(2)
20

=2

2/32
1/21

16
3

&

16/32
1/20

Si ha allora
p3 (x) = 1 2(x 0) + 2(x 0)(x 1) +

20
(x 0)(x 1)(x 2)
3

20
3

Convergenza del polinomio di interpolazione


Denotato con pn il polinomio interpolante la funzione f nei punti
x1 , . . . , xn+1 , si definisce errore di interpolazione la funzione
En (x) = f (x) pn (x)
Osserviamo che En (x) = 0 per x = xi (avendosi
En (xi ) = f (xi ) pn (xi ) 0) e En (x) 0 per ogni x [a, b] e per
f = p con p polinomio di grado n (avendosi, per lunicit`
a del
polinomio interpolante, pn p).
Ci`
o premesso, affrontiamo la questione della convergenza:
lim En (x) = 0 per ogni x e qualunque sia f ?

La risposta a questa domanda non `e sempre affermativa; infatti si


dimostra che, fissata una matrice di interpolazione ovvero una
matrice di nodi
x1
x1 x2
x1 x2 x3
x1 x2 x3 x4
...
con xi [a, b] e xi 6= xj , i 6= j, `e sempre possibile determinare una
funzione f C [a, b] per la quale si abbia
lim ||En || 6= 0

La convergenza a zero di ||En || dipende dalla matrice dei nodi di


interpolazione e dalla regolarit`
a della funzione f . Se i nodi di
interpolazione vengono opportunamente scelti e f `e
sufficientemente regolare, allora pn converge uniformemente a f ,
per n .

Se i nodi di interpolazione sono scelti equispaziati in [a, b], la


condizione f C [a, b] non garantisce che limn ||En || = 0.
ESEMPIO
1
Se i nodi xi sono scelti equispaziati in [5, 5] e f (x) = 1+x
2
(funzione di Runge), si ha limn ||En || = .
1

0.5

0.5

punti di interpolazione
funzione di Runge
polinomio interpolante p9
polinomio interpolante p13

1.5
5

Se i nodi di interpolazione sono scelti equispaziati in [a, b] e f (z) `e


analitica in una regione D contenente [a, b] e la distanza dei poli di
f (z) da [a, b] `e maggiore di b a, allora limn ||En || = 0.
ESEMPIO
1
Se i nodi xi sono scelti equispaziati in [1, 2] e f (x) = 1+x
2
(funzione di Runge), si ha limn ||En || = 0.
0.55

punti di interpolazione
funzione di Runge
polinomio interpolante p9
polinomio interpolante p13

0.5

0.45

0.4

0.35

0.3

0.25

0.2

0.15

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.8

1.9

Se i nodi di interpolazione sono scelti coincidenti con gli zeri dei


polinomi di Chebyshev,
zi = cos((2i 1)/(2(n + 1))) (1, 1), i = 1, . . . , n + 1, la
condizione f C 1 [1, 1] garantisce che limn ||En (x)|| = 0.
ESEMPIO
Se i nodi xi sono scelti coincidenti con gli zeri dei polinomi di
b+a
Chebyshev traslati in [5, 5], cio`e xi = ba
2 zi + 2 , a = 5 e
1
b = 5 e f (x) = 1+x 2 (funzione di Runge), allora
limn ||En (x)|| = 0.
1

punti
Runge
p9
p13

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
5

Funzioni polinomiali a tratti: spline


Una funzione polinomiale a tratti di grado d, associata a una
partizione dellintervallo [a, b], `e una funzione rappresentata in
[a, b] da ununione di tratti contigui di polinomi algebrici diversi,
ciascuno di grado d.
0.9

0.8

0.7

d=2
0.6

0.5

0.4

d=1

0.3

0.2

0.1

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

In generale il grado d viene scelto piccolo (d = 1, 2, 3).


Osserviamo che le funzioni polinomiali a tratti sono continue, ma
generalmente non sono derivabili nei punti di raccordo. Le funzioni
spline sono funzioni polinomiali a tratti che godono di opportune
condizioni di regolarit`
a nei punti di raccordo. Le funzioni
polinomiali a tratti vengono utilizzate in tutte quelle situazioni (per
esempio, nelle applicazioni grafiche) in cui il comportamento
eccessivamente oscillatorio del polinomio di interpolazione al
crescere del grado n non `e accettabile.
1

punti
Runge
p12

0.9

0.8

spline

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
5

Inoltre, le funzioni polinomiali a tratti, associate a una partizione


dellintervallo [a, b] e interpolanti una funzione f nei punti della
partizione, convergono uniformemente alla funzione interpolata al
crescere del numero dei nodi della partizione, ovvero al diminuire
dellampiezza dei sottointervalli della partizione.
Le spline cubiche sono funzioni polinomiali a tratti di grado locale
3 molto utilizzate nelle applicazioni.

Dati n + 1 punti (xi , yi ), i = 1, . . . , n + 1 con xi 6= xj per i 6= j e


yi = f (xi ), si definisce spline cubica interpolante i punti assegnati,
la funzione S3 (x) soddisfacente le seguenti condizioni:
i) S3 (x) = ai + bi x + ci x 2 + di x 3 , x [xi , xi +1 ], i = 1, . . . , n
(k)

(k)

ii) S3 (xi ) = S3 (xi+ ), k = 0, 1, 2, i = 2, . . . , n


iii) S3 (xi ) = yi , i = 1, . . . , n + 1
Osserviamo che S3 dipende da 4n parametri {ai , bi , ci , di },
i = 1, . . . , n; imponendo le n 1 condizioni ii) per k = 0, 1, 2, e le
n + 1 condizioni di interpolazione iii), si ottiene un sistema lineare
di 3(n 1) + (n + 1) = 4n 2 equazioni nelle 4n incognite
{ai , bi , ci , di }. Pertanto, per definire univocamente una spline
occorre imporre due ulteriori condizioni.

Fra tutte le possibili scelte, tipiche condizioni aggiuntive sono:


(2)

(2)

1) S3 (x1 ) = 0, S3 (xn+1 ) = 0 (spline cubiche naturali);


(3)

(3)

(3)

(3)

2) S3 (x2 ) = S3 (x2+ ), S3 (xn ) = S3 (xn+ ) (condizioni


not-a-knot);
(1)

(1)

3) S3 (x1 ) = f 0 (x1 ), S3 (xn+1 ) = f 0 (xn+1 ).


Imponendo una delle suddette condizioni, la spline corrispondente
esiste e `e unica. Per leffettiva costruzione di una spline non si
ricorre alla risoluzione del predetto sistema lineare nelle 4n
incognite {ai , bi , ci , di }, ma alla risoluzione di un sistema lineare
(2)
nelle n + 1 incognite Mi = S3 (xi ), i = 1, . . . , n + 1, simmetrico, a
diagonale dominante e tridiagonale se si impone una delle
condizioni aggiuntive 1)-3).

Si dimostra che se con S3 denotiamo la spline cubica, interpolante


i punti (xi , f (xi )) (a xi b) e soddisfacente una delle condizioni
aggiuntive 1)-3), con h = max1i n (xi +1 xi ) e supponiamo che
f C 4 [a, b], allora
(p)

||f (p) S3 || = O(h4p ),

h 0, p = 0, 1, 2, 3.

Pertanto, risulta che le spline cubiche S3 convergono


uniformemente alla funzione f e le derivate di S3 fino a quelle di
ordine 3 convergono uniformemente alle corrispondenti derivate di
f (simultanea approssimazione). Questultimo risultato ci consente
di approssimare la derivata di una funzione f utilizzando soltanto
valori di f e non quelli di f 0 .
Si dimostra per`
o che O(h4 ) `e il massimo ordine di convergenza che
possiamo avere con le spline considerate, cio`e ||f S3 || = O(h4 )
anche quando f C k [a, b] con k > 4 (saturazione).

Comandi MATLAB
s = spline(x,y,z) calcola e memorizza in s i valori che la
spline cubica interpolante i dati (xi , yi ), i = 1, . . . , n, definiti
in x e in y rispettivamente, e soddisfacente la condizione
not-a-knot 2), assume in z;
s = spline(x,[yd1 y ydn],z) calcola e memorizza in s i
valori che la spline cubica interpolante i dati (xi , yi ),
i = 1, . . . , n, definiti in x e in y rispettivamente, e
soddisfacente la condizione 3) (yd1= f 0 (x1 ), ydn= f 0 (xn )),
assume in z.

Criterio dei minimi quadrati (cenni)


Abbiamo gi`
a notato che linterpolazione polinomiale non garantisce
al crescere del grado del polinomio una maggiore accuratezza
nellapprossimazione di una funzione. Questo problema pu`
o essere
superato con linterpolazione mediante funzioni polinomiali a tratti.
Essa tuttavia mal si presta a essere utilizzata per estrapolare
informazioni da dati noti, ovvero per generare valutazioni in punti
che giacciono al di fuori dellintervallo di interpolazione. In
questultimo caso conviene utilizzare il criterio dei minimi quadrati.
Tale criterio viene adottato anche quando si vuole approssimare un
insieme di dati (xi , yi ), i = 1, . . . , m con una funzione
approssimante f che dipende da un numero n << m di parametri.
Consideriamo, come funzione approssimante f, una combinazione
lineare (a coefficienti costanti) delle funzioni base k (x),
k = 1, . . . , n:
f(x) = c1 1 (x) + c2 2 (x) + . . . + cn n (x)

Con il criterio dei minimi quadrati i coefficienti ck si determinano


imponendo che il residuo
"
#2
m
m
n
X
X
X
2
2
[yi f(xi )] =
yi
ck k (xi )
(c1 , . . . , cn ) =
i =1

i =1

k=1

risulti minimo.

0.9

(x ,y )
i

0.8

0.7

(xi,p3(xi))

0.6

0.5

0.4

0.3

0.2

0.1

0.1

0.1

Pn

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

La funzione f (x) = k=1 ck k (x) che soddisfa la suddetta


condizione viene definita migliore approssimazione dei dati
(xi , yi ), i = 1, . . . , m, secondo il criterio dei minimi quadrati.

Osserviamo esplicitamente che per n m 1, la migliore


approssimazione f dei dati (xi , yi ), i = 1, . . . , m, secondo il
criterio dei minimi quadrati, `e la funzione interpolante i punti
(xi , yi ). Infatti, per essa si ha 2 0.
In generale, n << m e i coefficienti ck si determinano imponendo
la condizione necessaria per lesistenza del minimo.
Comando MATLAB
c = polyfit(x,y,n) calcola e memorizza in c i coefficienti del
polinomio di grado n che meglio approssima secondo il criterio dei
minimi quadrati i dati (xi , yi ), i = 1, . . . , m, definiti in x e in y ,
rispettivamente (se n m 1, polyfit calcola i coefficienti del
polinomio interpolante i dati assegnati).

ESEMPIO
Supponiamo di avere a disposizione un programma per il calcolo
dei coefficienti del polinomio di grado n che interpola o meglio
approssima un insieme di m dati secondo il criterio dei minimi
quadrati (per esempio, polyfit), e di voler calcolare i coefficienti
della somma esponenziale
f(x) = c1 e nx + c2 e (n1)x + ... + cn+1 =

n+1
X

ck e (n+1k)x

k=1

di ordine n, che interpola o meglio approssima secondo il criterio


dei minimi quadrati i dati (xi , yi ), con i = 1, . . . , m.

Per risolvere il problema assegnato, possiamo effettuare il


cambiamento di variabile x = log(t), ovvero t = e x :
f(x) = f(log (t)) =

n+1
X

ck t n+1k =: pn (t)

k=1

che lascia inalterati i coefficienti {ck } di f e determinare, tramite il


suddetto algoritmo, i coefficienti del polinomio pn (t) di grado n
che interpola o meglio approssima secondo il criterio dei minimi
quadrati i dati (ti , yi ) = (e xi , yi ), i = 1, . . . , m.
Comando MATLAB
c = polyfit(exp(x),y,n) calcola e memorizza in c i coefficienti della
somma esponenziale di ordine n che intepola o meglio approssima
secondo il criterio dei minimi quadrati i dati (xi , yi ), i = 1, . . . , m,
definiti in x e in y , rispettivamente.

Anda mungkin juga menyukai