Extras din proiect
Interpolare cu funcţii spline de clasă C2 tensionate
În numeroase domenii ale ştiinţei apar situaţii în care este necesară cunoaşterea comportamentului unei funcţii pentru care sunt cunoscute doar valorile într-un număr finit de puncte. Pentru a modela graficul funcţiei putem folosi diferite metode de interpolare. Interpolarea este un procedeu prin care pot fi obţinute noi puncte ale unei funcţii pornind de la un număr finit de noduri (puncte cunoscute ce aparţin graficului real al funcţiei). Mulţimea nodurilor se mai numeşte şi suportul interpolării.
Interpolarea cu funcţii spline utilizează pentru modelarea graficului funcţiei polinoame de grad mic definite pe intervale mărginite de puncte consecutive de pe suport. Aceste polinoame sunt alese astfel încat funcţia rezultată in urma reuniunii intervalelor sa fie cel puţin continuă. Această funcţie este cunoscută sub numele de ‘spline’.
Funcţiile spline cubice de clasă C2 sunt continue si dublu derivabile.
Pentru suportul de interpolare format din punctele : x0<x1<…<xn , cărora le corespund valorile cunoscute f(x0), f(x1), …, f(xn) putem obtine un spline de clasă C2 reunind polinoamele de tip si : [xi, xi+1] -> R, si(x)=ai+bi(x-xi)+ci(x-xi)2+di(x-xi)3,i=0:n-1.
Pentru determinarea celor 4n coeficienti ai,bi,ci,di, i=0:n-1 sunt necesare 4n ecuatii.
Putem obţine n+1 ecuaţii din condiţiile de interpolare :
Spline-ul este de clasă C2, ceea ce înseamna că atat funcţia, cât si prima si a doua derivată sunt continue. Introducem condiţiile de continuitate, numite in cazul spline-urilor condiţii de racordare :
După impunerea condiţiilor de interpolare şi a celor de racordare avem 4n-2 ecuaţii. Încă 2 ecuaţii pot fi obţinute din condiţii suplimentare. În funcţie de acestea distingem funcţiile spline naturale şi funcţiile spline tensionate.
Condiţiile pentru spline-urile naturale sunt:
Spline-urile tensionate trebuie sa satisfacă aceste condiţii suplimentare :
În continuare ne vom ocupa de determinarea coeficienţilor unei funcţii spline cubice de clasă C2 tensionate.
Din condiţiile de interpolare obţinem :
ai=f(xi), i=0:n-1
an= an-1+bn-1(xn-xn-1)+cn-1(xn-xn-1)2+dn-1(xn-xn-1)3 , unde f(xn)=an.
Procedând în mod asemănator obţinem din condiţiile de racordare următoarele ecuaţii :
ai+1=ai+bi(xi+1-xi)+ci(xi+1-xi)2+di(xi+1-xi)3 ,i=0:n-2
bi+1=bi+2ci(xi+1-xi)+3di(xi+1-xi)2 , i=0:n-2
ci+1=ci+3di(xi+1-xi) , i=0:n-2
Se notează hi=xi+1-xi. Prelucrand ecuaţiile de mai sus obţinem :
ai=f(xi), i=0:n-1
di=(ci+1-ci)/3hi , i=0:n-1
bi=(ai-ai-1)/hi-1 + (ci-1+2ci)hi-1/3 , i=1:n-1
hi-1ci-1 + 2(hi-1+hi)ci + hici+1=3(ai+1-ai)/hi - 3(ai-ai-1)/hi-1 , i=1:n-1
Cele două condiţii suplimentare pentru spline-uri tensionate devin :
b0=f’(x1)
bn-1+cn-1hn-1+3dn-1h2n-1=f’(xn)
Condiţiile formulate mai sus conduc la un sistem tridiagonal de forma :
Sistemul tridiagonal poate fi rezolvat cu algoritul lui Thomas.
Considerând sistemul Ax=d , unde A este o matrice tridiagonală de forma :
avem următorul algoritm de rezolvare a unui sistem tridiagonal, cunoscut şi cu denumirea de algoritmul lui Thomas:
b’1=b1
d’1=d1
Preview document
Conținut arhivă zip
- Interpolare cu Functii Spline de Clasa C2 Tensionate.doc