![]() | Biologie | Chimie | Didactica | Fizica | Geografie | Informatica |
Istorie | Literatura | Matematica | Psihologie |
Functii spline
Functiile spline sunt functii care au anumite proprietati de continuitate derivabilitate astfel incat, asa cum se si numesc , curba care trece prin punctele de definitie este o curba neteda (are o variatie minima a pantei).
Functiile spline de ordin m sunt polinoame de grad m pe orice interval (si sunt notate
de obicei
). Aceste functii spline sunt de clasa
si derivata de
ordin m este discontinua in
nodurile
. Daca
sunt polinoame de
gradul trei atunci functia definita de:
(1)
se numeste functie spline cubica. Coeficientii
se pot determina din
conditiile de continuitate si de interpolare in punctele diviziunii:
(2)
Impunand si conditiile de continuitate pentru derivatele functiilor spline cubice se determina:
(3)
unde si
derivata de ordin doi
calculata in punctul
. Derivatele de ordinul 2 se calculeaza prin impunerea
conditiei de continuitate a primei derivate pentru
in capetele
intervalului:
(4)
si se
obtine un sistem de ecuatii liniare in :
(5)
unde
coeficientii sunt dati de
relatiile:
(6)
Se observa ca pentru
calculul coeficientilor si
trebuie sa se
cunoasca derivatele
si
in
extremitatile intervalului de tabelare. De cele mai multe ori nu exista informatii cu privire la
aceste derivate si se foloseste intrepolarea Lagrange de unde:
(7)
(8)
In algoritmul de interpolare cu functii spline trebuie sa se afle valorile derivatelor de ordin 2 din sistemul de ecuatii (5) pe baza coeficientilor din relatiile (6) si mai apoi coeficientii interpolantului spline conform (3).
INTERPOLAREA CU FUNCTII SPLINE
Cuvantul 'spline' inseamna o rigla elastica de care daca se agata greutati poate fi facuta sa treaca prin diferite puncte dorite, cuprinse intre capetele riglei.
Consideram data o functie tabelata, reprezentata in tabelul 1.
Tabelul 1
|
|
|
|
---- |
|
|
|
|
|
---- |
|
Consideram si
,
fiind intervalul de
definitie a functiei
, iar abscisele x1,x2,,xn o diviziune D a intervalului de definitie. Valorile
functiei sunt
,
(1)
Definitia 1. Se numeste functie spline de ordinul n relativ la diviziunea D
a intervalului o functie S:
R de clasa Cm-1
ale carei restrictii Si(x) pe fiecare interval
al diviziunii sunt
polinoame de ordinul m, adica:
daca
, i =1,2,,(n-1) (2)
Functia S(x)
este neteda pe portiuni deoarece are primele (m-1) derivate continue pe , iar derivata de ordinul m
este discontinua in
, i =1,2,,n. Gradul de netezire al functiei
este m. Restrictiile
functiei sunt polinoamele:
Si(x)=Aixm + Bixm-1 + Cixm-2 + Eixm-3 + +Ri (3)
daca, , i =1,2,,(n-1)
Aceste functii sunt derivabile pana la (n-1) si sunt continue impreuna
cu derivatele. Derivata de ordinul (n-1)
si a lui Si(x) pe
intervalul este o functie
liniara si trece prin punctele
si
unde,
i =1,2,,n.
Rezulta ecuatia liniara:
(4)
unde hi=xi+1-xi , i =1,2,,(n-1)
Integrand de m-1 ori relatia ( ) se obtine:
(5)
(6)
(7)
(8)
Pentru intreg intervalul rezulta un sistem
liniar punand conditia ca Si(xi)=yi
, i=1,2,..,n si continuitatea celor (m-1)
ecuatii in toate punctele xi
. In extremele
si
se scrie polinomul lui Lagrange, il
derivam pana la m-1 si
aflam corespunzator valorile derivatelor in
si
. Rezulta necunoscutele:
Di , Di+1 , C1i ,, Cm-1,i pentru fiecare interval. In acest caz sunt n+(m-1)+ (n-1) necunoscute si n+(m-1)+(n-1) ecuatii. Sistemul fiind liniar se rezolva cu una din metodele din lucrarea 3.
In lucrare se considera restrictiile Si polinoame de gradul 3.
In acest caz:
Si(x)=Aix3 + Bix2 + Cix + Ei (9)
(10)
Din si
rezulta:
Din identificarea relatiilor (9) si (10) rezulta :
;
(11)
(12)
Din continuitatea primei derivate in punctul ,
rezulta:
(13)
Considerand
derivata de ordinul intai in punctul si
egale cu:
(14)
respectiv
(15)
rezulta sistemul tridiagonal in Di
(16)
unde y1 si yn sunt date de expresiile (14), respectiv (15) .
Din
sistemul (16) rezulta valorile lui Di
, i =1,2,,n. Din (11) rezulta
coeficientii restrictiilor pe fiecare interval, restrictii care
aproximeaza functia data. Daca se da in care trebuie
calculata functia, se stabileste intervalul in care se
gaseste
si se
calculeaza valoarea restrictiei functiei pe acest interval in
punctul
.
VILIGA NICOLETA
Functii spline cubice de clasa C
Se considera sistemul de noduri
distincte in intervalul :
Functia S(x)
asociata divizarii care indeplineste
conditiile:
Polinoamele au gradul 3, i = 0,
, n-1, se numeste functie spline cubica.
Data fiind o
functie se considera
functia spline cubica S(x) de interpolare ce satisface
Pentru determinarea functiei spline cubice de interpolare obsevam ca polinoamele:
implica
determinarea a 4n necunoscute
pentru care se impun:
n+1 conditii
din relatiile de interpolare .
3(n-1)
conditii de continuitate pentru in nodurile
in total 4(n-2)
conditii.
Se poate avea in vedere pentru adaugarea adoua conditii suplimentare urmatoarele abordari:
Functiile spline care indeplinesc aceste conditii se numesc functii spline cubice normale.
Aceasta
inseamna ca polinoamele coincid. Acest
tip de spline se numeste ,,
not-a-knot,, si este utilizat in MATLAB.
Ne vom ocupa in continuare de determinarea functiei spline de interpolare in cazul in care sunt cunoscute valorile derivatei functiei f(x) in a si b.
Recapituland viom avea urmatoarele conditii:
Vom nota
Tinand seama de faptul ca
functia este o functie
liniara pe fiecare din intervalele
rezultand ca,
notand cu
vom avea:
iar din rezulta:
Impunand conditiile de interpolare si de continuitate vom obtine:
Din aceste
relatii determinam in functie de
Din conditia:
tinand seama de
rezulta
(1)
Din conditia de continuitate a primei derivate a functiei spline cubice
tinand seama de:
Rezulta, utilizand valorile pentru deduse mai sus:
sau
(2)
In final din conditia:
obtinem:
(3)
Sistemul liniar
(1), (2), (3) cu necunoscutele are forma:
Obervand ca matricea H este diagonal
dominanta atat pe linii cat si
pe coloane rezulta ca putem utiliza metoda Gauss-Seidel pentru
rezolvarea sistemului
Tinand seama ca matricea H este simetrica si pozitiv definita rezulta de asemenea si convergenta metodei relaxarii.
In cazul functiei
spline naturale avem iar pentru
determinarea valorilor
intervin numai
conditiile (2).
Sistemul liniar pentru aceste valori are forma:
In care matricea se obtine din
matricea H din care se suprima prima si ultima linie respective prima
si ultima coloana, iar
se obtine din
vectorul f eliminand primul si
ultimul element. Matricea
are aceleasi
proprietati ca si matricea H.
IOJIBAN CRISTINA
Interpolare cu functii spline
Curbele pot fi reprezentate in plan:
ecuatii explicite:De
exemplu y =
si y =
reprezinta
un cerc cu centrul in origine,de raza r
ecuatii implicite:
ecuatii parametrice: x(t)= r
cos t si y(t) = r sin t
Reprezentarea prin ecuatii explicite,de forma y = f (x) si nici ecuatiile implicite nu asigura reprezentarea curbelor avand mai multe valori intr-un punct (nu sunt functii).
f (p) = f (x,y) =0 nu trateaza corect tangentele verticale la curba.
Forma parametrica :
p(t) =
este mult mai flexibila
permite reprezentarea de curbe care nu
sunt functii (au mai multe valori intr-un punct)
este independenta de coordonate
Specificarea unei curbe se face prin:
puncte de control
-multime de puncte care influenteaza forma curbei
noduri - puncte de
control care se afla pe curba
Un spline este o curba parametrica definita prin puncte de control.
Un spline este o functie S :[a, b]
R,definita local pe mai multe intervale prin
S
(t) =(t) ,
S (t) =(t) ,
S
(t) =(t) ,
Functiile
sunt de regula polinoame de grad 3
Nodurile
se aleg de obicei echidistante, definind un spline
uniform
Daca in vecinatatea nodurilor
,S
atunci spline-ul are netezimea
.
(adica spline-urile au aceleasi
derivate de ordin 0 pana la
)
Splineul de grad 0 este splineul
treapta,cel de ordin 1 este spline liniar si coincide cu poligonul punctelor de
control.
Un spline utilizat - spline-ul
cubic natural are gradul 3 si continuitate
.In plus,la capete : s" (a) = s" (b) = 0.
Splineurile de grad n
utilizate in analiza numerica au continuitate S (t)
[a,b]
Splineurile utilizate in Adobe
si PostScript au continuitatea S (t)
Pentru asigurarea continuitatii
,functiile spline trebuie sa aiba cel putin gradul 3
Functiile spline pot fi :
functii spline de interpolare -
care trec prin toate punctele de control
functii spline de aproximare -
care nu trec prin toate punctele de control
Functii
spline de interpolare in clasa .
Vom alege polinoame de interpoale
de grad mic,valabile pe subintervale
f (
si vom considera functii de interpolare liniare,locale pe subintervalele
si vom considera functii de interpolare liniare, locale pe subintervale
[
in care cei 2n parametri se determina din conditiile de interpolare:
si a conditiilor de racordare (continuitate in punctele interioare ):
i =0 : n-2
Interpolarea liniara prezinta dezavantajul discontinuitatii derivatelor in punctele interioare.
i = 0 :n -1
Prin alegerea unor functii de interpolare de gradul 3 se poate realiza o interpolare Hermite, care presupune si fixarea valorii derivatelor pe suportul interpolarii :
f ' ( (
O functie spline cubica se exprima sub forma :
sau parametric
in care s-a notat si s-a efectuau schimbarea de variabila:
Baza Bernstein:
reduce volumul de calcule necesar determinarii coeficientilor.
Avem 2n+2 conditii de interpolare de tip Hermite:
si 2n-n conditii de racodare(continuitate si derivabilitate in punctele interioare):
Eroarea interpolarii pentru
functiile spline in clasa este:
E(x)=
E(x)=
E(x)
Functii
spline de interpolare in clasa
Consideram numai n+1 conditii de interpolare de tip Lagrange:
rezulta:
Dispunem de mai multe grade de libertate pentru conditiile de racordare:continuitatea valorilor si a derivatelor de ordinul 1 si 2 in punctele interioare
i = 0 : n - 2
i = 0 : n - 2
Pe care o prelungim cu i = 0 : n - 1,introducand notatia
s-au obtinut astfel 4n-2 relatii , mai putem impune 2 conditii suplimentare
care definesc functiile spline naturale
pentru functii spline tensionate.
+
Functii spline de aproximare Hermite
Spline-ul Hermite este un spline cubic, deci impune 4 grade de libertate:
;
.
Vom impune ca restrictii valorile la capete si valorile derivatelor la capete
Definim vectorul de control:
p(0)=d
p(1)=a+b+c+d
In graficul functiei componentele vectorului de control apar ponderate cu functiile de imbinare(blending functions):
Spline cardinale.
Sunt spline Hermite, care nu folosesc derivate, care sunt inlocuite prin diferentele:
p(0)=
p(1)=
p
p'(1)=
p(t)=T(t)
p(t)=
p(t)=
Spline Catmull-Rom.
Sunt spline cardinale cu a=0.5 =0.5
Spline-ul Catmull-Rom are proprietatile
trece prin toate punctele de control (spline de interpolare)
este
continuu
Spline Kochanek-Bartels
Sunt spline Hermite,folosite de 3d-Studio Max cu control mai bun asupra animatiei.
Calculul tangentelor se face cu relatiile:
Copyright © 2025 - Toate drepturile rezervate