Sunteți pe pagina 1din 54

Calcul Numeric

Cursul 12
2015

Anca Ignat

Metoda lui Laguerre


Fie polinomul:

p( x ) a0 ( x x1 )( x x2 ) ( x xn ),a0 0
Metoda lui Laguerre propune construirea unui ir de numere care s
convearg la una din rdcinile polinomului p.
Considerm derivata polinomului p:

1
1
1

p '( x ) p( x )

x
x
x
x
x
x

1
2
n

Avem:

ln | p( x ) |ln | a0 |ln| x x1 |ln| x x2 | ln| x xn |


1

d
1
1
1
p( x )
ln | p( x ) |

G( x )
dx
x x1 x x2
x x n p( x )
d2
1
1
1
2 ln | p( x ) |

2
2
2
dx
( x x1 )
( x x2 )
( x xn )

p '( x ) p( x ) p ''( x )

H ( x)
2
p( x )
2

Fie x1 rdcina pe care vrem s-o aproximm i yk valoarea


aproximativ curent. Notm cu a = yk - x1 i facem presupunerea c
yk se afl la acceeai distan de toate celelalte rdcini, adic:

yk xi b i 2, , n .
2

Prin urmare avem:

p '( yk ) n 1
G ( yk )

p( y k ) a
b
2

p '( yk ) p( yk ) p ''( yk )
n1
H ( yk )
2 2
2
a
b
p( yk )
Rezolvm acest sistem n raport cu a i obinem:
a

max G ( yk ) ( n 1) nH ( yk ) G 2 ( yk )

Semnul la numitor este ales astfel ca expresia s aib magnitudine


maxim. Dac inem cont de expresiile pentru G i H obinem pentru
a i urmtoarea expresie:
a

n p( yk )
2

2
max p '( yk ) ( n 1) p '( yk ) n( n 1) p( yk ) p ''( yk )

Urmtorul element din ir va fi:


yk 1 yk a yk

yk 1 yk

max G ( yk ) ( n 1) nH ( yk ) G 2 ( yk )

n p( yk )

2
max p '( yk ) ( n 1)2 p '( yk ) n( n 1) p( yk ) p ''( yk )

Procedeul se oprete cnd a devine suficient de mic. Metoda lui


Laguerre se poate apl. i ptr. aprox. rd. complexe i de asemenea
pentru polinoame cu coeficieni compleci. Pentru rdcini simple
metoda lui Laguerre are ordinul de convergen 3.

Interpolare numeric

Presupunem c despre o funcie f cunoatem doar valorile ntr-un


numr finit de puncte. Pornind de la aceste date, dorim s
aproximm funcia f ntr-un alt punct.
x

x0

x1

x2

... xn-1

y0

y1

y2

... yn-1

xn
yn

n tabelul de mai sus f(xi) = yi , i=0,1,,n i xi xj , i j.


Dat un punct x xi, i=0,1,,n dorim s aproximm f(x) cunoscnd
cele (n+1) perechi (xi ,yi ), i=0,,n. Punctele xi se numesc noduri
de interpolare.

Polinomul de interpolare Lagrange

Notm cu n mulimea polinoamelor de grad cel mult n.


Dimensiunea acestui spaiu este n+1, baza uzual fiind dat de
polinoamele 1, x, x2,, xn. Vom considera o alt baz n acest
spaiu. Se consider polinoamele pi:
0pentru j i
pi n astfelca pi ( x j )
j 0, , n,i 0, , n
1pentru j i
Din relaia pi ( xj )=0, j i i faptul c pi este de grad n rezult c
x0, x1,,xi-1, xi+1,,xn sunt cele n rdcini ale polinomului pi.
Avem:

pi ( x ) ci ( x x0 ) ( x xi 1 )( x xi 1 ) ( x xn ),
ci ,i 0, , n
7

Constanta ci se determin din relaia pi ( xi ) = 1:


pi ( xi ) 1 ci ( xi x0 ) ( xi xi 1 )( xi xi 1 ) ( xi xn )
1
ci
( xi x0 ) ( xi xi 1 )( xi xi 1 ) ( xi xn )

Polinoamele pi au forma:
n
x xj
( x x0 ) ( x xi 1 )( x xi 1 ) ( x xn )
(
)
pi ( x )
( xi x0 ) ( xi xi 1 )( xi xi 1 ) ( xi xn ) j 0 xi x j
ji

i 0, , n
Propoziie

Polinoamele p0, p1,, pn formeaz o baz n n.


8

Demonstraie: Vom arta c cele n+1 polinoame sunt liniar


independente:
q( x ) a0 p0 ( x ) a1 p1 ( x ) an pn ( x )0,x
a0 a1 an 0
Vom face pe rnd x = x0, x = x1,, x = xn n polinomul q:
x x0 q( x0 ) a0 p0 ( x0 ) a1 p1 ( x0 ) an pn ( x0 )
a0 1 a1 0 an 0 a0 0a0 0
x x1q( x1 a1 0

x xk q( xk ) a0 p0 ( xk ) ak pk ( xk ) an pn ( xk )
a0 0 ak an 0 ak 0ak 0

x xn q( xn an 0
9

Toate constantele ai sunt nule deci polinoamele pi ;i 0, , n


formeaz o baz n n.
Pentru a aproxima funcia f pornind de la tabelul de mai sus, vom
construi un polinom lnn a.. s satisfac condiiile de interpolare:
ln n ,ln ( xi ) yi ,i 0, , n

(1)

Odat construit acest polinom, vom aproxima f(x) prin ln(x).


f ( x ) ln ( x )
Vom scrie polinomul ln n raport cu noua baz pi ;i 0, , n , deci
exist constantele reale a0, a1,,an astfel ca:
n

ln ( x ) ai pi ( x )
i 0

Constantele ak se determin astfel:


10

yk ln ( xk )a0 p0 ( xk ) ak pk ( xk ) an pn ( xk )
a0 0 ak 1 an 0 ak ak yk
Prin urmare un polinom de grad n care ndeplinesc condiiile de
interpolare (1) este:
( x x0 ) ( x xi 1 )( x xi 1 ) ( x xn )
ln ( x ) yi pi ( x ) yi
( xi x0 ) ( xi xi 1 )( xi xi 1 ) ( xi xn )
i 0
i 0
n

i 0

j 0
ji

yi (

x xj
xi x j

(2)

Polinomul in formula (2) se numete polinomul de interpolare


Lagrange.
11

Propoziie
Polinomul ln dat de formula (2) este unicul polinom de grad n care
ndeplinete condiiile de interpolare (1).
Demonstraie: Presupunem c mai exist un polinom qn care
ndeplinete condiiile (1):

q n ,q( xi ) yi ,i 0, , n
Fie polinomul p(x)=ln(x)-q(x) n.

p( xk ) ln ( xk ) q( xk ) yk yk 0,k 0, , n
Polinomul p are ca rdcini toate nodurile de interpolare.
Polinomul p este polinom de grad cel mult n i are (n+1) rdcini
distincte (xi xj, i j). Acest polinom nu poate fi dect polinomul
identic nul:
12

p( x ) ln ( x ) q( x ) 0x,ln ( x ) q( x )x
Polinomul ln este unicul care satisface (2).
Fie wn+1 polinomul de grand (n+1) care are ca rdcini nodurile de
interpolare:

wn1 ( x ) ( x x0 )( x x1 ) ( x xn ) n1

Avem:
n

i 0

j 0
ji

j 0
jk

wn1 ( x ) ( x x j ); wn1 ( xk ) ( xk x j )
Putem rescrie polinomul ln i astfel:
13

wn1 ( x )
1
ln ( x ) [ yi

]
x xi ( wn1 ( xi ))'
i 0

Fie a = min{x0, x1,, xn}, b = max{x0, x1,, xn}.


Teorema restului

Fie f C n1 a , b i x a , b , x xi ,i 0, , n. Atunci exist


un punct y a , b , y y( x0 , x1 , , xn , x ) (punctul y depinde de
nodurile de interpolare xi i de punctul x ) astfel c eroarea la
interpolarea numeric este dat de:
f ( n1) ( y )
f ( x ) ln ( x )
wn 1 ( x )
( n 1)!
14

(3)

Demonstraie: Considerm funcia F:


F ( x ) : f ( x ) ln ( x ) cwn1 ( x )

Constanta real c este aleas astfel ca F ( x ) 0 adic:


f ( x ) ln ( x )
, x xi i ) wn1 ( x )0)
c
wn1 ( x )

(4)

Funcia f fiind de clas Cn+1 pe intervalul [a,b] rezult c i funcia F


este din Cn+1[a,b]. Avem:
F ( xi ) f ( xi ) ln ( xi )cwn1 ( xi ) yi yi c0 0,i 0, , n
Funcia F are (n+2) zerouri, x0 , x1 , , xn , x . Aplicnd succesiv
Teorema lui Rolle rezult c F are (n+1) zerouri, F are n
zerouri,, F(n+1) are 1 zero n intervalul [a,b]. Vom nota aceast
15

rdcin a lui F(n+1) cu y. Punctul y depinde de zerourile iniiale


x0 , x1 , , xn , x i:
y y( x0 , x1 , , xn , x ) a , b a..F ( n1) ( y )0.

(5)

Derivata de ordinul (n+1) a funciei F se calculeaz astfel:


F ( n1) ( x ) f ( n1) ( x )ln( n1) ( x )cwn( n11) ( x )

(6)
f ( n1) ( x ) 0 c( n 1)! f ( n1) ( x ) c( n 1)!

(derivata de ordin (n+1) a polinomului de grad n ln este 0).


Din relaiile (4), (5) i (6) rezult c:
f ( n1) ( y ) f ( x ) ln ( x )
f ( n1) ( y )
c
wn1 ( x )

f ( x ) ln ( x )
( n 1)!
wn1 ( x )
( n 1)!
adic am obinut relaia (3).
16

Forma Newton a polinomului de interpolare Lagrange

Fie lk(x, x0, x1,, xk, f) polinomul de interpolare Lagrange pentru


funcia f pe sistemul de noduri distincte {x0, x1,, xk}.
Propoziie
Fie lk-1(x, x0, x1,, xk-1, f), lk-1(x, x1, x2,, xk, f)k-1
polinoamele de interpolare Lagrange pentru funcia f pe sistemele de
noduri {x0, x1,, xk-1} i respectiv {x1, x2,, xk}.
Atunci:
lk ( x , x0 , x1 , , xk , f )
( x xk )lk 1 ( x , x0 , x1 , , xk 1 , f ) ( x x0 )lk 1 ( x , x1 , x2 , , xk , f )

x0 x k

(1)
Demonstraie: Exerciiu.
17

Considerm urmtoarele probleme de interpolare pentru f:

( x0 , y0 ),( x1 , y1 ), ,( xk 1 , yk 1 ) lk 1 ( x , x0 , x1 , , xk 1 , f )
( x0 , y0 ),( x1 , y1 ), ,( xk , yk ) lk ( x , x0 , x1 , , xk , f )
Ne intereseaz s gsim o formul de trecere rapid de la polinomul
de interpolare pe k noduri la cel care are un nod n plus. Deoarece
polinomul de grad cel mult k:
q( x ) lk ( x , x0 , x1 , , xk , f ) lk 1 ( x , x0 , x1 , , xk 1 , f ) k

are ca rdcini punctele x0,x1,,xk-1 (q(xi) = yi - yi = 0, i=0,...,k-1)


avem relaia:
k 1

lk ( x , x0 , x1 , , xk , f ) lk 1 ( x , x0 , x1 , , xk 1 , f ) A ( x x j )
j 0

18

n care A este dat de relaia:


A

lk ( xk , x0 , x1 , , xk , f ) lk 1 ( xk , x0 , x1 , , xk 1 , f )
k 1

(x
j0

xj)

k 1

A k 1
j 0

k 1

i 0

j 0
ji
k 1

(x

xj )

yk

( xk x j )
j 0

xk x j

y ( x

yk

(x

k 1

j 0

k 1

i 0

xj

xj)
yi

k 1

( xk xi ) ( xi x j )
j0
ji

19

(3)

A
i 0

yi
k

(x
j 0
ji

(4)
xj)

Considerm urmtoarele problemele de interpolare pentru f:

( x1 , y1 ),( x2 , y2 ), ,( xk , yk )lk 1 ( x , x1 , x2 , , xk , f )
( x0 , y0 ),( x1 , y1 ), ,( xk , yk )lk ( x , x0 , x1 , , xk , f )
vom avea, analog ca mai sus
k

lk ( x , x0 , x1 , , xk , f ) lk 1 ( x , x1 , x2 , , xk , f )B ( x x j )
j 1

(5)
20

Dac nmulim relaia (2) cu (x-xk) iar relaia (5) cu (x-x0) i scdem
aceste relaii obinem:
( x0 xk )lk ( x , x0 , x1 , , xk , f ) ( x xk )lk 1 ( x , x0 , x1 , , xk 1 , f )
k

( x x0 )lk 1 ( x , x1 , x2 , , xk , f ) ( A B ) ( x x j )
j 0

innd seama de relaia (1) rezult c:


k

( A B ) ( x x j ) 0adic A B
j 0

Vom nota n cele ce urmeaz:

A x0 , x1 , , xk f
numit diferen divizat de ordin k a funciei f pe nodurile
x0 , x1 , , xk .
Vom nlocui n formula (2) lk-1(x, x0,, xk-1, f) cu:
21

lk 1 ( x , x0 , , xk 1 , f ) lk 2 ( x , x1 , , xk 1 , f )
x0 , x1 , , xk 1 f

k 1

(x x )
j

j 1

iar n formula (5) lk-1(x, x1 ,, xk , f ) cu:


lk 1 ( x , x1 , , xk , f ) lk 2 ( x , x1 , , xk 1 , f ) x1 , x2 , , xk f

k 1

(x x )
l 1

i apoi scdem membru cu memebru cele dou relaii.


Obinem:

x0 , , xk 1 f

k 1

k 1

( x x ) x , , x ( x x )

x1 , , xk f

j 1

j 0

k 1

( x x ) x , , x ( x x ) 0
l 1

Putem scrie:
22

l 1

( x x ) x , , x
k 1
j 1

x0 , , xk f

x1 , , xk f

k 1 f

k 1

( x x ) x x
j

j0

x xn

relaie din care obinem:


x1 , x2 , , xk f x0 , x1 , , xk 1 f
x0 , x1 , , xk f
x x
k

(6)

Relaia (6) justific denumirea de diferen divizat. Se introduce i


noiunea de diferen divizat de ordinul 0:
xk f yk f ( xk ),

23

(7)

Diferenele divizate se pot obine folosind definiia direct (4) sau


folosind definiia recursiv (7), (6). Cele 2 definiii sunt echivalente:

Propoziie
k

x0 , x1 , , xk f
i 0

yi
k

(x
j 0
ji

xj)

yi

i 0 wn 1 ( xk ) '

pentru orice sistem de noduri x0 , x1 , , xk i orice k.


Demonstraie: Se face prin inducie. Pentru k=1 avem:
x1 f x0 f
y0
y1

x0 , x1 f
x0 x1 x1 x0
x1 x0

24

(8)

Presupunem c relaia (8) este valabil pentru orice k i pentru orice


sistem de noduri x0 , x1 , , xk . Pentru k+1 folosim relaia de
recuren i apoi aplicm ipoteza inductiv:
x1 , x1 , , xk 1 f x0 , x2 , , xk f

x0 , x1 , , xk 1 f
x k 1 x0
k 1

(
xk 1 x0 i 1

yi
k 1

( xi x j )
j 1
ji

25

i 0

yi
k

(x
j 0
ji

)
xj )

x k 1 x0

y0
k

(x
j 0
j 0

[
i 1

yi
k

(x
j 1
ji

k 1

y0

( x0 x j )

xj )

j0
j0

k 1

i 0

k 1

j 0
j k 1

yi

(x
j 0
ji

k 1

xj )

Inducia este complet.


26

xj )

yk 1
k 1

(x

j 1
j k 1

k 1

xj )

1
1
(

)]}
x i x k 1 x i x0

yk 1
( xk 1 x j )

i 1

k 1

yi

(x
j 0
ji

xj)

Din definiie se observ c diferena divizat x0 , x1 , , xk f nu


depinde de ordinea nodurilor x0 , x1 , , xk .
Vom nota n continuare cu lk(x) polinomul de interpolare Lagrange
pe nodurile x0 , x1 , , xk pentru funcia f. Avem:
ln ( x ) l0 ( x )l1 ( x ) l0 ( x )] lk ( x ) lk 1 ( x )] ln ( x ) ln1 ( x )]
y0 x0 , x1 f ( x x0 ) x0 , x1 , , xk f ( x x0 ) ( x xk 1 )
x0 , x1 , , xn f ( x x0 ) ( x xn1 )

Am obinut forma Newton a pol. de interpolare Lagrange:

ln ( x ) y0 x0 , x1 f ( x x0 ) x0 , x1 , x2 f ( x x0 )( x x1 )
x0 , x1 , , xn f ( x x0 ) ( x xn1 )
27

Schema lui Aitken de calcul a diferenelor divizate


Ne propunem s calculm diferenele divizate
x0 , x1 f , x0 , x1 , x2 f , , x0 , x1 , , xn f
necesare construirii polinomului de interpolare Lagrange n forma
Newton. Procedeul folosete definiia recursiv a diferenelor
divizate i se desfoar n n pai. La pasul 1 se calculeaz numai
diferene divizate de ordinul 1:
x0 , x1 f , x1 , x2 f ,, xn1 , xn f .
n general, la pasul k se calc. diferene divizate de ordin k:
x0 , x1 , , xk f , x1 , x2 , , xk 1 f ,, xn k , xn k 1 , , xn f .
La pasul n se calculeaz o singur diferen divizat de ordin n i
anume x0 , x1 , , xn f .

28

Pas1PaskPasn
x0 y0
x1 y1 x0 , x1 f
x2 y2 x1 , x2 f

xk yk xk 1 , xk f x0 , x1 , , xk f

xn1 yn1 xn 2 , xn1 f xn k 1 , , xn1 f


xn yn xn1 , xn f xn k , , xn1 f x0 , x1 , xn f

Notm dd[i,k]= xi , xi 1 , , xi k f diferena divizat de ordin k, pe


nodurile consecutive xi , xi 1 , , xi k i=0,,n-k, k=1,,n, cu
dd[i,0]=yi, i=0,,n. Schema lui Aitken se implementeaz astfel:
29

dd [i ,0] yi ,i 0, , n;
fork 1, , n
fori 0, , n k
dd [i 1, k 1] dd [i , k 1]
dd [i , k ]
xi k xi

Putem face aceleai calcule folosind un singur vector, de exemplu


rescriind vectorul y astfel:
fork 1, , n

fori n, , k
yi yi 1
yi
xi xi k

30

La finalul acestei secvene de program, vectorul y va conine


elementele:

y0 , x0 , x1 f , x0 , x1 , x2 f ,, x0 , x1 , , xn f
( yk x0 , x1 , , xk f , k=0,...,n).
Interpolare Newton pe noduri echidistante
Pp. c nodurile de interpolare sunt echidistante:

xi x0 i h , i 0,1,..., n
n relaia de mai sus fie se d h distana ntre 2 noduri succesive, fie
se precizeaz primul i ultimul nod, x0 i xn i h se calculeaz:
( x n x0 )
h
n
.
31

f ( x i 1 ) f ( x i ) yi 1 yi

xi , xi 1 f
( xi 1 xi )
h
Se introduce noiunea de diferen finit de ordinul 1:
f ( x ) f ( x h) f ( x )
Pornind de la aceast definiie se pot introduce i diferene finite de
ordin superior:
2 f ( x ) ( f ( x )) ( f ( x h) f ( x ))
f ( x 2 h ) 2 f ( x h) f ( x )
i n general se pot introduce recursiv diferenele finite de ordin k:

k f ( x ) ( k 1 f ( x )) k 1 f ( x h) k 1 f ( x ) .
Prin inducie dup k, se poate deduce formula de calcul a
diferenelor finite de ordin k folosind doar valorile funciei f:
k

k f ( x ) ( 1)k i C ki f ( x i h)
i 0

32

Observaie: Dac funcia f este polinom de grad m atunci f ( x )


este polinom de grad m-1, 2 f ( x ) este polinom de grad m-2,
.a.m.d. Prin urmare:
k f ( x ) 0 , pentru k m , f polinom de grad m .
Legtura ntre diferenele divizate i cele finite:

f ( xi 1 ) f ( xi ) f ( xi )

xi , xi 1 f
( xi 1 xi )
h
xi 1 , xi 2 f xi , xi 1 f 2 f ( x )
i

xi , xi 1 , xi 2 f
( xi 2 xi )
2h2

33

Prin inducie se poate arta urmtoarea legtur ntre diferenele


divizate de ordin k i cele finite:
k f ( xi )
.
xi , xi 1 , , xi k f
k
k !h

Polinoame de interpolare pe noduri echidistante


ln ( x ) y0 x0 , x1 f ( x x0 ) x0 , x1 , x2 f ( x x0 )( x x1 )
x0 , x1 ,..., xk f ( x x0 )( x x1 ) ( x xk 1 )
x0 , x1 ,..., xn f ( x x0 )( x x1 ) ( x xn1 )
Consider c punctul de interpolare este de forma:
x x0 t h
34

i nlocuim diferenele divizate cu diferene finite n forma Newton a


polinomului de interpolare:

( x x0 ) ( x xk 1 ) ( x0 t h x0 ) ( x0 t h x0 ( k 1)h)
hk t ( t 1) ( t k 1)

t ( t 1)

ln ( x ) ln ( x0 th) y0 f ( x0 )t f ( x0 )
2
t ( t 1) ( t k 1)
k
f ( x0 )

k!
t ( t 1) ( t n 1)
n
f ( x0 )
n!
Aceast relaie poart numele de formula lui Newton progresiv pe
noduri echidistante.
2

35

Considerm polinomul de interpolare Lagrange pe nodurile n ordine


invers { xn , xn1 ,..., x0 }:

ln ( x ) yn xn , xn1 f ( x xn ) xn , xn1 , xn 2 f ( x xn )( x xn1 )


xn , xn1 ,..., x0 f ( x xn )( x xn1 ) ( x x0 )
Dac punctul de interpolare este de forma:
x xn th
analog ca mai sus obine formula lui Newton regresiv pe noduri
echidistante:
t ( t 1)
2

ln ( x ) ln ( xn th) yn f ( xn1 )t f ( xn 2 )
2
t ( t 1) ( t k 1)
k
f ( xn k )

k!
t ( t 1) ( t n 1)
n
f ( x0 )
n!
36

Funcii spline
Fie nodurile:
cu

xi a , b ,i 0,1, , n,
a x0 x1 x2 xn1 xn b

Se consider funcia continu polinomial pe poriuni:

S ( x ) Pi ( x ) pentru x [ xi , xi 1 ] i 0,..., n 1
P0 ( x ), x [ x0 , x1 ],
P ( x ), x [ x , x ],
1
2
1
P2 ( x ), x [ x2 , x3 ],
S( x)

Pn 2 ( x ), x [ xn 2 , xn1 ],

Pn1 ( x ), x [ xn1 , xn ].
37

Pi(x), i=0,...,n sunt polinoame. O asemenea funcie poart numele


de funcie spline.
Funcii spline liniare continue
Definiie
Funcia S(x) definit mai sus se numete funcie spline liniar
continu dac polinoamele Pi x ,i 0, , n 1 sunt polinoame de
gradul 1 i S(x)C[a,b], adic:
lim S ( x ) lim S ( x )i 1, , n 1.

x xi
x xi

x xi
x xi

Fie funcia f :[ a , b] pentru care se cunosc valorile:


yi f xi ,i 0, , n .
38

Funcia spline liniar de interpolare S pentru funcia f ndeplinete


condiiile de interpolare:

S ( xi ) yi ,i 0, , n.
innd seam c polinoamele Pi(x) sunt polinoame de gradul 1 i
S(x) este continu vom avea condiiile:
Pi ( xi ) yi ,

Pi ( xi 1 ) yi 1 i 0, , n 1,
P ( x )polinom de gradul1.
i
Din aceste condiii rezult:
x xi
xi 1 x
Pi ( x )
yi 1
yi ,i 0, , n 1
xi 1 xi
xi 1 xi
S ( xk ) Pk 1 xk Pk xk yk ,k 1, , n 1,
S x0 P0 ( x0 ) y0 , S xn Pn1 xn yn .
39

Funcii spline cubice de clas C2


Se consider sistemul de noduri distincte din intervalul [a,b]:
{a x0 x1 xn1 xn b}
Funcia S(x) asociat divizrii D care ndeplinete condiiile :
S ( x ) C 2 [a , b],

polinoamele Pi ( x )au graduli 0, , n 1,


se numete funcie spline cubic.
Dat fiind o funcie f :[ a , b] cu valorile:
yi f xi , i 0, , n ,
se consider funcia spline cubic S(x) de interpolare ce satisface
S ( xi ) yi ,i 0, , n.
Pentru determinarea funciei spline cubice de interpolare observm
c polinoamele:
Pi ( x ) i x 3 i x 2 i x i , x [ xi , xi 1 ],i 0, , n 1,
40

implic determinarea a 4n necunoscute { i , i , i , i i 0, , n 1}


pentru care se impun:
n 1condiiidinrelaiiledeinterpolare S ( xi ) yi ,i 0, , n,

'
''
3(
n
1)
condi

ii
de
continuitate
pentru
S
(
x
),
S
(
x
)

i
S
( x )

nnodurile x ,i 1, , n 1,
i

n total 4n-2 condiii.


Se pot avea n vedere pentru adugarea a dou condiii
suplimentarea urmtoarele abordri :
fixarea pantelor n extremitile intervalului [a,b]. Se presupune
c funcia f este derivabil i se cunosc valorile f(a), f(b). Se
impun condiiile:
S ( x0 ) P0( x0 ) f (a ), S ( xn ) Pn1 ( xn ) f (b );
41

periodicitatea primelor dou derivate:


f ( a ) f (b ) ( S ( x0 ) P0( x0 ) Pn1 ( xn ) S ( xn ),
f (a ) f (b ) ( S ( x0 ) P0( x0 ) Pn1 ( xn ) S ( xn )) ;
anularea derivatei secunde n capetele intervalului:
f (a ) f (b ) 0

( S x0 P0 x0 0,S xn Pn1 xn 0).


Funciile spline care ndeplinesc aceste condiii se numesc funcii
spline cubice normale.
derivata de ordinul al treilea a funciei S este continu n
punctele x1 i xn-1 . Aceasta nseamn c polinoamele P0, P1
respectiv Pn-2, Pn-1 coincid. Acest tip de funcie spline se numete
not a knot i este utilizat n MATLAB.

42

Vom calcula n cele ce urmeaz funcia spline cubic n cazul n care


cunoatem suplimentar valorile primei derivate a funciei f n
capetele intervalului de interpolare:
d a f (a ), d b f (b ) .
Recapitulnd, vom avea urmtoarele condiii :
Pi ( xi ) yi ,i 0, , n 1, Pn1 ( xn ) yn interpolare,

Pi 1 ( xi ) Pi ( xi ),i 1, , n 1,continuitatea funciei S ,


Pi1 ( xi ) Pi( xi ),i 1, , n 1,continuitateaprimeiderivatei,
P ( x ) P ( x ),i 1, , n 1,continuitateaderivateisecunde,
i
i
i 1 i
P0( x0 ) d a f (a ), Pn1 ( xn ) d b f (b ).

Vom nota:

S ( xi ) ai ,i 0, n.
innd seama de faptul c funcia SC[a,b] este o funcie liniar
pe fiecare din intervalele [xi, xi+1] rezult c:
43

x xi
xi 1 x
S ( x )
ai 1
ai , x [ xi , xi 1 ],i 0, , n 1
hi
hi
hi xi 1 xi ,i 0, , n 1
iar din
S ( x ) S ( x )dx,S ( x ) S ( x )dx

rezult:

x xi

S( x)
6hi

ai 1

6hi

ai bi x ci ,

x [ xi , xi 1 ],bi , ci , i 0, n 1,

x xi

P ( x)
i

xi 1 x

6hi

ai 1

xi 1 x

6hi

ai bi x ci ,

bi , ci , i 0, n 1,
44

Vom calcula funcia spline pentru cazul:


S (a ) P0( x0 ) f (a d a ,
S (b ) Pn1 ( xn ) f (b d b

Impunnd condiiile de interpolare i de continuitate vom obine:


hi2
Pi ( xi ) ai bi xi ci yi ,
6
hi2
Pi ( xi 1 ) ai 1 bi xi 1 ci yi 1 i 0, n 1.
6
Din aceste relaii calculm bi ici nfunciedeai ,ai 1 , yi , yi 1 :
yi 1 yi hi
bi
ai 1 ai ,
6
hi
xi 1 yi xi yi 1 hi
ci
xi 1ai xi ai 1 ,i 0, n 1.
6
hi
45

Avem:
x x0

P ( x )
0

2h0

a1

x1 x

2h0

a0 b0

x x n 1
xn x

Pn1 ( x )
an
an1 bn1
2hn1
2hn1
2

Din condiia S (a ) P0( x0 ) d a avem


h0
2h0
h0
y1 y0
da
P0( x0 ) a0 b0
a0 a1
h0
2
6
6

y1 y0

da
2h0 a0 h0 a1 6
h0

Din condiia S (b ) Pn1 ( xn ) d b avem


46

(1)

hn1
hn1
hn1
yn yn 1
Pn1 ( xn )
an bn1
a n 1
an
db
2
6
6
hn1

yn yn 1
hn1 an1 hn1 an 6 d b

h
n 1

(2)

Din condiia de continuitate a primei derivate a funciei spline cubice


Pi1 ( xi ) Pi xi , i 1,..., n 1, innd seama de:
Pi1

x x i 1

( x)
2hi 1

x xi

P ( x )
i

2hi

ai

ai 1

xi x

2hi 1

ai 1 bi 1 ,

xi 1 x

2hi

ai bi ,

rezult, utiliznd formulele pentru bi-1 i bi deduse mai sus:


47

hi 1
yi yi 1 hi 1
Pi1 ( xi )
ai

a i a i 1
hi 1
2
6
hi
yi 1 yi hi
Pi( xi ) ai
ai 1 ai
hi
2
6

sau
yi 1 yi yi yi 1

( hi 1 hi ) ai hi ai 1 6
,i 1, , n 1.

hi 1
hi

Sistemul liniar format din ecuaiile (1), (3), (2) cu necunoscutele

a0 ,a1 , , an are forma:


Ha f ,cu H ( n1)( n1) , f n1

48

(3)

y1 y0

2h0 a0 h0 a1 6
da
h0

yi 1 yi yi yi 1

i 1, , n 1
( hi 1 hi )ai hi ai 1 6

hi 1
hi

y n yn 1
hn1 an1 hn1 an 6 d b

n 1

49

h0 0
00
0
0
2 h0

2(
h
h
)

0
0
0

0
0
1
1

0
h1 2( h1 h2 )h2 0
0
0
H

0000hn 2 2(hn 2 hn1 )hn1

2hn1
00000hn1

y1 y0

6 h da

y y y y

i
i 1
f 6 i 1
i
i 1, , n 1

hi 1
hi

y
y

n 1
6 db n

hn1

50

Matricea H are diagonala dominant att pe linii ct i pe coloane,


este simetric i pozitiv definit prin urmare putem utiliza metoda
Gauss-Seidel sau o metod de relaxare pentru rezolvarea sistemului
Ha=f.
Interpolare n sensul celor mai mici ptrate
x

x0

x1

x2

... xn-1

y0

y1

y2

... yn-1

xn
yn

f(xi) = yi , i=0,...,n
f(x) Sf (x; a0, a1, ..., am )
Sf (x; a0, a1, ..., am ) = amxm + am-1xm-1 + + a1x + a0
51

Coeficienii a0, a1, ..., am se gsesc rezolvnd problema de


minimizare n sensul celor mai mici ptrate:
n

min{ S f ( xr ; a0 , a1 ,..., am ) yr
r 0

; a0 , a1 ,..., am } (LSP)

g : m 1 ,

g (a0 , a1 ,..., am )
g ( a0 , a1 ,..., am )

a
r 0
n

S
r 0

( xr ; a0 , a1 ,..., am ) yr

x ak x a1 xr a0 yr
m
r

k
r

g
(a0 , a1 ,..., am ) 2 am xrm ak xrk a1 xr a0 yr xrk
a k
r 0

Soluia problemei de minimizare a problemei (LSP) este obinut


rezolvnd sistemul de ecuaii liniare, de dimensiune (m+1):
52

g
(a0 , a1 ,..., am ) 0 , k 0,1,..., m
a k
n

r 0

am xrm ak xrk a1 xr a0 xrk

a0 x a1 x
r 0

k
r

r 0

k 1
r

a m 1 x
r 0

k m 1
r

k
y
x
r r , k 0,..., m
r 0
n

am x
r 0

km
r

yr xrk ,
r 0

k 0,..., m
Constantele { a0, a1, ..., am } sunt soluia sistemului liniar:
Ba z ,
B ( m 1)( m 1) , B (bkj )km, j 0 , z ( m 1) z ( zk )km 0
n

bkj xrk j ,
r 0

zk yr xrk ,
r 0

53

k , j 0,..., m

S-ar putea să vă placă și