...

Interpolazione Polinomiale a tratti

by user

on
Category: Documents
12

views

Report

Comments

Transcript

Interpolazione Polinomiale a tratti
Serena Morigi
Dipartimento di Matematica
Università di Bologna
Interpolazione
Polinomiale a tratti
Dai polinomi ai polinomi a
tratti…..
˜ I polinomi sono funzioni regolari,
facilmente calcolabili, con derivata ed
antiderivata ancora in forma polinomiale,
approssimano funzioni continue..
˜ I polinomi possono presentare la
caratteristica di oscillare all’aumentare del
grado;
˜ Buon comportamento su piccoli intervalli
e grado basso (n <4,5);
Serena Morigi
Dipartimento di Matematica
Università di Bologna
Dai polinomi …..
ai polinomi a tratti
Si suddivide l’intervallo in tratti più piccoli e si lavora su questi
con polinomi di grado relativamente basso;
Serena Morigi
Dipartimento di Matematica
Università di Bologna
Interpolazione Polinomiale a
tratti
˜ Siano assegnate m+1 osservazioni yi,
i=0,..,m nei punti (NODI):
a = x0 < x1 < x2 < ... < xm = b
˜ Un polinomio interpolante a tratti consiste
di m polinomi di grado n<<m:
p0 ( x), p1 ( x),..., pm −1 ( x),
pk ( x) definito su [ xk , xk +1 ]
soddisfa
Serena Morigi
p k ( xk ) = y k
pk ( xk +1 ) = yk +1
Dipartimento di Matematica
k = 0,..., m − 1
Università di Bologna
Polinomi a tratti di interpolazione
di grado 1
yk +1 − yk
p( x ) = pk ( x ) = yk + ( x − xk )
; x ∈ [ xk , xk +1 ]
xk +1 − xk
a=x1 x2 xk
Serena Morigi
xk+1
Dipartimento di Matematica
xm+1=b
Università di Bologna
Polinomi a tratti di interpolazione
• Si è però persa un’ importante proprietà:
i polinomi a tratti non sono necessariamente funzioni
regolari:
• ESEMPIO: se n=1, p(x) è funzione continua, ma
p’(x) non è continua, assume un valore costante dk
y k +1 − y k
dk =
xk +1 − xk
su ogni sottointervallo, con salti nei nodi.
Serena Morigi
Dipartimento di Matematica
Università di Bologna
Pendenza nei punti
Serena Morigi
Dipartimento di Matematica
Università di Bologna
Interpolazione cubica (n=3) a
tratti di Hermite
Dati i valori y0,..,ym corrispondenti ai parametri
x0,..,xm, e le corrispondenti tangenti d0,..,dm
Determinare un polinomio
cubico C1 a tratti che
interpoli i dati:
Serena Morigi
p ( xi ) = yi , i = 0,.., m
d
p ( xi ) = d i
dt
Dipartimento di Matematica
Università di Bologna
m polinomi cubici --> 4m incognite,
su ciascun tratto risolvere il sistema 4x4:
⎧ p ( xk ) = y k ;
⎨
⎩ p ' ( xk ) = d k ;
p ( xk +1 ) = yk +1
p ' ( xk +1 ) = d k +1
Polinomio cubico interpolante a tratti:
3
3hk s − 2 s
hk − 3hk s + 2 s
yk +
yk +1 +
p( x) =
3
3
hk
hk
2
3
2
3
s ( s − hk )
s ( s − hk )
dk
d k +1 +
2
2
hk
hk
2
s = x − xk
Serena Morigi
2
hk = xk +1 − xk
Dipartimento di Matematica
Università di Bologna
Stime delle derivate
hk=xk+1-xk
fk=yk+1-yk
yk
k=0,..,m-1
dk=fk/hk
Dk = (1 − ck )d k −1 + ck d k
yk+1
yk-1
xk-1
xk
xk+1
Es. (stima di Bessel) no oscillazioni
hk −1
ci =
hk −1 − hk
Serena Morigi
Dipartimento di Matematica
Università di Bologna
Interpolazione
polinomiale a tratti
Siano assegnate m+1 osservazioni yk k=0,..,m
nei punti distinti xk in [a,b]
nodi
x0 x1
a
x2
xk
b
un polinomio interpolante a tratti consiste di m
polinomi pk(x),k=0,..,m-1, di grado n<<m :
pk ( x) definito su [ xk , xk +1 ]
1)
pk −1 ( xi ) ≡ pk ( xi ) = yi , k = 1,.., m − 1
2)
pk(l−)1 ( xk ) = pk(l ) ( xk ) l = 0,.., N
k = 1,..., m − 1
L’interpolante a tratti è di classe CN ,funzione continua fino alla
derivata
di ordine N≤n-1Dipartimento di Matematica
Serena Morigi
Università di Bologna
Def. Funzione Spline s(x)
1. s( x ) ≡ s j ( x ), x ∈ I j ,
j = 0,.., k , s j ( x ) ∈ Pn
2. continuità sui nodi :
D ( l ) s j −1 ( x j ) ≡ D ( l ) s j ( x j ), l = 0,.., n − 1 ( s( x ) ∈ C n −1 )
I0
x0
I1
x1
Ik-1
x2
Ik
xk
xk+1
Spline polinomiale:
polinomio a tratti con condizioni di massima
regolarità nei nodi
Serena Morigi
Dipartimento di Matematica
Università di Bologna
Esempio: spline cubica naturale
Spline Interpolante i dati (xi,yi), i=1,..3 è definita da due pol. cubici
su intervalli [x1,x2] e [x2,x3] che si raccordano C2.
x1
p1 ( x ) = a1 + a2 x + a3 x 2 + a4 x 3
x2
x3
p2 ( x ) = b1 + b2 x + b3 x 2 + b4 x 3
Risolvere il sistema 8x8 nelle incognite ai, bi, i=1,4
⎧ a1 + a2 x1 + a3 x12 + a4 x13 = y1 a1 + a2 x2 + a3 x2 2 + a4 x2 3 = y2
⎪
2
3
2
3
b
b
x
b
x
b
x
y
b
b
x
b
x
b
x
+
+
+
=
+
+
+
⎪1 2 2 3 2
4 2
2
1
2 3
3 3
4 3 = y3
⎪
2
2
2
3
2
3
a
a
x
a
x
b
b
x
b
x
+
+
=
+
+
⎨
2
3 2
4 2
2
3 2
4 2
⎪
2a3 + 6a4 x2 = 2b3 + 6b4 x2
⎪
⎪⎩
2a3 + 6a4 x1 = 0 2b3 + 6b4 x3 = 0
Serena Morigi
Dipartimento di Matematica
Università di Bologna
Esempio: spline cubica naturale
p1 ( x ) = a1 + a2 x + a3 x 2 + a4 x 3
p2 ( x ) = b1 + b2 x + b3 x 2 + b4 x 3
⎡1 x1
⎢
⎢1 x 2
⎢0 0
⎢
⎢0 0
⎢0 1
⎢
⎢0 0
⎢0 0
⎢
⎢⎣0 0
x12
x13
0
0
0
x22
0
x23
0
0
1
0
0
x2
x22
0
2 x2
2
0
3x22
6 x2
1 x3
x32
0 − 1 − 2 x2
0
0
−2
2
0
6 x1
0
0
0
0
0
0
2
0 ⎤ ⎡ a1 ⎤ ⎡ y1 ⎤
⎥⎢ ⎥ ⎢ ⎥
0 ⎥ ⎢a2 ⎥ ⎢ y 2 ⎥
x23 ⎥ ⎢ a3 ⎥ ⎢ y 2 ⎥
⎢ ⎥
3 ⎥ ⎢a ⎥
x3 ⎥ ⎢ 4 ⎥ ⎢ y 3 ⎥
=
2 ⎥⎢ b ⎥
⎢0⎥
− 3 x2 1
⎥⎢ ⎥ ⎢ ⎥
− 6 x2 ⎥ ⎢ b2 ⎥ ⎢ 0 ⎥
0 ⎥⎥ ⎢ b3 ⎥ ⎢ 0 ⎥
⎢ ⎥ ⎢ ⎥
6 x3 ⎥⎦ ⎢⎣ b4 ⎥⎦ ⎢⎣ 0 ⎥⎦
Funzioni di base diverse da quelle polinomiali qui utilizzate
portano a sistemi con matrici coefficienti con strutture a banda.
Serena Morigi
Dipartimento di Matematica
Università di Bologna
Interpolazione di funzioni
˜ Assegnati i punti Pi(ti,yi) con valori
trovare la funzione che passa per
tali punti
f(ti)=yi
i=0,..,n
˜ Risolvere il sistema lineare:
Va = Y
Serena Morigi
Dipartimento di Matematica
Università di Bologna
Curve in forma
parametrica
Una curva parametrica nello spazio è definita da tre funzioni
x(t) y(t) e z(t) del parametro t. Al variare di t, le coordinate
(x(t),y(t),z(t)) individuano un punto che si sposta sulla curva.
F(a)
z
x
y
ti
F(t)
F(b)
ti
F(t)=(x(t),y(t),z(t))
a
b
t in [a,b] individua un segmento di curva
Serena Morigi
Dipartimento di Matematica
Università di Bologna
Interpolazione con curve in
forma parametrica
˜ Assegnati i punti Pi(xi,yi) con valori
dei parametri corrispondenti ti
trovare la curva c(t)=(cx(t),cy(t))
che passa per tali punti
c(ti)=Pi i=0,..,m
˜ Risolvere in R2 i due sistemi lineari:
Va1 = xi Va2 = yi
Serena Morigi
Dipartimento di Matematica
Università di Bologna
Curve spline di interpolazione
˜ Problema:
Determinare una curva s(t)=(sx(t),sy(t))
di grado p tale che passi nell’ordine per
m+1 punti Pi=(xi,yi) i=0,..,m del piano
preassegnati.
˜ Algoritmo:
˜ Determinare i valori dei nodi di
interpolazione ti
˜ Risolvere le due funzioni spline di
interpolazione sx e sy :
sx(ti)=xi;
e
sy(ti)=yi;
Serena Morigi
Dipartimento di Matematica
Università di Bologna
Esempio:
Controllo di un robot 2D
˜ Le equazioni che regolano il
braccio sono le seguenti:
˜ posizione della fine del primo link
x1 = L1 cos(θ1 )
(x1,y1)
y1 = L1 sin(θ1 )
˜ posizione della fine del secondo
link (x2,y2) x2 = x1 + L2 cos(θ1 + θ 2 )
y 2 = y1 + L2 sin(θ1 + θ 2 )
˜ quindi, le coordinate (x,y) della
mano del robot sono date da
x2 = L1 cos(θ1 ) + L2 cos(θ1 + θ 2 )
y 2 = L1 sin(θ1 ) + L2 sin(θ1 + θ 2 )
Serena Morigi
Dipartimento di Matematica
Università di Bologna
Esempio:
Controllo di un robot 2D
˜ Queste due equazioni sono risolte per angoli in
funzione di x ed y in modo tale che si possa
determinare gli angoli necessari per spostare
la mano ad una posizione specificata da (x,y).
Le relazioni risultanti sono le seguenti:
R2 = x2 + y 2
cos(θ 2 ) =
R
2
2
− L1
y
α = arctan( )
x
Serena Morigi
− L2
2 L1L2
2
2
2
L1
R +
− L2
cos( β ) =
2 L1R
⎧α + β
θ1 = ⎨
⎩α − β
Dipartimento di Matematica
2
se θ 2 < 0
se θ 2 ≥ 0
Università di Bologna
Esempio:
Controllo di un robot 2D
Funzioni spline interpolano i valori di
θ1(ti) e θ2(ti) in corrispondenza
degli istanti ti prefissati;
θ1(ti) e θ2(ti) corrispondono agli
angoli che permettono di
posizionare il link2 del robot nelle
posizioni (x(ti),y(ti)) assegnate
agli istanti ti.
Serena Morigi
Dipartimento di Matematica
Università di Bologna
Fly UP