Interpolarea prin spline cubice este un exemplu de soluție. Teoria spline exemple de soluții. Selectarea formulelor empirice

Să fie dat tabelul cu valorile funcției y euîn noduri X 0 < х 1 < ... < х п .Denota h i \u003d x i - x i -1 , i= 1, 2, ... , P.

Splina este o curbă netedă care trece prin puncte date ( x i, y eu), i = 0, 1, ... , P. Interpolare spline constă în faptul că pe fiecare segment [ x i -1 , x i]se folosește un polinom de un anumit grad. Polinomul cel mai des folosit este de gradul al treilea, mai rar de al doilea sau al patrulea. În acest caz, pentru determinarea coeficienților polinoamelor se folosesc condițiile de continuitate a derivatelor la nodurile de interpolare.

Interpolare prin spline cubice reprezintă o interpolare locală, când pe fiecare segment [ x i -1 , x i], i = 1, 2, ... , P se folosește o curbă cubică care satisface anumite condiții de netezime, și anume, continuitatea funcției în sine și derivatele sale prima și a doua la punctele nodale. Utilizarea funcției cubice este cauzată de următoarele considerații. Dacă presupunem că curba de interpolare corespunde unei rigle elastice fixate în puncte ( x i, y eu), apoi din cursul rezistenței materialelor se știe că această curbă este definită ca soluție ecuație diferențială f(iv) ( X) = 0 pe segmentul [ x i -1 , x i] (pentru simplitatea prezentării, nu luăm în considerare problemele legate de dimensiunile fizice). Soluția generală a unei astfel de ecuații este un polinom de gradul 3 cu coeficienți arbitrari, care se scrie convenabil ca
Si(X) = un i + b i(X - x i -1) +cu i(X - x i -1) 2 + d i(X - x i -1) 3 ,
x i-1 £ X £ x i, i = 1, 2, ... , P.(4.32)

Coeficienți de funcție Si(X) sunt determinate din condițiile de continuitate a funcției și derivatele sale prima și a doua la nodurile interne x i,i= 1, 2,..., P - 1.

Din formulele (4.32) cu X = x i-1 primim

Si(x i- 1) = y eu -1 = un i, i = 1, 2,..., P,(4.33)

iar la X = x i

Si(x i) = un i + b i h i +cu i h i 2 + d i h i 3 ,(4.34)

i= 1, 2,..., n.

Condițiile de continuitate pentru funcția de interpolare sunt scrise ca Si(x i) = Si -1 (x i), i= 1, 2, ... , n- 1 și din condițiile (4.33) și (4.34) rezultă că acestea sunt fezabile.

Să găsim derivate ale funcțiilor Si(X):

S" i(X) =b i + 2cu i(X - x i -1) + 3di(Xx i -1) 2 ,

S" i(X) = 2c i + 6d i(x - x i -1).

La X = x i-1, avem S" i(x i -1) = b i, S" (x i -1) = 2cu i, și atunci când X = x i primim

S" i(x i) = b i+ 2cu i h i+ 3dih eu 2 , S" (x i) = 2cu i + 6d i h i.

Condițiile de continuitate pentru derivate conduc la ecuații

S" i(x i) =Si +1 (x i) Þ b i+ 2cu i h i+ 3dih eu 2 = b i +1 ,

i= l, 2,... , P - 1. (4.35)

S" i (x i) = S" i +1 (x i) Þ 2 cu i + 6d i h i= 2c i +1 ,

i=l, 2,..., n- 1. (4.36)

În total avem 4 n– 2 ecuații pentru a determina 4 n necunoscut. Pentru a obține încă două ecuații, se folosesc condiții la limită suplimentare, de exemplu, cerința curburii zero a curbei de interpolare la punctele de capăt, adică egalitatea derivatei a doua la zero la capetele segmentului [ A, b]A = X 0 , b= x n:

S" 1 (X 0) = 2c 1 = 0 Cu 1 = 0,

S"n(x n) = 2cu n + 6d n h n = 0 Þ cu n + 3d n h n = 0. (4.37)

Sistemul de ecuații (4.33)–(4.37) poate fi simplificat și se pot obține formule recursive pentru calcularea coeficienților spline.

Din condiția (4.33) avem formule explicite pentru calcularea coeficienților un i:

un i = y eu -1 , i= 1,..., n. (4.38)

Expres d i prin c i folosind (4.36), (4.37):

; i = 1, 2,...,n; .

Sa punem cu n+1 = 0, atunci pentru d i obținem o singură formulă:

, i = 1, 2,...,n. (4.39)

Inlocuim expresii pentru un iȘi d iîn egalitate (4.34):

, i= 1, 2,..., n.

si exprima b i, prin cu i:

, i= 1, 2,..., n. (4.40)

Să excludem din ecuațiile (4.35) coeficienții b iȘi d i folosind (4.39) și (4.40):

i= 1, 2,..., n -1.

De aici obținem un sistem de ecuații de determinare cu i:

Sistemul de ecuații (4.41) poate fi rescris ca

Aici am introdus notația

, i =1, 2,..., n- 1.

Rezolvăm sistemul de ecuații (4.42) prin metoda balarii. Din prima ecuație pe care o exprimăm Cu 2 prin Cu 3:

c 2 = a2 c 3 + b2 , , . (4,43)

Inlocuim (4.43) in a doua ecuatie (4.42):

h 2 (a 2 c 3 + b 2) + 2( h 2 + h 3)c 3 +h 3 c 4 = g 2 ,

si exprima Cu 3 prin Cu 4:

Cu 3 = a 3 Cu 4 + b 3 , (4,44)

Asumand cu i-1 = a i -1 c i+b i-1 din i ecuația (4.42) obținem

c i= a eu cu eu+1+b i

, i = 3,..., n– 1, a n= 0, (4,45) c n +1 = 0,

c i= a eu cu eu+1+b i, i= n, n -1,..., 2, (4.48)

c 1 = 0.

3. Calculul coeficienților un i, b i,d i:

un i = y eu -1 ,

i= 1, 2,..., n.

4. Calculul valorii funcției folosind o spline. Pentru a face acest lucru, găsiți o astfel de valoare i că valoarea dată a variabilei X aparține segmentului [ x i -1 , x i] și calculați

Si(X) = un i + b i(X - x i -1) +cu i(X - x i -1) 2 + d i(X - x i -1) 3 . (4.50)

Formule de interpolare ale lui Lagrange, Newton și Stirling, etc. atunci când se utilizează un număr mare de noduri de interpolare pe întregul segment [ A, b] conduc adesea la o aproximare slabă din cauza acumulării de erori în procesul de calcul. În plus, din cauza divergenței procesului de interpolare, creșterea numărului de noduri nu duce neapărat la o creștere a preciziei. Pentru a reduce erorile, întregul segment [ A, b] se împarte în segmente parțiale și pe fiecare dintre ele funcția este înlocuită cu un polinom aproximativ de grad scăzut. Se numeste interpolare polinomială pe bucăți.

Una dintre metodele de interpolare pe întregul segment [ A, b] este interpolare spline.

Splina se numeste functie polinomiala pe bucati definita pe intervalul [ A, b] și având un anumit număr de derivate continue pe acest segment. Avantajele interpolării spline față de metodele convenționale de interpolare sunt în convergența și stabilitatea procesului de calcul.

Luați în considerare unul dintre cele mai frecvente cazuri în practică - interpolarea funcției spline cubică.
Fie pe intervalul [ A, b] este o funcție continuă. Să introducem o partiție a segmentului:

și notează, .

O spline corespunzătoare unei anumite funcții și nodurilor de interpolare (6) este o funcție care îndeplinește următoarele condiții:

1) pe fiecare segment, funcția este un polinom cubic;

2) funcția , precum și derivatele sale prima și a doua sunt continue pe segmentul [ A, b] ;

A treia condiție este numită condiția de interpolare. Se numește o spline definită de condițiile 1) - 3). interpolarea spline cubice.

Luați în considerare o metodă pentru construirea unei spline cubice.

Pe fiecare dintre segmente, vom căuta o funcție spline sub forma unui polinom de gradul trei:

(7)

Unde coeficienții doriti.

Diferențiem (7) de trei ori în raport cu X:

de unde rezultă

Din condiția de interpolare 3) obținem:

Rezultă din condiţiile de continuitate ale funcţiei.









































Curbele și suprafețele întâlnite în problemele practice sunt adesea destul de formă complexă , care nu permite o definiție analitică universală în ansamblu cu ajutorul funcțiilor elementare. Prin urmare, ele sunt asamblate din fragmente netede relativ simple - segmente (curbe) sau tăieturi (suprafețe), fiecare dintre acestea putând fi descrisă destul de satisfăcător folosind funcții elementare ale uneia sau două variabile. În acest caz, este destul de natural să se ceară ca funcțiile netede care sunt utilizate pentru a construi curbe sau suprafețe parțiale să aibă o natură similară, de exemplu, să fie polinoame de același grad. Și pentru ca curba sau suprafața rezultată să fie suficient de netedă, este necesar să fiți deosebit de atenți la joncțiunile fragmentelor corespunzătoare. Gradul polinoamelor este ales din considerente geometrice simple și, de regulă, este mic. Pentru o schimbare lină a tangentei de-a lungul întregii curbe compuse, este suficient să descriem curbele de unire folosind polinoame de gradul trei, polinoame cubice. Coeficienții unor astfel de polinoame pot fi întotdeauna aleși astfel încât curbura curbei compuse corespunzătoare să fie continuă. Splinele cubice care apar în rezolvarea problemelor unidimensionale pot fi adaptate la modelarea fragmentelor de suprafețe compuse. Și aici, în mod firesc, apar spline bicubice, descrise prin polinoame de gradul trei în fiecare dintre cele două variabile. Lucrul cu astfel de spline necesită mult mai multe calcule. Dar un proces organizat corespunzător va permite luarea în considerare la maximum a capacităţilor în continuă creştere ale tehnologiei informatice. Funcții spline Lăsați pe segmentul , adică Observație. Indicele (t) al numerelor a^ indică faptul că. că mulţimea de coeficienţi prin care se determină funcţia S(x) pe fiecare segment parţial D este proprie. Pe fiecare dintre segmentele D1, spline 5(x) este un polinom de gradul p și este determinată pe acest segment de p + 1 coeficient. Segmente parțiale totale - atunci. Prin urmare, pentru a determina complet spline, este necesar să găsim (p + 1) apoi numere. Condiție) înseamnă continuitatea funcției S(x) și a derivatelor ei la toate nodurile grilei interne w. Numărul de astfel de noduri este m - 1. Astfel, pentru a găsi coeficienții tuturor polinoamelor, se obțin condiții (ecuații) p(m - 1). Pentru o definire completă a splinei, nu sunt suficiente (condiții (ecuații). Alegerea condițiilor suplimentare este determinată de natura problemei luate în considerare și, uneori, pur și simplu de dorința utilizatorului. TEORIA SPLINEI exemple de soluții pe un plan În problemele de interpolare, se cere ca graficul spline să treacă prin puncte, ceea ce impune m + 1 condiţii suplimentare (ecuaţii) coeficienţilor săi. Condițiile p - 1 rămase (ecuațiile) pentru construcția unică a unei spline sunt cel mai adesea stabilite sub formă de valori ale derivatelor inferioare ale splinei la capetele segmentului luat în considerare [a, 6] - limită ( Condiții de frontieră. Abilitatea de a selecta diferite condiții de limită vă permite să construiți spline cu o varietate de proprietăți. În problemele de netezire, o spline este construită astfel încât graficul său să treacă în apropierea punctelor (i "" Y "), * = 0, 1, ..., m și nu prin ele. Măsura acestei apropieri poate fi definită în moduri diferite, ceea ce duce la o varietate semnificativă de spline de netezire. Opțiunile descrise pentru alegere la construirea funcțiilor spline sunt departe de a le epuiza diversitatea. Și dacă inițial au fost luate în considerare doar funcțiile spline polinomiale pe bucăți, atunci pe măsură ce s-a extins aplicațiile lor, au început să apară spline, „lipite” și de alte funcții elementare. Spline cubice de interpolare Enunţul problemei de interpolare Fie dat grila w pe intervalul [a, 6) Să considerăm o mulţime de numere Problemă. Construiți o funcție care este netedă pe segment (a, 6] și preia valorile date la nodurile grilei o, adică impunând funcției construite termeni suplimentari , este posibil să se realizeze lipsa de ambiguitate necesară. În aplicații, adesea devine necesar să se aproximeze o funcție dată analitic de o funcție cu proprietăți prescrise suficient de bune. De exemplu, în acele cazuri când calculul valorilor unei anumite funcții f(x) în punctele segmentului [a, 6] este asociat cu dificultăți semnificative și/sau funcția dată f(x) nu are netezimea necesară, este convenabil să folosiți o altă funcție care se aproximează suficient de bine ar fi o funcție dată și să fie lipsită de deficiențele ei remarcate. Problemă de interpolare a funcției. Construiți pe intervalul [a, 6] o funcție netedă a(x) care coincide la nodurile grilei w cu funcția dată f(x). Definiția unei spline cubice de interpolare O spline cubică de interpolare S(x) pe o plasă w este o funcție care 1) pe fiecare dintre segmente este un polinom de gradul al treilea, 2) este de două ori diferențiabilă continuu pe segmentul [a, b ], adică aparține clasei C2[ a, 6] și 3) îndeplinește condițiile Pe fiecare dintre segmente, spline S(x) este un polinom de gradul trei și este determinată pe acest segment de patru coeficienți. Numărul total de segmente este m. Aceasta înseamnă că pentru a determina complet spline este necesar să se găsească numere de 4m. Condiția înseamnă continuitatea funcției S (x) și a derivatelor ei S "(x) și 5" (x) la toate nodurile grilei interne w. Numărul de astfel de noduri este m - 1. Astfel, pentru a găsi coeficienții tuturor polinoamelor, se obțin 3 (m - 1) mai multe condiții (ecuații). Împreună cu condițiile (2), se obțin condiții (ecuații). Condiții de limită (limită) Două condiții lipsă sunt specificate ca restricții asupra valorilor spline-ului și/sau derivatelor sale la sfârșitul intervalului [a, 6]. La construirea unei spline cubice de interpolare, condițiile la limită ale următoarelor patru tipuri sunt cel mai des utilizate. A. Condiții la limită de tipul I. - la sfârșitul intervalului [a, b], sunt date valorile primei derivate a funcției dorite. B. Condiții la limită de al 2-lea tip. - la sfârșitul intervalului (a, 6) sunt setate valorile derivatei a doua a funcției dorite. B. Condiții la limită de al treilea tip. sunt numite periodice. Este firesc să se ceară îndeplinirea acestor condiții în cazurile în care funcția interpolată este periodică cu perioada T = b-a. D. Condiții la limită de al 4-lea tip. necesită un comentariu special. Un comentariu. La nodurile sepsi interne, derivata a treia a funcției S(x) este, în general, discontinuă. Cu toate acestea, numărul de discontinuități ale derivatei a treia poate fi redus prin utilizarea condițiilor de al patrulea tip. În acest caz, spline construită va fi diferențiabilă continuu de trei ori pe intervale Construcția unei spline cubice interpolatoare Să descriem o metodă de calcul a coeficienților unei spline cubice, în care numărul de mărimi de determinat este egal. Pe fiecare dintre intervale, funcția spline de interpolare este căutată în forma următoare ecuații algebrice , a cărui formă depinde de tipul condițiilor la limită. Pentru condițiile la limită de tipul 1 și 2, acest sistem are următoarea formă în care coeficienții depind de alegerea condițiilor la limită. Condiții la limită de tipul I: Condiții la limită de tipul II: În cazul condițiilor la limită de tipul III, sistemul de determinare a numerelor se scrie după cum urmează. Pentru condițiile la limită de al 4-lea tip, sistemul de determinare a numerelor are forma Matricele tuturor celor trei sisteme algebrice liniare sunt matrici cu dominanță diagonală. Aceste matrici nu sunt degenerate și, prin urmare, fiecare dintre aceste sisteme are o soluție unică. Teorema. O spline cubică de interpolare care îndeplinește condițiile (2) și o condiție de limită a unuia dintre cele patru tipuri enumerate există și este unică. Astfel, a construi o spline cubică de interpolare înseamnă a-i găsi coeficienții.Când se găsesc coeficienții splinei, valoarea splinei S(x) într-un punct arbitrar al segmentului [a, b] poate fi găsită folosind formula ( 3). Cu toate acestea, pentru calcule practice, următorul algoritm pentru găsirea mărimii S(x) este mai potrivit. Fie x 6 [x”, În primul rând, valorile A și B sunt calculate conform formulelor și apoi se găsește valoarea 5(x): Utilizarea acestui algoritm reduce semnificativ costurile de calcul pentru determinarea valorii. utilizator Alegerea condițiilor de limită (limită) și a nodurilor de interpolare permite într-o anumită măsură controlul proprietăților splinelor de interpolare. A. Alegerea condițiilor limită (limită). Alegerea condițiilor la limită este una dintre problemele centrale în interpolarea funcțiilor. Ea capătă o importanță deosebită în cazul în care este necesar să se asigure o precizie ridicată a aproximării funcției f(x) prin spline 5(g) lângă capetele segmentului [a, 6]. Valorile limită au un efect vizibil asupra comportamentului splinei 5(g) în apropierea punctelor a și b, iar acest efect slăbește rapid pe măsură ce ne îndepărtăm de ele. Alegerea condițiilor la limită este adesea determinată de disponibilitatea informațiilor suplimentare despre comportamentul funcției f(x) care este aproximată. Dacă valorile primei derivate f "(x) sunt cunoscute la capetele segmentului (a, 6), atunci este firesc să se utilizeze condițiile la limită ale primului tip. Dacă valorile celui de-al doilea derivata f „(x) sunt cunoscute la capetele segmentului [a, 6], atunci este vorba de condiții naturale la limită de tipul 2. Dacă este posibil să alegeți între condițiile limită ale primului și al doilea tip, atunci ar trebui să se acorde preferință condițiilor primului tip. Dacă f(x) este o funcție periodică, atunci ar trebui să ne oprim la condițiile la limită de al treilea tip. Dacă nu există informații suplimentare despre comportamentul funcției care se aproximează, se folosesc adesea așa-numitele condiții naturale la limită.Totuși, trebuie avut în vedere că, cu o astfel de alegere a condițiilor la limită, acuratețea aproximării funcției f (x) de spline S (x) lângă capetele segmentului (a, ft] scade brusc. Uneori, sunt utilizate condiții la limită de tipul 1 sau 2, dar nu cu valorile exacte ale derivatelor corespunzătoare, dar cu aproximările lor de diferențe. Precizia acestei abordări este scăzută. Experiența practică a calculelor arată că, în situația luată în considerare, alegerea cea mai potrivită este condițiile la limită de tip 4. B. Alegerea nodurilor de interpolare. Dacă derivata a treia f " " (x) al funcției este discontinuă în unele puncte ale segmentului [a, b], apoi pentru a îmbunătăți calitatea aproximării, aceste puncte ar trebui incluse în numărul de noduri de interpolare. derivată a doua / "(x), atunci pentru a evita oscilaţia splinei în apropierea punctelor de discontinuitate trebuie luate măsuri speciale.De regulă, nodurile de interpolare sunt alese astfel încât punctele de discontinuitate ale derivatei a doua să se încadreze în intervalul \xif), astfel încât. Valoarea lui a poate fi aleasă prin experiment numeric (deseori este suficient să se stabilească a = 0,01). Există un set de rețete pentru depășirea dificultăților care apar atunci când derivata întâi f "(x) este discontinuă. Ca una dintre cele mai simple, putem propune aceasta: împărțiți segmentul de aproximare în intervale în care derivata este continuă și construiți o spline pe fiecare dintre aceste intervale.Alegerea unei funcții de interpolare (pro și contra) Abordarea 1. Polinomul de interpolare Lagrange Pentru un tablou dat TEORIA SPLINEI exemple de soluții (Fig. 3) polinomul de interpolare Lagrange este determinat de formula Este recomandabil să se ia în considerare proprietățile polinomului de interpolare Lagrange din două poziții opuse, discutând principalele avantaje separat de dezavantajele -a abordare: 1) graficul polinomului de interpolare Lagrange trece prin fiecare punct al tabloului, 2) funcția construită este ușor de descris ( numărul de coeficienți ai polinomului de interpolare Lagrange pe grila u de determinat este egal cu m + 1), 3) funcția construită are derivate continue de orice ordin, 4) având în vedere un tablou, polinomul de interpolare este definit în mod unic. Principalele dezavantaje ale primei abordări: 1) gradul polinomului de interpolare Lagrange depinde de numărul de noduri ale grilei, iar cu cât acest număr este mai mare, cu atât este mai mare gradul polinomului de interpolare și, prin urmare, cu atât sunt necesare mai multe calcule, 2 ) modificarea a cel puțin un punct din matrice necesită recalcularea completă a coeficienților polinomului de interpolare Lagrange, 3) adăugarea unui nou punct la matrice crește gradul polinomului de interpolare Lagrange cu unul și chiar duce la o recalculare completă a coeficienților acestuia , 4) cu rafinament nelimitat de plasă, gradul polinomului de interpolare Lagrange crește la nesfârșit. Comportamentul polinomului de interpolare Lagrange sub rafinarea nelimitată a rețelei necesită, în general, o atenție specială. Comentarii A. Aproximarea unei funcții continue printr-un polinom. Se știe (Weierstrass, 1885) că orice funcție continuă (și cu atât mai netedă) pe un interval poate fi aproximată la fel de bine așa cum se dorește pe acest interval printr-un polinom. Să descriem acest fapt în limbajul formulelor. Fie f(x) o funcție continuă pe segmentul [a, 6]. Atunci pentru orice e > 0 există un polinom Рn(x) astfel încât pentru orice x din intervalul [a, 6] inegalitatea va fi satisfăcută (Fig. 4) , există infinit de multe. Pe segmentul [a, 6] construim o grilă w. Este clar că nodurile sale, în general, nu coincid cu punctele de intersecție ale graficelor polinomului Pn(x) și ale funcției f(x) (Fig. 5). Prin urmare, pentru grila luată, polinomul Pn(x) nu este un polinom de interpolare. Atunci când o funcție continuă este aproximată printr-un polinom de interpolare Jla-grajj, graficul ei nu numai că nu trebuie să fie apropiat de graficul funcției f(x) în fiecare punct al intervalului [a, b), dar poate devia de la această funcție atât cât se dorește. Să dăm două exemple. Exemplul 1 (Rung, 1901). Cu o creștere nelimitată a numărului de noduri pentru o funcție pe intervalul [-1, 1], egalitatea limită este îndeplinită (Fig. 6) Exemplul 2 (Berichtein, 1912). O secvență de polinoame de interpolare Lagrange construite pe grile uniforme nm pentru o funcție continuă /(x) = |x| pe segmentul cu o creștere a numărului de noduri m nu tinde spre funcția f(x) (Fig. 7). Abordarea a 2-a. Interpolare liniară pe bucăți Dacă se renunță la netezimea funcției interpolate, raportul dintre numărul de avantaje și numărul de dezavantaje poate fi schimbat vizibil în direcția primei. Construim o funcție liniară pe bucăți prin conexiune serială puncte (xit y,) prin segmente de linie dreaptă (Fig. 8). Principalele avantaje ale celei de-a doua abordări: 1) graficul unei funcții liniare pe bucăți trece prin fiecare punct al tabloului, 2) funcția construită este ușor de descris (numărul de coeficienți ai coeficienților corespunzători funcții liniare pentru grila (1) este egală cu 2m), 3) funcția construită de o matrice dată este determinată în mod unic, 4) gradul de polinoame folosit pentru a descrie funcția de interpolare nu depinde de numărul de noduri ale grilei (egal cu 1) , 5) schimbarea unui punct în matrice necesită calcularea a patru numere (coeficienți a două legături drepte care emană dintr-un punct nou), 6) adăugarea unui punct suplimentar la matrice necesită calculul a patru coeficienți. Funcția liniară pe bucăți se comportă destul de bine la rafinarea grilei. i Principalul dezavantaj al celei de-a doua abordări este că funcția liniară pe bucăți de aproximare nu este netedă: primele derivate suferă o discontinuitate la nodurile grilei (urechi de interpolare). Abordarea a 3-a. Interpolare spline Abordările propuse pot fi combinate astfel încât numărul de avantaje enumerate ale ambelor abordări să fie păstrat, reducând în același timp numărul de dezavantaje. Acest lucru se poate realiza prin construirea unei funcții spline de interpolare lină de gradul p. Principalele avantaje ale celei de-a treia abordări: 1) graficul funcției construite trece prin fiecare punct al tabloului, 2) funcția construită este relativ ușor de descris (numărul de coeficienți ai polinoamelor corespunzătoare urmează a fi determinat pentru grilă ( 1) este 3) funcția construită este determinată în mod unic de o matrice dată, 4) polinoamele de grad nu depind de numărul de noduri ale grilei și, prin urmare, nu se modifică odată cu creșterea acesteia, 5) funcția construită are derivate continue în sus la ordinul p - 1 inclusiv, 6) funcția construită are proprietăți bune de aproximare. Scurtă referință. Numele propus - spline - nu este întâmplător - funcțiile polinomiale netede pe bucăți introduse de noi și desenarea spline-urilor sunt strâns legate. Luați în considerare o riglă flexibilă, ideal subțire, care trece prin punctele de referință ale matricei situate pe planul (x, y). Conform legii Bernoulli-Euler, ecuația liniarizată a unei rigle curbe are forma Funcția S(x), care descrie riglele, este un polinom de gradul trei între fiecare și două puncte învecinate ale tabloului (suporturi) și este de două ori diferențiabilă continuu pe întreg intervalul (a, 6). Un comentariu. 06 Interpolarea unei funcții continue Spre deosebire de polinoamele de interpolare Lagrange, o succesiune de spline cubice de interpolare pe o grilă uniformă converge întotdeauna către o funcție continuă interpolată, iar odată cu îmbunătățirea proprietăților diferențiale ale acestei funcții, rata de convergență crește. Exemplu. Pentru o funcție, o spline cubică pe o grilă cu numărul de noduri m = 6 dă o eroare de aproximare de același ordin ca polinomul de interpolare Ls(z), iar pe o grilă cu numărul de noduri m = 21 această eroare este atât de mic încât la scara unui desen obișnuit de carte pur și simplu nu poate fi arătat (Fig. 10) (polinomul de interpolare 1>2o(r) dă în acest caz o eroare de aproximativ 10.000 W). Proprietăţi ale unei spline cubice interpolate A. Proprietăţi de aproximare ale unei spline cubice. Proprietățile de aproximare ale splinei de interpolare depind de netezimea funcției f(x) - cu cât este mai mare netezimea funcției interpolate, cu atât este mai mare ordinul de aproximare, iar când plasa este rafinată, cu atât este mai mare rata de convergență. Dacă funcția interpolată f(x) este continuă pe interval Dacă funcția interpolată f(x) are o derivată întâi continuă pe intervalul [a, 6], adică o spline de interpolare care îndeplinește condițiile la limită ale primei sau Al 3-lea tip, atunci pentru h avem În acest caz, nu numai spline converge către funcția interpolată, dar și derivata spline converge către derivata acestei funcții. Dacă spline S(x) aproximează funcția f(x) pe segmentul [a, b], iar derivatele sale prima și a doua aproximează funcția B. Proprietatea extremă a unei spline cubice. Spline-ul cubic de interpolare mai are unul proprietate utilă . Luați în considerare următorul exemplu. exemplu. Construiți o funcție /(x) minimizând funcționala pe clasa de funcții din spațiul C2 ale cărui grafice trec prin punctele tabloului x) care satisface condițiile la limită oferă un extremum (minimum) funcționalei. Observația 2. Este interesant de observat că spline cubică de interpolare are proprietatea extremă descrisă mai sus pe o clasă foarte largă de funcții și anume pe clasa |0, 5]. 1.2. Netezirea spline cubice Despre formularea problemei de netezire Să se dea o grilă și un set de numere. De fapt, aceasta înseamnă că pentru fiecare este specificat un interval și orice număr din acest interval poate fi luat ca valoare a lui y, . Este convenabil să se interpreteze valorile lui y, de exemplu, ca rezultatele măsurătorilor unei anumite funcții y(x) pentru valori date ale variabilei x, care conțin o eroare aleatorie. Când se rezolvă problema restabilirii unei funcții din astfel de valori „experimentale”, nu este recomandabil să se folosească interpolarea, deoarece funcția de interpolare va reproduce în mod ascultător oscilații bizare cauzate de o componentă aleatorie din matrice (y,). O abordare mai naturală se bazează pe o procedură de netezire menită să reducă cumva elementul de aleatorie ca rezultat al măsurătorilor. De obicei, în astfel de probleme este necesară găsirea unei funcții ale cărei valori pentru x = x, * = 0, 1, .... m, ar intra în intervalele corespunzătoare și care, în plus, ar avea proprietăți suficient de bune. De exemplu, ar avea derivate prima și a doua continue, sau graficul său nu ar fi prea puternic curbat, adică nu ar avea oscilații puternice. O problemă de acest fel apare și atunci când, conform unui tablou dat (exact), se cere să se construiască o funcție care să treacă prin puncte nedate, dar în apropierea lor și, în plus, să se schimbe destul de lin. Cu alte cuvinte, funcția dorită a netezit matricea dată, așa cum ar fi, și nu a interpolat-o. Să se dea o grilă w și două seturi de numere.TEORIA SPLINE exemple de soluții Problemă. Construiți o funcție lină pe segmentul [a, A] ale cărei valori la nodurile grilei și diferă de numerele y prin valorile date. Problema de netezire formulată este recuperare funcția netedă dată într-un tabel. Este clar că o astfel de problemă are multe soluții diferite. Prin impunerea unor condiții suplimentare funcției construite, putem obține unicitatea necesară. Definiția unei spline cubice de netezire O spline cubică de netezire S(x) pe o plasă w este o funcție care 1) pe fiecare dintre segmente este un polinom de gradul al treilea, 2) este de două ori diferențiabilă continuu pe segmentul [a, 6 ], adică aparține clasei C2 [a , b], 3) furnizează un minim funcționalului în care sunt date numere, 4) satisface condițiile la limită ale unuia dintre cele trei tipuri indicate mai jos. Condiții de limită (limită) Condițiile de limită sunt specificate ca restricții asupra valorilor spline-ului și derivatelor sale la nodurile de limită ale rețelei w. A. Condiții la limită de tipul I. - la sfârșitul intervalului [a, b) sunt date valorile derivatei întâi a funcției dorite. Condiții la limită de al 2-lea tip. - derivatele secunde ale functiei dorite la capetele intervalului (a, b] sunt egale cu zero. B. Conditiile la limita de tipul 3 se numesc periodice. Teorema. Spline cubica S (x), minimizand functionala (4). ) și satisfacerea condițiilor la limită ale unuia dintre cele trei tipuri indicate este definită în mod unic.Definiție.O spline cubică care minimizează funcțional J(f) și satisface condițiile la limită ale tipului i se numește spline de netezire a tipului i . acest segment cu patru coeficienți.Segmente totale - m.Deci, pentru a defini complet spline, trebuie să găsiți numere de 4m. Condiția înseamnă continuitatea funcției 5(ar) și a tuturor derivatelor la toate nodurile interne ale grila o. „Numărul unor astfel de noduri este m - 1 Astfel, pentru găsirea coeficienților tuturor polinoamelor se obțin 3(m - 1) condiții (ecuații).Construirea unei spline cubice de netezire Să descriem o metodă de calcul a coeficienții unei spline cubice, în care numărul de mărimi de determinat este egal cu 2m + 2. Pe fiecare dintre intervale, spline de netezire se caută funcția în următoarea formă Aici, iar numerele și sunt soluția unui sistem de ecuații algebrice liniare, a căror formă depinde de tipul condițiilor la limită. Să descriem mai întâi cum sunt găsite mărimile n*. Pentru condițiile la limită de tipul 1 și 2, sistemul ecuatii lineare pentru a determina valorile lui Hi se scrie sub forma următoare unde sunt numere cunoscute). Coeficienții depind de alegerea condițiilor la limită. Condiții la limită de tipul I: Condiții la limită de tipul II: În cazul condițiilor la limită de tipul III, sistemul de determinare a numerelor se scrie astfel: în plus, toți coeficienții se calculează prin formulele (5) (cantitățile cu indicii k și m + k sunt considerați egali cu : Important * notă.Matricele sistemelor nu sunt degenerate și, prin urmare, fiecare dintre aceste sisteme are o soluție unică.Dacă se găsesc numerele n,-, atunci mărimile se determină ușor prin formulele în care În cazul condițiilor la limită periodice.în funcțional (4), permiteți într-o anumită măsură să controlați proprietățile splinelor de netezire.Dacă totul și spline de netezire se dovedește a fi unul de interpolare.Acesta, în în special, înseamnă că cu cât valorile sunt date mai precis, cu atât coeficienții de greutate corespunzători sunt mai mici. Dacă este necesar ca spline să treacă prin punctul (x^, yk), atunci factorul de greutate p\ corespunzător acestuia ar trebui fi setat egal cu 0. În calculele practice, cel mai important lucru este alegerea valorilor \u200b\u200bpi-Fie D, fie eroarea de măsurare a valorii y,. Atunci este firesc să se ceară ca spline de netezire să îndeplinească condiția sau, care este aceeași.În cel mai simplu caz, coeficienții de greutate pi pot fi dați, de exemplu, sub forma - unde c este o constantă suficient de mică. Cu toate acestea, o astfel de alegere a greutăților p nu permite utilizarea „coridorului” din cauza erorilor în valorile lui y, -. Un algoritm mai rațional, dar și mai consumator de timp pentru determinarea valorilor lui p, - poate arăta după cum urmează. Dacă valorile sunt găsite la iterația fc-a, atunci se presupune că e este un număr mic, care este ales experimental ținând cont de grila de biți a computerului, de valorile lui D și de precizia lui. rezolvarea sistemului de ecuații algebrice liniare. Dacă la fc-a iterație la punctul i, condiția (6) este încălcată, atunci ultima formulă va asigura o scădere a coeficientului de greutate corespunzător p,. Dacă atunci, la următoarea iterație, o creștere a p, duce la o utilizare mai completă a „coridorului” (6) și, în cele din urmă, la o spline care se schimbă mai ușor. Un pic de teorie A. Fundamentarea formulelor de calcul al coeficienților splinei cubice de interpolare. Introducem notația unde m, sunt mărimi necunoscute. Numărul lor este egal cu m + 1. Spline, scrisă în forma în care îndeplinește condițiile de interpolare și este continuă pe întreg intervalul [a, b\: punând în formula, respectiv obținem. În plus, are o primă derivată continuă pe intervalul [a, 6]: diferențierea relației (7) și stabilirea, obținem corespunzătoare. de fapt. Să arătăm că numerele m pot fi alese astfel încât funcția spline (7) să aibă o derivată secundă continuă pe intervalul [a, 6]. Calculați derivata a doua a splinei pe interval: În punctul x, - 0 (la t = 1) avem Calculați derivata a doua a splinei pe intervalul În punctul avem Din condiția de continuitate a derivatei a doua la nodurile grilei interne a; obţinem relaţia m - 1 unde Adăugând la aceste m - 1 ecuaţii încă două, care decurg din şi din condiţiile la limită, obţinem un sistem de m + 1 ecuaţii algebrice liniare cu m + I necunoscută miy i = 0, 1. . .. , m. Sistemul de ecuații pentru calcularea valorilor gw în cazul condițiilor la limită de tipul 1 și 2 are forma unde (condiții la limită de primul tip), (condiții la limită de tipul 2). Pentru condiții la limită periodice (condiții la limită de al 3-lea tip), grila o; prelungiți cu încă un nod și presupuneți. Atunci sistemul de determinare a valorilor lui r* va avea continuitatea formei la al doilea și (al-lea - !) nodul de grilă. Avem Din ultimele două relații, obținem cele două ecuații lipsă care corespund condițiilor la limită de al 4-lea tip: Excluzând necunoscuta r0 din ecuații, și necunoscuta pc din ecuații, ca urmare obținem un sistem de ecuații. Rețineți că numărul de necunoscute din acest sistem este egal cu r - I. 6. Fundamentarea formulelor de calcul al eficienței unei spline subice de netezire. Introducem notația în care Zi și nj sunt încă cantități necunoscute. Numărul lor este egal cu 2m + 2. Funcția spline scrisă sub forma este continuă pe întreg intervalul (a, 6]: punând în această formulă, se obține, respectiv. Să arătăm că numerele z, și n, pot să fie aleasă astfel încât spline scrisă sub forma ( 8), să aibă o derivată întâi continuă pe intervalul [a, 6] Calculați derivata întâi a splinei S(x) pe intervalul : La un punct, avem Din condiția de continuitate a derivatei întâi a splinei la nodurile interne ale grilei și --> obținem o relație m - 1. Este convenabil să scriem această relație sub formă de matrice.relația (8) și setarea, obținem, respectiv, relația matricei Yeshe olyu se obține din condiția minimului funcționalului (4). Avem Ultimele două egalități matriceale pot fi considerate ca un sistem liniar de 2m + 2 ecuații algebrice liniare în 2m + 2 necunoscute. Înlocuind coloana r în prima egalitate cu expresia ei obținută din relația (9), ajungem la ecuația matriceală TEORIA SPLINE exemple de soluții pentru determinarea coloanei M. Această ecuație are o soluție unică datorită faptului că matricea A + 6HRH7 este întotdeauna nedegenerat. Găsindu-l, îl identificăm cu ușurință pe domnul Eamshine. Elementele matricelor triunghiulare magolale A și H determină n numai prin parametrii grilei u (cu pașii hi) și nu depind de valorile yj. Spațiul liniar al funcțiilor spline cubice spațiu liniar de dimensiunea m + 3: 1) suma a două spline cubice construite pe grila u> și produsul unei spline cubice construite pe grila u> printr-un număr arbitrar sunt spline cubice mai secret construite pe această grilă, 2) orice Spline cubic construit pe grilă și dintr-un nod, este complet determinat de m + 1 valori ale valorilor lui y" la aceste noduri și două condiții limită - un total de m + 3 parametri. Alegând în acest spațiu o bază formată din m + 3 spline liniar independente, putem scrie o spline cubică arbitrară a(x) ca o combinație liniară a acestora într-un mod unic. Cometariu. O astfel de specificație spline este utilizată pe scară largă în practica computațională. Deosebit de convenabilă este baza, constând din așa-numitele B-spline cubice (spline de bază sau fundamentale). Utilizarea D-splines poate reduce semnificativ cerințele pentru memoria computerului. L-spline. B -spline de grad zero, construită pe o dreaptă numerică de-a lungul grilei w, este funcția furcii B -spline de gradul k ^ I, construită pe o dreaptă numerică de-a lungul grilei u, este determinată de formula recursivă secundă în \7\x) grade sunt prezentate în Fig. 11 și, respectiv, 12.B-spline de grad arbitrar k poate fi diferit de zero numai pe un anumit segment (definit prin k + 2 noduri).Este mai convenabil să numere B cubic. -splines astfel încât spline B,-3* (n) să fie diferit de zero pe segmentul ir,-+2]. Să dăm o formulă pentru o spline cubică de gradul trei pentru cazul unei grile uniforme (cu un pas A). ​​Avem în alte cazuri. O diagramă tipică a unei B-spline cubice este prezentată în Fig. 13. Funcția a) este de două ori diferențiabilă continuu pe un segment, adică aparține clasei C2 [a, "), c) este diferit de zero numai pe patru segmente succesive ochiuri extinse w*, se poate construi o familie de m + 3 B-spline cubice: Această familie formează o bază în spațiul spline-urilor cubice de pe segment (a , b]. Astfel, o spline cubică arbitrară S(z) construită pe segmentul |s, 6] al grilei o; de la +1 noduri, poate fi reprezentat pe acest segment ca o combinație liniară.Coeficienții ft ai acestei expansiuni sunt determinați în mod unic de condițiile problemei. ... În cazul în care valorile funcției la nodurile rețelei și valorile derivatei întâi a funcției la capetele rețelei "(problema de interpolare cu graniță condiții de primul fel), acești coeficienți se calculează din sistemul de forma următoare valorile b-iși &m+i, obținem un sistem liniar cu necunoscute 5q, ... , bm și o matrice tridiajunală. Condiția asigură dominanța diagonală și, prin urmare, posibilitatea aplicării metodei de baleiaj pentru a o rezolva. 3MMCHMYU 1. Sistemele liniare de o formă similară apar atunci când se iau în considerare și alte probleme de interpolare. Zmmchm* 2. În comparație cu algoritmii descriși în secțiunea 1.1, utilizarea R-spline în * probleme de interpolare permite * reducerea cantității de informații stocate, adică reducerea semnificativă a cerințelor pentru memoria computerului, deși duce la o creștere a numărului de operațiuni. Construirea curbelor spline folosind funcții spline Mai sus au fost luate în considerare șirurile, ale căror puncte au fost numerotate astfel încât abscisele lor să formeze o secvență strict crescătoare. De exemplu, cazul prezentat în fig. 14, când puncte diferite ale matricei au aceeași abscisă, nu a fost permisă. Această împrejurare a determinat atât alegerea clasei de curbe de aproximare (traficul funcțiilor), cât și metoda de construire a acestora. Cu toate acestea, metoda propusă mai sus face posibilă construirea cu succes a unei curbe de interpolare într-un caz mai general, când numerotarea punctelor matricei și locația lor în plan, de regulă, nu sunt legate (Fig. 15). Mai mult, atunci când ne punem problema construirii unei curbe de interpolare, putem considera matricea dată ca fiind neplană, adică este clar că pentru a rezolva această problemă generală, este necesară extinderea semnificativă a clasei de curbe admisibile, inclusiv atât curbe închise, cât și curbe cu puncte de auto-intersecție și curbe spațiale. Astfel de curbe pot fi descrise convenabil folosind ecuații parametrice Să cerem. în plus, astfel încât funcțiile să aibă suficientă netezime, de exemplu, aparțin clasei C1 [a, /0] sau clasei Pentru a găsi ecuațiile parametrice ale unei curbe care trece succesiv prin toate punctele tabloului, procedați după cum urmează. primul pas. Pe un segment luat în mod arbitrar, acesta este desenat de-a lungul celor mai apropiate trei puncte.

Interpolarea spline cubice

În ultimii ani, o nouă ramură a matematicii computaționale moderne s-a dezvoltat intens - teoria spline. Splines fac posibilă rezolvarea eficientă a problemelor de procesare a dependențelor experimentale între parametrii care au o structură destul de complexă.

Metodele de interpolare locală discutate mai sus sunt în esență cea mai simplă spline de gradul întâi (pentru interpolare liniară) și gradul doi (pentru interpolare pătratică).

Canelurile cubice au găsit cea mai largă aplicație practică, datorită simplității lor. Principalele idei ale teoriei canelurilor cubice s-au format ca urmare a încercărilor de a descrie matematic șinele flexibile din material elastic (canaluri mecanice), care au fost folosite de mult timp de desenatori în cazurile în care a devenit necesar să se tragă prin puncte date curbă destul de netedă. Se știe că o șină dintr-un material elastic, fixată în anumite puncte și aflată într-o poziție de echilibru, ia o formă în care energia sa este minimă. Această proprietate fundamentală face posibilă utilizarea eficientă a spline-urilor în rezolvarea problemelor practice de prelucrare a informațiilor experimentale.

În general, pentru o funcție y=f(X) se cere să se găsească o aproximare y= j(X) În felul în care f(x i)= j(x i) la puncte X = X i , a în alte puncte ale segmentului [ a, b] valori

funcții f(X) Și j(X) erau aproape unul de celălalt. Cu un număr mic de puncte experimentale (de exemplu, 6-8), una dintre metodele de construire a polinoamelor de interpolare poate fi utilizată pentru a rezolva problema de interpolare. Cu toate acestea, cu un număr mare de noduri, polinoamele de interpolare devin practic inutilizabile. Acest lucru se datorează faptului că gradul polinomului de interpolare este cu doar unul mai mic decât numărul de valori experimentale ale funcțiilor. Este posibil, desigur, să se împartă segmentul pe care este definită funcția în segmente care conțin un număr mic de puncte experimentale și pentru fiecare dintre ele să se construiască polinoame de interpolare. Cu toate acestea, în acest caz, funcția de aproximare va avea puncte în care derivata nu este continuă, adică graficul funcției va conține puncte de „ruptură”.

Splinele cubice nu au acest neajuns. Studiile teoriei fasciculului au arătat că un fascicul subțire flexibil între două noduri este descris destul de bine de un polinom cubic și, deoarece nu se prăbușește, funcția de aproximare trebuie să fie cel puțin diferențiabilă continuu. Aceasta înseamnă că funcțiile j(X), j'(X), j"(X) trebuie să fie continuu pe segmentul [ a, b].

Spline de interpolare cubică , adecvat pentru această funcție f(X) și noduri date x i , numită funcție y(X), satisfacand urmatoarele conditii:

1. pe fiecare segment [ x i — 1 , x i], i = 1, 2, ..., n funcţie y(X) este un polinom de gradul trei,

Funcţie y(X), și, de asemenea, derivatele sale prima și a doua sunt continue pe intervalul [ a,b],

spline cubică se lipește împreună din polinoame de gradul trei, care pt i a secțiunea sunt scrise după cum urmează:

Pentru tot intervalul, respectiv P polinoame cubice care diferă ca coeficienți Ai, b i, c i, d i. Cel mai adesea, nodurile în timpul interpolării spline sunt distanțate uniform, adică Xi +1 -Xi = const = h (deși acest lucru nu este necesar).

Este necesar să găsim patru coeficienți cu condiția ca fiecare polinom să treacă prin două puncte (x i,y i) și (x i +1 ,y i +1 ) , care rezultă în următoarele ecuații evidente:

Prima condiție corespunde trecerii polinomului prin punctul de plecare, a doua - prin punctul final. Este imposibil să găsiți toți coeficienții din aceste ecuații, deoarece există mai puține condiții decât parametrii necesari. Prin urmare, aceste condiții sunt completate de condițiile de netezime ale funcției (adică, continuitatea primei derivate) și de netezime a primei derivate (adică, continuitatea celei de-a doua derivate) la nodurile de interpolare. Matematic, aceste condiții sunt scrise ca egalități, respectiv, ale primei și, respectiv, a doua derivate la sfârșit iși la început ( i+1 )-lea parcele.

Din moment ce și , Acea

(y(x i +1 ) la sfârșitul i-a secțiune este egală cu tu(Xi +1 ) la început ( i+1 )-a),

(la"(Xi +1 ) la sfârșitul i-a secțiune este egală cu y" (xi +1 ) la început ( i+1)-a).

Rezultatul este un sistem de ecuații liniare (pentru toate secțiunile) care conține 4n - 2 ecuații cu 4n necunoscute (necunoscute a 1 , a 2 ,…, a n , b 1 ,…, d n - coeficienți spline). Pentru a rezolva sistemul, se adaugă două condiții limită de unul dintre următoarele tipuri (1 este mai des folosit):

Rezolvarea comună a 4n ecuații permite găsirea tuturor celor 4n coeficienți.

Pentru a restabili derivatele, se poate diferenția polinomul cubic corespunzător pe fiecare secțiune. Dacă este necesară determinarea derivatelor la noduri, există tehnici speciale care reduc definiția derivatelor la rezolvarea unui sistem mai simplu de ecuații în raport cu derivatele de ordinul II sau I dorite. Un avantaj important al interpolării spline cubice este obținerea unei funcții care are curbura minimă posibilă. Dezavantajele interpolării spline includ necesitatea de a obține un număr relativ mare de parametri.

Să rezolvăm problema de interpolare folosind programul MathCAD. Pentru a face acest lucru, folosim funcția încorporată interp(VS,x,y,z) . Variabile X Și y stabiliți coordonatele punctelor nodale, z este un argument de funcție, VS definește tipul

condiţii la limită la capetele intervalului.

Definim funcții de interpolare pentru trei tipuri de spline cubice

Aici cspline (VX , VY) returnează un vector VS derivate secunde când se apropie la punctele de referință de un polinom cubic;

pspline(VX, VY) returnează un vector VS derivate secunde la apropierea punctelor de referință de curba parabolică;

lspline(VX, VY) returnează un vector VS derivate secunde la apropierea punctelor de referință ale dreptei;

interp(VS, VX, VY, X) returnează o valoare y(X) pentru vectori dați VS, VX, VYși valoarea setată X.

Calculăm valorile funcțiilor de interpolare în puncte date și comparăm rezultatele cu valorile exacte

Rețineți că rezultatele interpolării prin diferite tipuri de spline cubice sunt practic aceleași în punctele interne ale intervalului și coincid cu valorile exacte ale funcției. Aproape de marginile intervalului, diferența devine mai vizibilă, iar atunci când sunt extrapolate în afara intervalului dat, diferite tipuri de spline dau rezultate semnificativ diferite. Pentru o mai mare claritate, prezentăm rezultatele pe grafic (Fig. 3.5)

Orez. 3.5 Interpolarea spline cubice

Dacă funcția este specificată discret, atunci matricele de date sunt specificate pentru interpolare.

În interpolarea globală, cel mai des este folosită interpolarea polinomială n gradul sau interpolarea Lagrange.

Abordarea clasică se bazează pe cerința potrivirii stricte a valorilor f(X) Și j(X) la puncte x i(i = 0, 1, 2, … n).

Vom căuta funcția de interpolare j(X) ca polinom de grad n.

Acest polinom are n+ 1 coeficient. Este firesc să presupunem că n+ 1 conditii

j(X 0) = y 0 , j(X 1) = y 1 , . . ., j(x n) = y n (3.4)

suprapuse polinomului

fac posibilă determinarea unică a coeficienților acestuia. Într-adevăr, cerând j(X) îndeplinirea condițiilor (3.4) , primim sistemul n+ 1 ecuații cu n+ 1 necunoscut:

(3.6)

Rezolvarea acestui sistem pentru necunoscute A 0 , A 1 , …, an obţinem o expresie analitică pentru polinomul (3.5). Sistemul (3.6) are întotdeauna o soluție unică , deoarece determinantul ei

cunoscut în algebră ca determinant Vandermonde, diferit de zero . asta implică , care este polinomul de interpolare j(X) pentru funcție f(X) dat într-un tabel există și este unic.

Ecuația curbei rezultată trece exact prin punctele date. În afara nodurilor de interpolare, modelul matematic poate avea o eroare semnificativă

Formula de interpolare Lagrange

Să fie cunoscute valorile unei anumite funcții f(X) V n+ 1 puncte arbitrare diferite y eu = f(x i) , i = 0,…, P. Pentru a interpola (restaura) o funcție la un moment dat X, aparținând segmentului [ x 0 ,x p], este necesar să se construiască un polinom de interpolare de ordinul al n-lea, care în metoda Lagrange este reprezentat astfel:

Și este ușor să vezi asta Qj(x i) = 0, Dacă i¹ j, Și Qj(x i) =1, Dacă i= j. Dacă extindem produsul tuturor parantezelor din numărător (la numitor toate parantezele sunt numere), atunci obținem un polinom de ordinul al n-lea din X,întrucât numărătorul conține n factori de ordinul întâi. Prin urmare, polinomul de interpolare Lagrange nu este altceva decât un polinom obișnuit de ordinul al n-lea, în ciuda notației specifice.

Estimați eroarea de interpolare într-un punct X de la [ x 0,xn] (adică rezolvați al doilea

problema de interpolare) poate fi dat de formula

În formulă - valoarea maximă a derivatei (n+1)-a a funcției originale f(X) pe segmentul [ x 0,xn]. Prin urmare, pentru a estima eroarea de interpolare, sunt necesare câteva informații suplimentare despre funcția originală (acest lucru ar trebui să fie clar, deoarece un număr infinit de funcții diferite pot trece prin punctele inițiale date, pentru care eroarea va fi diferită). O astfel de informație este derivata ordinului n + 1, care nu este atât de ușor de găsit. Mai jos se va arăta cum să ieși din această situație. De asemenea, observăm că aplicarea formulei de eroare este posibilă numai dacă funcția este diferențiabilă n + 1 ori.

Pentru constructie Formula de interpolare Lagrangeîn MathCAD este convenabil să utilizați funcția dacă.

dacă (cond, x, y)

Returnează valoarea lui x dacă cond nu este 0 (adevărat). Returnează y dacă cond este 0 (fals) (figura 3.6).

2.2 Interpolare folosind o spline cubică

O spline cubică de interpolare corespunzătoare unei anumite funcții f(x) și nodurilor date x i este o funcție S(x) care îndeplinește următoarele condiții:

1. Pe fiecare segment , i = 1, 2, ..., N, funcția S(x) este un polinom de gradul trei,

2. Funcția S(x), precum și derivatele sale prima și a doua, sunt continue pe segmentul ,

3. S(x i) = f(x i), i = 0, 1, ..., N.

Pe fiecare dintre segmentele , i = 1, 2, ..., N, vom căuta funcția S(x) = S i (x) sub forma unui polinom de gradul trei:

S i (x) \u003d a i + b i (x - x i - 1) + c i (x - x i - 1) 2 + d i (x - 1) 3,

x i - 1 Ј x Ј x i ,

unde a i , b i , c i , d i - coeficienți care urmează să fie determinați pe toate cele n segmente elementare. Pentru ca un sistem de ecuații algebrice să aibă o soluție, numărul de ecuații trebuie să fie exact egal cu numărul de necunoscute. Deci trebuie să obținem 4n ecuații.

Vom obține primele 2n ecuații din condiția ca graficul funcției S(x) să treacă prin punctele date, i.e.

Si (x i - 1) = y i - 1 , Si (x i) = y i .

Aceste condiții pot fi scrise astfel:

S i (x i - 1) = a i = y i - 1,

S i (x i) = a i + b i h i + c i h + d i h = y i ,

h i = x i - x i - 1 , i = 1, 2, ..., n.

Următoarele 2n - 2 ecuații decurg din condiția de continuitate a primei și a doua derivate la nodurile de interpolare, adică condiția ca curba să fie netedă în toate punctele.

S i + 1 (x i) = Si (x i), i = 1, ..., n - 1,

S i (x) \u003d b i + 2 c i (x - x i - 1) + 3 d i (x - x i - 1),

S i + 1 (x) = b i + 1 + 2 c i + 1 (x - x i) + 3 d i + 1 (x - x i).

Echivalând la fiecare nod intern x = x i valorile acestor derivate calculate în intervalele din stânga și dreapta nodului, obținem (ținând cont de h i = x i - x i - 1):

b i + 1 = b i + 2 h i c i + 3h d i , i = 1, ..., n - 1,

S i (x) = 2 c i + 6 d i (x - x i - 1),

S i + 1 (x) = 2 c i + 1 + 6 d i + 1 (x - x i),

dacă x = x i

c i + 1 = c i + 3 h i d i , i = 1,2, ..., n - 1.

În această etapă avem 4n necunoscute și 4n - 2 ecuații. Prin urmare, mai trebuie găsite două ecuații.

Cu fixarea liberă a capetelor, curbura liniei în aceste puncte poate fi egalată cu zero. Din condițiile curburii zero la capete rezultă că derivatele secunde sunt egale cu zero în aceste puncte:

S 1 (x 0) = 0 și S n (x n) = 0,

c i = 0 și 2 c n + 6 d n h n = 0.

Ecuațiile formează un sistem de ecuații algebrice liniare pentru determinarea a 4n coeficienți: a i , b i , c i , d i (i = 1, 2, . . ., n).

Acest sistem poate fi redus la o formă mai convenabilă. Din condiție, puteți găsi imediat toți coeficienții a i .

i = 1, 2, ..., n - 1,

Înlocuind, obținem:

b i = - (c i + 1 + 2c i) , i = 1,2, ..., n - 1,

b n = - (h n c n)

Eliminați coeficienții b i și d i din ecuație. În cele din urmă, obținem următorul sistem de ecuații numai pentru coeficienții cu i:

c 1 = 0 și c n + 1 = 0:

h i - 1 c i - 1 + 2 (h i - 1 + h i) c i + h i c i + 1 = 3 ,

i = 2, 3, ..., n.

Pe baza coeficienților găsiți cu i, este ușor de calculat d i ,b i .

Calculul integralelor prin metoda Monte Carlo

Acest produs software implementează capacitatea de a stabili restricții suplimentare asupra zonei de integrare prin două suprafețe spline bidimensionale (pentru un integrand de dimensiunea 3)...

Interpolarea funcției

Să fie dat tabelul de valori al funcției f(xi) = yi (), în care sunt aranjate în ordinea crescătoare a valorilor argumentului: x0< x1 < … < xn. Чтобы построить кубический сплайн, требуется определить коэффициенты ai0, ai1, ai2, ai3...

Interpolare spline

Interpolare spline

Interpolare spline

Să ne familiarizăm cu algoritmul programului. 1. Calculăm valorile și 2. Pe baza acestor valori, calculăm coeficienții de baleiaj și o. 3. Pe baza datelor obținute, calculăm coeficienții 4...

Modelarea matematică a obiectelor tehnice

Funcțiile încorporate ale MathCAD permit interpolarea pentru a desena curbe de diferite grade de complexitate prin punctele experimentale. Interpolare liniară...

Metode de aproximare a funcțiilor

Pe fiecare segment, polinomul de interpolare este egal cu o constantă, și anume, valoarea din stânga sau din dreapta funcției. Pentru interpolarea liniară pe bucăți stânga F(x)= fi-1 dacă xi-1 ?x

Metode de aproximare a funcțiilor

Pe fiecare interval funcția este liniară Fi(x)=kix+li. Valorile coeficienților se regăsesc din îndeplinirea condițiilor de interpolare la capetele segmentului: Fi(xi-1)=fi-1, Fi(xi-1)=fi . Obținem sistemul de ecuații: kixi-1+ li= fi-1, kixi+ li= fi , din care găsim ki=li= fi- kixi...

Metode de rezolvare a unui sistem de ecuații liniare. Interpolare

Enunțarea problemei de interpolare. Pe interval, un sistem de puncte (noduri de interpolare) xi, i=0,1,…,N; A? xi? b, iar valorile funcției necunoscute la aceste noduri fn i=0,1,2,…,N. Se pot seta următoarele sarcini: 1) Construiți funcția F (x)...

Construirea unui model matematic care descrie procesul de rezolvare a unei ecuații diferențiale

3.1 Construcția polinomului de interpolare Lagrange și condensarea valorilor O modalitate evidentă de a rezolva această problemă este calcularea valorilor lui ѓ(x) folosind valorile analitice ale funcției ѓ. Pentru aceasta - conform informațiilor inițiale...

Dacă sunt grade (1, x, x2, ..., xn), atunci vorbesc de interpolare algebrică, iar funcția se numește polinom de interpolare și se notează ca: (4) Dacă () (5), atunci este posibil să se construiască un polinom de interpolare de grad n și, în plus, unul...

Aplicarea practică a interpolării funcțiilor netede

Luați în considerare un exemplu de interpolare pentru elementele unei mulțimi. Pentru simplitate și concizie, să luăm =[-1;1], . Lăsați punctele și fiți diferiți unul de celălalt. Punem următoarea problemă: (12) construiți un polinom care satisface condițiile date...

Aplicarea metodelor numerice pentru rezolvarea problemelor matematice

Metode numerice

Deci, așa cum am menționat mai sus, sarcina interpolării este de a găsi un astfel de polinom al cărui grafic trece prin punctele date. Fie dată funcția y=f(x) folosind tabelul (Tabelul 1)...

Metode numerice de rezolvare a problemelor matematice