interpolazione - Consorzio Nettunonettuno.unina.it/files/calcolo/interpolazione_liv0.pdf ·...

Post on 17-Feb-2019

236 views 0 download

Transcript of interpolazione - Consorzio Nettunonettuno.unina.it/files/calcolo/interpolazione_liv0.pdf ·...

1

INTERPOLAZIONE

Quali condizioni si possono richiedere sulla funzione interpolante ?

Quali condizioni si possono richiedere sulla funzione interpolante ?

Problema generale di INTERPOLAZIONE

Dati n punti distinti (xi,yi)i=1,..,n

si vuole costruire una funzione f(x)

tale che nei nodi (xi)i=1,..n

soddisfi a certe condizioni, dette

Condizioni di interpolazione

2

Esempio 1

condizioni di interpolazione:la funzione deve passare per i punti assegnati

in ciascun nodo xi è assegnata una condizione sulla funzione interpolante

x1 x2 xn…y1 y2 y2

Interpolazione di Lagrange

3

Interpolazione di Lagrange: formulazione generale

Sia F uno spazio di funzioni di variabile reale o complessa.

Assegnati:• n valori distinti reali o complessi {xi} i=1,..n

• n valori distinti reali o complessi {yi} i=1,..n

Si cerca una funzione f(x)∈F tale che:

f(xi)=yi i=1,…,n

Condizioni di interpolazione di Lagrange

Esempio 2

condizioni di interpolazione:la funzione deve passare per i punti assegnati

con una fissata tangente

4

N.B.….se è assegnata in un nodo la condizione sulla derivata di ordine q, deve essere assegnata anche la condizione sulle

derivate dall’ordine 0 fino a q-1.

y1ny1

n-1…y12y1

1

y0ny0

n-1…y02y0

1

y32

xn

y2n-1

xn-1

…y22

x2x1

In ciascun nodo sono assegnate condizionisulla funzione f(x) e sulle sue derivate….

Interpolazione di Hermite

Interpolazione di Hermite: Formulazione generale

Sia F uno spazio di funzioni di variabile reale o complessa.

Si cerca una funzione f ∈F tale che:

f(j)(xi)=yji i=1,…,n j=0,1,…,l i-1

Condizioni di interpolazione di Hermite

n numeri interi {li} i=1,..n tali che Σ ni=1 li = m+1

n valori distinti reali o complessi {xi}i=1,..n

m+1 valori distinti reali o complessi {yji} i=1,…,n

j=0,1,…,li-1

Assegnati

5

In ciascun nodo c’è almeno una condizionesulla funzione o sulla derivata di

qualunque ordine

y1n…y1

1

y0ny0

n-1…y02y0

1

y32

xn

y2n-1

xn-1

…y22

x2x1

Interpolazione di Hermite-Birkoff

….quale forma può avere una

funzione interpolante

?

….quale forma può avere una

funzione interpolante

?

OVVERO:

quale spazio di funzioni Futilizzare

?

OVVERO:

quale spazio di funzioni Futilizzare

?

6

Esempio

-0.97

3

-1.58

π/2

-0.39

π/3

-0.31

-1

1.08

-π/2

y 0.41

-2x

-0.97

3

-1.58

π/2

-0.39

π/3

-0.31

-1

1.08

-π/2

y 0.41

-2x

Interpolazione mediante polinomio di quinto grado

7

-0.97

3

-1.58

π/2

-0.39

π/3

-0.31

-1

1.08

-π/2

y 0.41

-2x

Interpolazione mediante polinomio trigonometrico di quinto grado

un confronto ……

Quale funzione scegliere ?

8

• dal costo computazionale relativo alla costruzione ed alla valutazione della funzione interpolante

la scelta della forma della funzione interpolante ovvero

la scelta dello spazio F dipende :

• dalle caratteristiche del problema reale

In generale,

….fissiamo

lo spazio dei polinomi ….fissiamo

lo spazio dei polinomi

…. Costruiamo il polinomio interpolante di Lagrange

…. Costruiamo il polinomio interpolante di Lagrange

….è unico ?

9

Esempio: Siano P1, P2 due punti fissati.

Esistono infinite parabole per P1, P2

Ma una sola retta per P1, P2

dati i due punti che grado deve avere il polinomio affinché la curva

interpolante sia univocamente determinata?

dati i due punti che grado deve avere il polinomio affinché la curva

interpolante sia univocamente determinata?

10

2) Per m =1 (in generale m=n-1 )

Esiste un unico polinomio di grado 1 interpolante i due punti( esiste un’unica retta passante per due punti )

1) Per m < 1 (in generale m< n-1 )

Non esiste alcun polinomio interpolante ( tranne se i due punti hanno la stessa ordinata )

3) Per m > 1 (in generale m >n-1 )

Esistono infiniti polinomi di grado maggiore di 1 interpolanti i due punti

( esistono infinite parabole, cubiche , etc. per due punti )

Quindi...

Teorema

Dati n nodi distinti {xi} i=1,..nn valori corrispondenti {yi} i=1,..n

il polinomio p(x)∈Πm tale che:

p(xi) = yi i=1,…,n

è unico se:m = n-1

11

Siano p(x), q(x) ∈Πn-1 tali che:

p(xi) = yi i=1,..nq(xi) = yi i=1,..n

Dimostriamo che i due polinomi sono identicamente uguali. Posto:

z(x) = p(x)- q(x) (z(x) ∈Πn-1 )

Si ha:z(xi) = 0 i=1,..n

1/2

Dimostrazione 1

1)Se z(xi) = 0 i=1,..n ⇒ il polinomio ha n zeri distinti⇓

z(x) =a(x- x1) (x- x2)… (x- xn) a∈ℜ

2) Un polinomio non nullo di grado al più n-1 ha al più n-1 zeri distinti

(Teorema fondamentale dell’algebra)

3) L’unico polinomio al più di grado n-1 che ha n zeri distinti è il polinomio identicamente nullo

z(x) è il polinomio identicamente nullocioè p(x)=q(x)

2/2

12

Dimostrazione 2

Se p(x) ∈Πn-1 è il polinomio interpolante gli n punti:(xi, yi ) i=1,..n

dovendo soddisfare le condizioni di interpolazionep(xi) = yi i=1,..n

⇓a0 + a1x1 +…+ an-1x1

n-1 =y1………………………………………………………………a0 + a1xi +…+ an-1xi

n-1 =yi………………………………………………………………a0 + a1xn +…+ an-1xn

n-1 =yn

Sistema lineare di dimensione n

1/4

La matrice dei coefficienti di questo sistema è:

Matrice di Vandermonde

2/4

=

1

122

111

...1............

...1

...1

nnn

n

n

xx

xxxx

V

∏>=

−=n

jij

ji xxV1

)()det(

13

Esistenza ed unicità del polinomio

Dimostriamo che il sistema ammette una ed una sola soluzione

Esistenza ed unicità della soluzione del sistema lineare

3/4

4/4

Poiché i nodi sono a due a due distinti alloradet(V)≠0

Esiste un’unica soluzione

c.v.d

Il sistema è non singolare

14

….quali condizioni garantiscono

l’unicità del polinomio

interpolante di Hermite?

….quali condizioni garantiscono

l’unicità del polinomio

interpolante di Hermite?

ESEMPIO 6 Traiettoria di una pallottola

Una pallottola è sparata vero l’alto dalla sommità di un edificio alto 100 m. Dopo 10 sec. dal lancio la pallottola raggiunge la

massima altezza a 590 . Disegnare la traiettoria della pallottola.

QQ11(0,100)(0,100)

QQ22(10,590)(10,590)

15

Come costruire la parabola che descrive la

traiettoria della pallottola ?

Come costruire la parabola che descrive la

traiettoria della pallottola ?

L’espressione della parabola è p(x) = axL’espressione della parabola è p(x) = ax2 2 + + bxbx + c+ c

Q1 (0,100)

•Q2 (10,590)

Sappiamo che p(0)=100Sappiamo che p(0)=100p(10)=590p(10)=590

Sappiamo inoltre che il punto Q2 è il vertice della parabola

Possono esistere Possono esistere Più parabole…Più parabole…

Esiste una sola Esiste una sola parabola…parabola…

I condizione

II condizione

III condizione

16

p(xp(x11)=y)=y11

p(xp(x22)=y)=y22

p’(xp’(x22)=0)=0

Si ottiene il sistema …Si ottiene il sistema …

2ax2ax22+b=0+b=0

axax222 2 + bx+ bx22 + c=y+ c=y22

axax112 2 + bx+ bx11 + c=y+ c=y11

c=100100 a + 10 b + 100=59020a+b=0

b=88b=88c=100c=100

a=4.4a=4.4

UNICA SOLUZIONE

Interpolazione di Hermite

n=2 nodi ( 2 punti per cui deve passare la parabola)

m=3 nodi condizioni di interpolazione(appartenenza dei due punti alla parabola + vertice nel primo)

# condizioni =

# incognite

17

TEOREMA

Dati n nodi distinti {xi} i=1,..nn numeri interi positivi {li} i=1,..n tali che

Σ ni=1 li = m+1

ed m+1 valori {yji} con i=1,…,n j=0,1,…,li-1

Il polinomio p (x) ∈ Πq tale che:

p(j)(xi)=yji

è unico se:q = m

Siano p(x), q(x) ∈Πm tali che:

p(j) (xi) = yji i=1,..n j=0,1,…,li-1

q(j) (xi) = yji i=1,..n j=0,1,…,li-1

dimostriamo che i due polinomi sono identicamente uguali. Posto:

z(x) = p(x)- q(x) (z(x) ∈Πm )

dimostriamo che z(x) è un polinomio identicamente nullo. Si ha:

z(j) (xi) = 0

1/2

Dimostrazione

18

Un polinomio z∈Πm tali che:

z(j) (xi) = yji i=1,..n j=0,1,…,li-1

È necessariamente del tipo:

z(x) =a(x- x1)l1 (x- x2) l2 … (x- xn) ln a∈ℜ

Cioè ammette n zeri distinti x1 x2 … xn rispettivamente con molteplicità :

l1 , l2 ,… ,lnPoiché Σ n

i=1 li=m+1 e siccome z(x) ha la più grado m, z(x) è necessariamente il polinomio identicamente nullo.

c.v.d2/2

In generale…

Se poniamo F = Πmspazio dei polinomi di

grado al più m

Interpolazione polinomiale

di Lagrange di Hermite

19

Sia per l’interpolazione di Lagrange

che per l’interpolazione di Hermite

# condizioni =

# incognite

l’unicità

della soluzione è garantita

Metodi costruttivi del polinomio interpolante di

di LAGRANGE

20

p(x) ∈Πn-1 è p(x)= a0 + a1x +…+ an-1xn-1

METODO DEI COEFFICIENTI INDETERMINATI

Imponendo le condizioni di interpolazionep(xi) = yi i=1,..n

a0 + a1 x1 +…+ an-1 x1 n-1 =y1

a0 + a1 x2 +…+ an-1 x2 n-1 =y2

a0 + a1 xn +…+ an-1 xnn-1 =yn

……………………………

Sistema di equazioni lineari di ordine n

p(x1) = y1

p(x2) = y2

p(xn) = yn

…..…..

La matrice dei coefficienti di questo sistema è:

=

1nnn

1n22

1n11

x...x1............

x...x1x...x1

V ∏>=

−=n

ji1j

ji )x(xdet(V)

Matrice di Vandermonde( mal condizionata!)

21

Formula di Lagrange

Esempio: Siano Esempio: Siano P1(x1,y1), P2(x2,y2) punti del piano.punti del piano.Costruiamo il polinomio Costruiamo il polinomio p(x) interpolante interpolante P1, P2 ..

Poniamo Poniamo p(x) =y1 l1 (x) + y2 l2(x) con lcon l11(x), l(x), l22(x)(x)ppolinomi olinomi ddi primo grado.i primo grado.

Di che tipo devono essere i polinomi lDi che tipo devono essere i polinomi l11(x) e l(x) e l22(x)?(x)?

ll11(x)= a (x(x)= a (x--xx22))ll22(x)= b (x(x)= b (x--xx11))

ll11(x(x11)= a (x)= a (x11--xx22) =1) =1ll22(x(x22)= b (x)= b (x22--xx11)=1)=1

ll11(x(x11)=1)=1ll22(x(x22)=1)=1

11

11

ll11(x(x22)=0)=0ll22(x(x11)=0)=0

00

00

a=1/(xa=1/(x11--xx22))b=1/(xb=1/(x22--xx11))

p(xp(x11) = y) = y11 ll11 (x(x11) + y) + y22 ll22(x(x11) = y) = y11

p(xp(x22) = y) = y11 ll11 (x(x22) + y) + y22 ll22(x(x22) = y) = y22

Dalle condizioni di interpolazione

22

)x(x)x(xy

)x(x)x(xyp(x)

12

12

21

21 −

−+

−−

=

IN GENERALEIN GENERALE: :

Cioè:Cioè:

(x)ly...(x) ly(x) lyp(x) n n2211 +++=

i i --mo polinomio mo polinomio fondamntalefondamntaledi di LagrangeLagrange

FORMULA DI FORMULA DI LAGRANGELAGRANGE

∏≠= −

−=

n

ij1j

ji

ji )x(x

)x(x(x) l

con

Complessità computazionale della formula di Lagrange

∏≠= −

−=

n

ji1i ji

ii )x(x

)x(x(x)l )12)(1( MAn +−

∑=

=n

1iii (x)lyp(x) [ ]MMAnn ++− )12)(1(

complessità computazionale di un polinomio fondamentale di Lagrange

complessità computazionale della formula di Lagrange

)O(n(n)T 2=

23

zyx ii ),(

nodi punto divalutazione

)(zp

valore del polinomio in z

formula diLagrange

Complessità computazionale

)O(n(n)T 2=

E se si vuolecambiare il punto di

valutazione z ?

Formula di Lagrange

Osservazione

(x)ly...(x) ly(x) lyp(x) n n2211 +++=

La formula di Lagrange

valuta il polinomio contemporaneamente alla sua determinazione

cambiare punto divalutazione

Rifare tutti i calcoli(Complessità computazionale

))O(n(n)T 2=

24

MAse si conoscessero i coefficienti,quanto costerebbe valutare il polinomio?

L’algoritmo di Horner valuta un polinomiocon una complessità T(n)=O(n)

Obiettivo:Separare il calcolo dei coefficienti

del polinomio di Lagrangedalla valutazione del polinomio stesso

FORMULA DI NEWTONFORMULA DI NEWTON

xx11

yy11

Assegnato il punto P1=(x1,y1)Qual’e’ il polinomio P(0)(x)= a0 di grado 0

che interpola P1 ?

Imponendo la condizione di interpolazione P(0)(x1)= y1

a0 = y1 P(0)(x)= y1

25

P(0)(x)=y1

Assegnato ora il punto P2=(x2,y2)

((xx22, y, y22))

Qual’e’ il polinomio P(1)(x) di grado 1che interpola P2 (oltre che P1 ) ?

P(1)(x) = P(0)(x) + a1 (x-x1) = y1+a1 (x-x1)

incognita

Determiniamo a1 imponendo che la retta passi oltre che per (x 1,y1 ) anche per (x2,y2):

12

121 xx

yya−−

=y2 = P(1)(x2) =y1+a1(x2-x1)

)x(xa a(x)P 110(1) −+=

con

12

12110 xx

yyaya−−

==

26

P(2)(x) = P(1)(x) +a2 (x-x1)(x-x2) = a0+a1 (x-x1) +a2 (x-x1)(x-x2)

incognita

Qual e’ il polinomio P(2)(x) di grado 2che interpola P3 (oltre che P1 e P2 )?

P(1)(x)=y1+a1 (x-x1)

Assegnato ora il punto P3=(x3,y3)

((xx33, y, y33))

Determiniamo a2 imponendo che la retta passi oltre che per (x 1,y1 ) e (x2,y2) anche per (x3,y3):

)x)(xx(xa)x(xa a(x)P 212110(1) −−+−+=

con

12

12110 xx

yyaya−−

==23

12

12

13

13

2 xxxxyy

xxyy

a−

−−

−−−

=

y3 = P(2)(x3) =y1 + a1 (x-x1) +a2 (x-x1)(x-x2)

23

12

12

13

13

2 xxxxyy

xxyy

a−

−−

−−−

=

27

il polinomio P(k-1) interpolante k punti (xi,yi) i=1,…,k a partire

dal polinomio P(k-2) interpolante k-1 punti (xi,yi) i=1,…,k-1

FORMULA DI NEWTONFORMULA DI NEWTON

IDEA: costruire

P(k-1)(x) = P(k-2)(x) + Q(x) k=1,2,....

con Q(x) = ak-1 (x-x1)(x-x2)...(x-xk-2) e P(0)(x)= y1

FORMULA DI NEWTONFORMULA DI NEWTON

P(x)=a0+a1(x-x1)+…+an-1(x-x1)…(x-xn-1)

12

121

10

xxyya

ya

−−

=

=

23

12

12

13

13

2 xxxxyy

xxyy

a−

−−

−−−

=

OsservazioneI coefficienti del polinomio

dipendono solo dai nodi di interpolazione:

In generale come calcolare ak ?

28

Definizione:

[ ]12

1221 xx

yyx,xy−−

=

differenza divisa del primo ordine

[ ] [ ] [ ]1k

1-k21k32k21 xx

xx,xyxx,xyxx,xy−

−=

,...,,...,,...,

differenza divisa di ordine k-1

Proprietà fondamentale delle differenze divise:

Esempi:

[ ] [ ]12,21, xxyxxy = [ ] [ ]123321 x,x,xyx,x,xy =

Detta k21 i,...,i,i una permutazione degli indici 1,2,..,k

[ ] [ ]k21 i,...,i,ik2,...,1, xxxyxxxy =

non è importante l’ordine con cui vengono interpolati i nodi

29

Teorema:

Dati n nodi distinti {xi} i=1,..nn valori corrispondenti {yi} i=1,..n

DettoP(x)=a0+a1(x-x1)+…+an-1(x-x1)…(x-xn-1)il polinomio interpolante di Lagrange

ak = y[x1x2…xk-1] k=0,1,..,n-1

i coefficienti del polinomio di Lagrangesono differenze divise

Dimostrazione (per induzione)

Siano:

• P(k-1)(x) polinomio interpolante i nodi x1,x2,…,xk

P(k-1)(x) = P(k-2)(x) + y[x1… xk](x-x1)…(x-xk-1) P(k-1) ∈∏k-1

• Q(k-1)(x) polinomio interpolante i nodi x2,…,xk+1

Q(k-1)(x) = Q(k-2)(x) + y[x2… xk+1](x-x2)…(x-xk) Q(k-1) ∈∏k-1

(per ip. di induzione)

(per ip. di induzione)

30

Consideriamo il polinomio:

k1k

1)-(k1k

1)-(k1

xx(x))Px(x(x)Q)x(xR(x)

−−−−

=+

+ R(x) ∈ ∏k

Poiché R(xi)=yi i=1,…,k+1

( R(x) interpola i nodi x1, x2,…, xk+1)

Per l’unicità del polinomio interpolante

R(x) = P(k)(x)

per il principio di identità dei polinomi

coefficiente di

grado massimo di P(k) (x)

coincide

coefficiente di

grado massimo di R(x)

11k

k11k2k xx

]...xxy[]...xxy[a−−

=+

+

[ ]1k1 x,...,xy +=

31

nodo 1 x1 y1

Algoritmo costruttivo delle differenze divise

nodo 5 x5 y5 y[x1 x5] y[x1 x2 x5] y[x1 x2 x3 x5] y[x1x2x3x4x5]

nodo 4 x4 y4 y[x1 x4] y[x1 x2 x4] y[x1 x2 x3 x4]

nodo 3 x3 y3 y[x1 x3] y[x1 x2 x3]

nodo 2 x2 y2 y[x1 x2]

a0

a1

a2

a3

a4

Complessità computazionale della formula di Newton

calcolo di a1 1 differenza divisa

calcolo di a2 2 differenze divise

calcolo di a3 3 differenze divise

calcolo di an-1 n-1 differenze divise

Totale = 1 + 2 +....+ n-1 = n(n-1)/2 differenze divise

( ) )( 2nO=+−

= 1M2A2

1)n(nT(n)

32

E se si vuolecambiare il punto di

valutazione z ?

Formula di Newton)y,(x ii

nodi

formula diNewton

)O(n(n)T 2=

coefficienti

p(z)valore del

polinomio in z

punto divalutazione

algoritmo diHorner

z

O(n)(n)T =Solo algoritmo

di HornerO(n)(n)T =

E se si vuole aggiungere un nodo?

nodo 1 x 1 y1

nodo 5 x5 y5 y[x1 x5] y[x1 x2 x5] y[x1 x2 x3 x5] y[x1x2x3x4x5]

nodo 4 x4 y4 y[x1 x4] y[x1 x2 x4] y[x1 x2 x3 x4]

nodo 3 x3 y3 y[x1 x3] y[x1 x2 x3]

nodo 2 x2 y2 y[x1 x2]

nodo 6 x6 y6 y[x1 x6] y[x1 x2 x6] y[x1 x2 x3 x6] y[x1x2x3x4x6] y[x1x2x3x4 x5x6]

a5

calcolo del solo coefficiente a5 T(n)=O(n)

33

Algoritmo di Horner per la valutazione dei polinomi

Si vuole valutare un polinomio p(x) di grado n in un punto z.

Esempio:

p(x) = a0 + a1 x + a2 x2 + a3 x3 + … + an xn

Idea dell’algoritmo

L’algoritmo si basa sull’idea di calcolare il valore del polinomio

nell’indeterminata x, mediante successive messe in evidenza.

34

Un polinomio di grado 3

P(x)=a3 x3 + a2 x2 + a1 x + a0

può scrivere nella forma:

(a3 x2 + a2 x + a1) x + a0

e ancora come:

((a3 x + a2) x + a1) x + a0 .

Esempio

Da cui si ricava una semplice relazione per ricorrenza:

y1 = a3 * x;y2 = y1 + a2;y3 = y2 * x;

y4 = y3 + a1;y5 = y4 * x;

y6 = y5 + a0;

35

p(x)= an xn + … + a3 x3 + a2 x2 + a1 x + a0

avremo:

y1 = an * x;y2 = y1 + an-1;

…yn-1 = yn-2 * x;yn = yn-1 + a0.

In generale

function p=valnewton(a,x,xval)n=length(x);nval=length(xval);p=a(n)*ones(1,nval);for i=n:-1:1p=p.*(xval-x(i))+a(i);

end

In matlab