Upload
baldassare-marchetti
View
216
Download
2
Embed Size (px)
Citation preview
Seminario di Metodi Matematici per l’ottimizzazioneA.A.2011/2012
Interpolazione Trigonometrica
Daniele Santamaria – Marco Ventura
Sommario Introduzione. Interpolazione. Interpolazione nel piano complesso. Radici n-esime. Interpolazione trigonometrica. Esempi. Implementazione in Matlab.
IntroduzioneApprossimare le funzioni è utile quando:
Manca l’espressione che descrive un fenomeno e abbiamo solo alcuni valori.
L’espressione è nota, ma difficile da gestire.
Introduzione
Nel primo sostituiamo la funzione f con una più
semplice g, che sia quanto più possibile “vicina” a quella
approssimata, rispettando una certa tolleranza:
Nel secondo caso cerchiamo una funzione approssimante che passi per i punti noti (interpolazione).
tolleranzagf ||||
Interpolazione
Nel caso dell’interpolazione vogliamo che la funzione interpolante passi esattamente per alcuni punti.Date n coppie di numeri reali unafunzione g è detta interpolante se:
Se come funzione interpolante usiamo i polinomi, l’interpolazione si dirà:
Interpolazione Polinomiale.
niyx ii ,....,0,,
niyxg ii ,.......,0)(
Interpolazione
Nel corso di Formazione Numerica abbiamostudiato vari metodi di interpolazione: Metodo dei coefficienti Indeterminati. Lagrange. Metodo delle differenze divise di Newton. Hermite.
Interpolazione
Cosa accade però se la funzione da interpolare è periodica?Ricordiamo che f è periodica di periodo T se:
Se f è periodica di periodo T, lo è anche di periodo kT, con k intero.
xTxfxfconf ,)()(:
Interpolazione
Per approssimare funzioni periodiche non possiamo usare i classici polinomi, in quanto non periodici.
Allora dobbiamo considerare i polinomi composti da funzioni che siano: Periodiche. Facili da calcolare.
Ovviamente ci riferiamo alle funzioni seno e coseno.
Interpolazione
Le funzioni seno e coseno godono delle seguenti proprietà: Sono periodiche. Facili da calcolare. Sono ortogonali tra loro in un intervallo di , allora
sono anche linearmente indipendenti e quindi formano una base.
Le loro derivate e primitive sono funzioni della stessa classe.
]2,0[
InterpolazioneVogliamo calcolare un nuovo polinomio, ovvero un Polinomio Trigonometrico, la cui base è data dalle funzioni:
In particolare una funzione del tipo:
È detta Polinomio Trigonometrico di grado m.
m
jjj jxjxxF
0
)sincos()(
,.......)2sin,2cos,sin,cos,1( xxxx
InterpolazioneQuindi, data funzione periodica, il problema dell’interpolazione trigonometrica è quello di trovare
Dove, dati n punti:
[2,0[:)( xf
1,........,0,)( nkyxF kk
)(
1,....,0,2
kk
k
xfy
nkn
kx
Interpolazione nel piano complessoPer trovare F(x) nel piano reale possiamo partiredal caso generale nel piano complesso. Infatti, dato che una funzione a valori reali può essere considerata come una particolare funzione a valori complessi il problema in R puòessere considerato un caso particolare del problema in C.
Pertanto, il problema dell’interpolazione trigonometrica è riconducibile al problema di interpolazione polinomiale sul cerchio unitario nel piano complesso.
Interpolazione nel piano complessoNel piano complesso gli n nodi corrispondono alleradici n-esime dell’unita, cioè dei punti del cerchio unitario.
Geometricamente sono i verticidi un poligono regolare di n latii cui vertici sono disposti lungo la circonferenza unitaria,radialmente equispaziati e con un vertice in (1,0).
Radice n-esima
Nel piano complesso gli n nodi sono le radici n-esime dell’unità, cioè i punti del cerchio unitario:
1,....,0,2
nke n
kikn
Interpolazione nel piano complessoL’interpolazione polinomiale nel piano complesso consistenel trovare i numeri complessi coefficienti del polinomio di grado al più n-1:
Tale che:
1,....,0, njz j
1
0
)(n
j
jjzp
1,....,0,)( nkyp kkn
1
2
Interpolazione nel piano complessoPartendo dalle precedenti formule (1 e 2) si ha che i coefficienti z si ricavano risolvendo il sistema:
Con:yVz
Tn
Tn
zzzz
yyyy
].,,.........,[
],,.........,[
110
110
3
Interpolazione nel piano complessoV è la matrice di Vandermonde con elementi
1,......,0,,1, njkv jnjk
1210
12
22
12
02
11
21
11
01
....
:..:
:..:
....
....
nnnnn
n
n
V
Interpolazione nel piano complessoSe n=3
2
1
0
2
1
0
233
222
211
2
1
0
2
1
0
23
13
03
22
12
02
21
11
01
1
1
1
y
y
y
z
z
z
y
y
y
z
z
z
Interpolazione nel piano complesso
Dobbiamo risolvere il sistema 3.
Definita la trasposta i cui elementi sono i coniugati degli elementi di V si ha che:
Quindi:
yVz 1HV
HH Vn
VnIVV11
yVn
z H1
Interpolazione nel piano complesso
Il vettore z è la Trasformata Discreta di Fourier:
Il vettore y è la Trasformata Discreta Inversa di Fourier:
1,,.........0,1
)(1
0
njyn
zyDFTzn
k
jknkj
1,........,0,)(1
0
nkzyzIDFTyn
j
jknjk
4
Interpolazione nel piano complessoOsserviamo che ponendo i valori
Corrispondono alle radici n-esime dell’unità
E, per la 3, ai valori
ixe
1,.....,0,2
nkn
kxk
kixn
kikn ee
2
1,.......,0, nkyk
Interpolazione nel piano complesso
Adesso abbiamo quello che serve per calcolare il polinomio 1:
Distingueremo due casi, uno per n pari e l’altro pern dispari.
1
0
)(n
j
jjzp
Interpolazione nel piano complessoSe n è dispari, ponendo n=2m-1, avremo:
221
10
221
0
22
0
1
0
)(
m
mj
jkj
m
j
jkj
m
mj
jkj
m
j
jkj
m
j
jkj
n
j
jkj
zzz
zz
zzP
Interpolazione nel piano complesso
Alla fine, per n dispari si ottiene:
Analogamente per n pari poniamo n=2m, allora
1
0
*0)(
m
j
jknj
jknj zzzP
mknm
m
j
jknj
jknj
m
j
jknj
n
j
jknj
zzzz
zzP
1
1
*0
12
0
1
0
)(
)(
Interpolazione nel piano complesso
Iniziamo calcolando
Visto che (formula di Eulero):
kkijxjk
n jxijxe k sincos
1
0
*0)(
m
j
jknj
jknj zzzP
Interpolazione nel piano complesso
1
1
*0 ))sin()(cos()sin(cos...
m
jkkjkkj jxijxzjxijxzz
Si ottiene
Ma e , allora:)cos()cos()sin()sin(
1
1
**0 )sin)(cos)((...
m
jkjjkjj jxzzijxzzz
Interpolazione nel piano complessoPongo
Ottenendo
1,...,0),(,,2
1 **00 njzzizzz jjjjjj
1
1
0 )sincos(2
m
jkjkjk jxjxy
Interpolazione nel piano complesso
Calcoliamo il coefficiente, , e per la 4: *jjj zz
1
0
1
0
1
0
1
0
)(1
)(1
11
n
k
ijxijxk
n
k
jkn
jknk
n
k
jknk
n
k
jknkj
kk eeyn
yn
yn
yn
Interpolazione nel piano complesso
Richiamando Eulero:
Otteniamo:2
cosixix ee
x
1,......,0,cos2
cos21
)(1
1
0
1
0
1
0
njjxyn
jxyn
eeynn
kkk
n
kkk
n
k
ijxijxkj
kk
Interpolazione nel piano complessoCalcoliamo il coefficiente, , per la 4: )( *
jjj zzi
1,.....,0,)(1
0
1
0
1
0
njeeyn
i
yn
iy
n
i
n
k
ijxijxk
n
k
jknk
n
k
jknkj
kk
Interpolazione nel piano complesso
Richiamando Eulero:Otteniamo: i
eex
ixix
2sin
1,......,0
,sin2
sin)2(
sin2)(
1
0
1
0
1
0
1
0
nj
jxyn
jxyn
ii
jxiyn
ieey
n
i
n
kkk
n
kkk
n
kkk
n
k
ijxijxkj
kk
Interpolazione nel piano complessoTorniamo al polinomio:
con
mknm
m
j
jknj
jknj zzzzP
1
1
*0 )()(
kmkn mxcos
1
0
1 n
k
mknkm y
nz
1
0
1
0
2
2
1
0
21
0
1
0
11
111
n
k
kik
n
k
m
kim
k
n
k
n
kim
k
n
k
imxk
n
k
mknkm
eyn
eyn
eyn
eyn
yn
z k
Interpolazione nel piano complessoConsiderando che:
Abbiamo:
xixe ix sincos
1
0
1
0
)1(1
)sin(cos1
...
n
kk
k
n
kk
yn
kikyn
Interpolazione nel piano complessoPonendo:
1
0
)1(2
2n
kk
kmm y
nz
Interpolazione TrigonometricaSi ha che il polinomio trigonometrico di interpolazione dellafunzione negli n punti vale:
Ponendo n=2m-1 se n è dispari e n=2m se è pari.
1
1
0
1
1
0
2,cos2
)sincos(2
12,)sincos(2
)(m
j
mjj
m
jjj
n
mnsemxjxjx
mnsejxjx
xF
Interpolazione TrigonometricaI coefficienti sono dati da:
1
0
1
0
1
0
)()1(2
sin)(2
cos)(2
n
kk
km
k
n
kkj
k
n
kkj
xfn
jxxfn
jxxfn
EsempiCalcoliamo il polinomio trigonometrico per una semplice funzione periodica.
Consideriamoed f sia periodica.
Supponiamo di voler interpolare su 4 punti.
xxff )(:[2,0[:
Esempi
Avremo:Dividiamo il dominio in punti equidistanti:
24 mn
1,....0,2
nkn
kxk
kx
)( kxf
k
2
0
0
02
2
3
2
3
1 2 3
Esempin è pari, allora calcoleremo
ovvero
1
1
0 cos2
)sincos(2
)(m
j
mjjn mxjxjxxF
mxxx
mxjxjxxF
m
j
mjj
cos2
)sincos(2
cos2
)sincos(2
)(
110
1
1
04
Esempi
Calcoliamo i coefficienti: , , , .0 1 m1
2
3)
2
3
20(
2
1)0cos()(
2
1
)0cos()(4
2)cos()(
2
3
0
14
0
1
00
kk
kk
kk
n
kk
xf
xxfjxxfn
EsempiContinuando, si ha:
2)
2
3cos
2
3cos
2cos2
0(2
1
)cos()(2
1 3
01
kk
k xxf
2)
2
3sin
2
3sin
2sin2
0(2
1
)sin()(2
1 3
01
kk
k xxf
EsempiL’ultimo coefficiente vale:
2))1(
2
3)1(
20(
2
1
)()1(2
1 3
0
k
kk
m xf
EsempiPertanto il polinomio cercato nei 4 punti vale:
)2cos2
sincos2
3(2
2cos4
)sin2
cos2
(4
3
cos2
)sincos(2
)(1
1
04
xxx
xxx
mxjxjxxFj
mjj
Esempi
Risultato grafico su tre periodi di f
Esempi
Interpolazione su 10 punti:
Esempi
Interpolazione su 25 punti:
Esempi
Proviamo con: e n=5 12
)(
x
xexf
x
Esempi
Proviamo con: e n=20 12
)(
x
xexf
x
Esempi
Proviamo con: e n=50 12
)(
x
xexf
x
Implementazione in MatLab
InterpolazioneTri.m