Optimalna aproksimacija splajnovima. Osnove spline

Spline

Postoje lokalne metode za konstruiranje Besselovih i Akimi splinesova, B su splinovi. U osnovi, kada je riječ o splajnovima, oni misle na splajnove izgrađene od algebarskih polinoma. Ovo su gore navedene definicije. Upravo su ti splinovi najviše proučavani. Međutim, spline se može sastojati od fragmenata funkcija bilo koje klase. Razmatra se konstrukcija takvih splinova i proučavaju njihova svojstva. Autor ne daje opću definiciju konstruiranih splineova. Očito, za sve klase funkcija koje čine spline, definicija dana na početku članka nije sasvim prikladna. Ako se, na primjer, splajn sastoji od eksponencijalnih segmenata, tada pojam defekta splajna gubi svoje značenje. Iako će broj kontinuiranih izvedenica ostati važna karakteristika. Konstrukcija splajna čiji su fragmenti diskontinuirane funkcije (racionalne funkcije, Padeove funkcije) donekle je izvan okvira ideje splajna, budući da je jedna od glavnih prednosti splajna njihova glatkoća. Ako se takve konstrukcije proizvoljno produžuju, tada se brišu razlike između spline i kvrgavih funkcija. Još jedna prednost splineova je računska učinkovitost. Prekomjerna kompliciranost fragmenata značajno smanjuje prednost spline-a u odnosu na klasične funkcije.

Spline karakteriziraju sljedeće značajke: spline se sastoji od fragmenata - funkcija iste klase, koje se razlikuju samo po svojim parametrima, određeni uvjeti nameću se susjednim fragmentima na spojnim točkama, koji se svode na kontinuitet vrijednosti i neke prve izvedenice. Spline su grana primijenjene matematike koja se intenzivno razvija. Internet sadrži opsežnu bibliografiju o splineovima (Spline Bibliography Database (SBD)).

Klasifikacija sline

Kao što je gore navedeno, postoji veliki broj struktura koje se nazivaju spline. Stoga je u ovu sortu potrebno uvesti određenu klasifikaciju, s ciljem isticanja onih značajki koje će vam omogućiti da odaberete spline prikladne za određeni primijenjeni zadatak.

Pogled na spline fragmente. Činjenica da se spline sastoji od fragmenata iste vrste jedna je od ključnih značajki koja ga razlikuje od ostalih funkcija komada.

Najpoznatiji splinovi - koji se sastoje od fragmenata - su algebarski polinomi koji nisu viši od zadanog stupnja. U pravilu su to kubični polinomi, odnosno polinomi neparnih stupnjeva: prvi, treći (kubični), peti stupanj. Viši stupnjevi se rijetko koriste zbog složenosti izračuna i složenosti opisanih u prethodnom odjeljku. Njihova glavna prednost je jednostavnost izračuna i analize. Nedostatak je što relativno malo stvarnih fizičkih procesa odgovara ovoj ovisnosti.

Eksponencijalni splinovi. Ako se fleksibilno metalno ravnalo pričvršćeno na čvorovima rastegne, tada rješenje diferencijalne jednadžbe neće biti algebarski polinom, već eksponencijal. Stoga se takvi splinovi također nazivaju napeta. Eksponent opisuje mnoge fizičke procese u dinamičkim sustavima. Nedostatak je složenost izračuna.

Trigonometrijski su splinovi, čiji se fragmenti opisuju trigonometrijskim polinomima. Imaju prilično složene računske izraze. U djelima B. A. Popova opisano je više od pedeset fragmenata sline različitih tipova.

Postoje i racionalni splinovi i Padéovi splinovi. Njihova značajka je mogućnost razbijanja izvedenica na fragmente, s kontinuitetom u čvorovima. M. Ansermet gradi frakcijske spline, gdje se fragmenti specificiraju pomoću gama funkcije.

Svrsishodnost korištenja fragmenata određene vrste temelji se na specifičnim uvjetima problema i ograničenjima implementacije. U pravilu je glavni zahtjev postići zadanu točnost interpolacije uz prihvatljivu cijenu vremena i resursa za implementaciju. Dobar izbor fragmenata, koji odgovara prirodi procesa, smanjuje vrijeme računanja i potrebnu količinu memorije.

Broj fragmenata. Očito, minimalni broj fragmenata je jedan. Klasična definicija splajna ograničava broj fragmenata na određeni broj na konačnom segmentu. Međutim, moguće je graditi spline s beskonačnim brojem fragmenata, ali u stvarnosti ove metode i algoritmi ne trebaju informacije o određenom broju fragmenata. Ove spline su predstavljene kardinal splines koje je istraživao Schoenberg. Za građenje splinova s ​​neograničenim brojem fragmenata, bolje su prikladni lokalni splinovi.

Širina fragmenta. Potrebno je odabrati spline s jednakom širinom fragmenata. To vam omogućuje da značajno pojednostavite proračunske izraze, ubrzate rad algoritama i smanjite troškove implementacije. Određeno pojednostavljenje može se postići korištenjem fragmenata višestruke širine. Postoje splinovi s fragmentima nulte širine (De Boer). To dovodi do višestrukosti čvorova i mogućnosti aproksimacije splinova s ​​neodvojivim fragmentima diskontinuiranih funkcija. Proračunski izrazi dobivaju se kao rezultat graničnih prijelaza. Sline također mogu imati fragmente beskonačne širine. Ti bi fragmenti trebali biti ekstremni. Ponekad to omogućuje prirodno postavljanje graničnih uvjeta.

Uvjeti za spajanje fragmenata. Još jedna važna značajka koja razlikuje spline. Kada je riječ o splinovima, u pravilu se smatra da su fragmenti glatko spojeni. Odnosno, osiguran je kontinuitet vrijednosti ​​​i prve derivacije. koncept spline defekt je povezan s brojem kontinuiranih derivacija koje ima funkcija fragmenta određenog tipa i brojem derivacija čiji je kontinuitet zajamčen u čvorovima. Eksponent, sinusoida ima beskonačan broj derivacija. Za njih ovaj koncept nema smisla. Stoga je prikladnije izravno govoriti o broju derivacija čiji je kontinuitet zajamčen u čvorovima splajna. U praksi se radi o kontinuitetu vrijednosti ​​i o prvoj, maksimalno drugoj derivaciji. Razmak između druge i više izvedenice nije vizualno uočljiv, pa se rijetko uzima u obzir. Jasno je da se prva derivacija na spojnim točkama može specificirati na različite načine. Najčešće su dvije metode. Vrijednost prve derivacije odabrana je tako da osigura kontinuitet druge (globalne kubične spline minimalnog defekta). Prva derivacija jednaka je prvoj derivaciji interpolirane funkcije (moguće približno) u hermitskim splajnovima.

Granični uvjeti. Ako splinovi imaju ograničen broj fragmenata, onda, naravno, nemaju ekstremne fragmente s lijeve i desne strane, tako da nema s čim spojiti ekstremne čvorove. Jedina iznimka su periodični splinovi, koji imaju prirodni nastavak. Ponekad se granični uvjeti s nultom derivacijom nazivaju prirodnim, iako nema razloga smatrati ih prirodnijim od drugih. Ako spline ima fragmente iste širine, broje se nedostajući fragmenti iste širine. Druga je mogućnost uzeti u obzir nedostajuće fragmente proširene do beskonačnosti. Prednost ovog pristupa je mogućnost ekstrapolacije. Možete smatrati da je širina fragmenata nula. Izračunati izrazi su dobiveni graničnim prijelazima. Promatramo li granične uvjete s gledišta formiranja splajna iz baznih funkcija, onda se oni svode na nastavak odgovarajućih lokalnih baznih funkcija. Širina susjednih fragmenata utječe na njihov oblik. Jednostavan rez često dovodi do oscilacija i povećanja pogreške na rubovima. Rubni uvjeti važni su u obradi slike i problemima ekstrapolacije.

Dodatna ograničenja. Najčešće se tiču ​​izvedenica u čvorovima. Ponekad slijede iz fizike procesa. Uvjeti: neotuđivost vrijednosti, jednakost momenata, površina, uvjeti normalizacije. Dodatni uvjeti ponekad pojednostavljuju analizu svojstava spline, ali mogu ozbiljno zakomplicirati troškove izgradnje i implementacije.

Mreža interpolacijskih točaka. To može značajno utjecati na učinkovitost izračuna. Važni su slučajevi ujednačene mreže i ujednačene mreže, s razmakom između točaka koji je višekratnik udaljenosti između čvorova splajna.

Lokalna svojstva baznih funkcija. Spline se može predstaviti kao zbroj ponderiranih baznih splajnsa. Širina ovih osnovnih funkcija je bitna. Dakle, u globalnim splajnovima, osnovni splinovi su različiti od nule na cijelom interpolacijskom segmentu. Iako je vrijedno napomenuti da se s određenom točnošću (dovoljnom za mnoge tehničke izračune) mogu smatrati lokalnim. Za lokalne spline, širina baznih funkcija je mala (četiri fragmenta za kubične hermitove splinove). To značajno utječe na učinkovitost izračuna i troškove implementacije.

Obrazac za prezentaciju. Funkcije koje definiraju fragmente spline-a u pravilu ovise o mnogim parametrima zbog kojih mijenjaju svoj oblik. Vrijednosti parametara na svakom od ulomaka su individualne. Ovi parametri mogu specificirati određeni spline. Za polinomske spline, to su polinomski koeficijenti. Dakle, spline može biti predstavljen skupom parametara funkcije na svakom od fragmenata. Nazovimo ovaj prikaz po fragmentu. Takav prikaz je ilustrativan i često ima jasno fizičko značenje. Ali broj parametara je prevelik. Dakle, za kubni spline morate imati 4 * (r-1) parametra ( r je broj spline čvorova). Mnogo je kompaktniji prikaz splajna kao polinoma, kroz osnovne funkcije splajna u obliku:

gdje - osnovne funkcije splajna (obično lokalne), - numerički koeficijenti koji određuju težinu osnovnih funkcija u formiranju splajna. Broj parametara koji definiraju spline jednak je broju spline čvorova. Postoji veza između parametara funkcije na fragmentu i koeficijenata polinoma-spline, što omogućuje pronalaženje drugih s nekim koeficijentima, iako formule mogu biti prilično složene.

Sadržaj koeficijenta sline. Kao što je navedeno u prethodnom odlomku, sadržaj parametara spline u prikazu fragmenta određen je tipom funkcije. Kod polinomskog prikaza treba izdvojiti slučaj kada koeficijenti imaju isto fizičko značenje kao i ulazni podaci. Odnosno, koeficijenti su vrijednosti spline u čvorovima. Ovaj oblik se zove Lagrange, po analogiji s Lagrangeovim polinomom. Treba napomenuti da su osnovni splinovi ovog oblika jednaki jedinici u središnjem čvoru i nuli u svim ostalim.

Posebni splinovi. U nekim slučajevima se razmatraju funkcije koje su blizu granice između spline-a i običnih funkcija, kao i spline-a i grudastih funkcija. Na primjer, to su splinovi koji se sastoje od dva fragmenta. Imaju pojednostavljenu verziju konstrukcije, ali posebnu pozornost treba obratiti na rubne uvjete.

Književnost

  • Rogers D., Adams J. Matematičke osnove računalne grafike. - M .: Mir, 2001. - ISBN 5-03-002143-4
  • Livšits Evgenij Davidovič. Kontinuirani E-uzorci za aproksimaciju polinomom i racionalnim splajnovima: Kand. … cand. fizika-matematika. znanosti: 01.01.01 Moskva, 2005. 90 str. RSL OD, 61:06-1/42
  • Alberg J., Nilson E., Walsh J. - Spline teorija i njezine primjene
  • Vinnichenko L. F. Eksponencijalni histospline: preduvjeti za uvod // Izdavačka kuća Education and Science s.r.o., konferencija "Europska znanost XXI stoljeća", 2009.
  • Korneichuk, N. P., Babenko, V. F., Ligun, A. A. Ekstremna svojstva polinoma i splinova / rupa. izd. A. I. Stepanec; izd. S. D. Koshis, O. D. Melnik, Akademija znanosti Ukrajine, Institut za matematiku. - K.: Naukova dumka, 1992. - 304 str. - ISBN 5-12-002210-3
  • Vershinin VV, Zavyalov Yu. S, Pavlov NN Ekstremna svojstva splinesa i problem zaglađivanja. - Novosibirsk: Nauka, 1988, UDK 519.651
  • Roženko Aleksandar Iosifović. Teorija i algoritmi varijacijske spline aproksimacije: Dis. … dr. fiz.-mate. znanosti: 01.01.07: Novosibirsk, 2003 231 str. RSL OD, 71:05-1/136
  • Shikin E.V., Plis L.I. Krivulje i površine na ekranu računala. Vodič za spline za korisnike. - M.: DIALOG-MEPhI, 1996. - 240 str. ISBN 5-86404-080-0 , UDK 681.3 Sh57
  • Khakimov B.V. Modeliranje korelacijskih ovisnosti splajnovima na primjerima iz geologije i ekologije. - Sankt Peterburg: NEVA, 2003. - 144 str. - ISBN 5-211-04588-2

vidi također

  • Savršen spline
  • Interpolacijski spline
  • L-spline (linearni frakcijski)
  • lokalni spline
  • Atomske funkcije

Bilješke

Linkovi

  • Interaktivno izračunavanje spline s Mathcad/Maple aplikacijskim poslužiteljem

Svaki manje-više složen crtež sastoji se ne samo od ravnih segmenata, krugova i njihovih lukova, već i od skupa zakrivljenih linija. Glatke krivulje prikladno se konstruiraju metodom zaglađivanja krivulja tipa B-spline. B-spline je glatka krivulja, točnije, krivulja s kontinuiranim višim derivacijama do n-te, gdje je n red splajna. Imajte na umu da pravac sastavljen od B-spline neće prolaziti točno kroz zadane točke. Sličnu krivulju čine lukovi polinoma trećeg stupnja, budući da takav polinom osigurava nužni kontinuitet. Linija se konstruira iterativnim postupkom.

Razmotrimo konstrukciju kubičnog spline-a. Neka su nam zadane dvije susjedne točke kroz koje crtamo kubni polinom, ali polinom ima 4 koeficijenta, stoga su nam potrebna još dva dodatna uvjeta ili točke. Da bismo to učinili, uzimamo još dvije susjedne točke. Što glatkiju želimo vidjeti liniju, to je teže proći točno kroz točke. Ako je u formuli x \u003d q 3, dovoljna je glatkoća 3.

Glatkoću diktiraju fizički problemi i tu je često potrebno pronaći kompromis između glatkoće i točnosti. Na primjer, hidrodinamika radi s površinama koje su opisane jednadžbama četvrtog stupnja (tako visok red je neophodan da bi se povećala glatkoća raznih vrsta fizičkih uređaja izračunatih pomoću ovih jednadžbi, a time i izbjegle turbulencije). Ali kako se redoslijed (tj. glatkoća) spline povećava, točnost se smanjuje.

Smatrati . Neka je t parametar po kojem trčimo od točke P i do točke P i+1 . U t = 0 nalazimo se u točki P i , u t = 1 nalazimo se u točki P i+1 . Ako je 0< t < 1, то мы находимся между P i и P i+1 .

Ova linija u svakoj točki ima sustav:


x(t) = ((a 3 t + a 2)t + a 1)t + a 0 , za 0<= t <= 1

y(t) = ((b 3 t + b 2)t + b 1)t + b 0 , za 0<= t <= 1 a 3 = (-x i-1 + 3x i - 3x i+1 + x i+2)/6

A 2 = (x i-1 - 2x i + x i+1)/2

A 1 = (-x i-1 + x i+1)/2

A 0 = (x i-1 + 4x i + x i+1)/6

Točke b 3 - b 0 obojene su na isti način, ali je y zamijenjeno za x. Između P i i P i+1 točke a i b se ne mijenjaju. Ako navedete prvu točku nakon zadnje točke, sustav zatvara konturu.

Prednosti B-spline: između točaka, koeficijenti su konstantni; lokalna promjena ne podrazumijeva ponovno izračunavanje cijelog splajna. Nedostaci: mogu nastati problemi pri aproksimaciji ravne crte koja ima diskontinuitete u drugim derivacijama (na primjer, konjugacija ravne crte i kružnog luka); s estetskog stajališta, nisu uvijek prihvatljivi, budući da se zakrivljenost površine konstruirane pomoću splinova ponekad mijenja neravnomjerno, što dovodi do izobličenja (na primjer, bizarna izobličenja predmeta koji se reflektiraju od karoserije automobila).

Posljedice

B-spline zaglađivanje

Matematički prikaz tijela sastavljenog od jednostavnih geometrijskih oblika (kugle, cilindri ili stošci) nije težak. Ali vrlo često to nije slučaj; karoserije automobila, površine zrakoplova, trupovi i još mnogo toga nije tako lako opisati. Postupak koji se obično koristi u tim slučajevima obično je sljedeći:

  • površinu prekrivaju dvije zamišljene skupine linija; prvi ide u uzdužnom smjeru, drugi je poprečno na prvi. Ova mreža linija definira skup ćelija, od kojih će svaka (u slučaju glatke površine) biti ograničena s četiri glatke krivulje;
  • koordinate čvorova ove zamišljene mreže mjere se na modelu ili na skupu crteža presjeka površine;
  • uz pomoć interpolacije (prosječenja) matematički se opisuju ove dvije skupine linija koje čine mrežu.

Polinomima je moguće konstruirati dovoljno glatke krivulje i površine. Recimo da želimo plohu nacrtati kao graf funkcije z = z(x, y). Pravac y = const na ovoj površini bit će predstavljen pravom z = z(x), prolazit će nizom točaka (x 0 , z 0), ..., (x i , z i), ... , (x n , z n) s x 0< ... < x i < ... < x n . Наша цель — провести через эти точки составную кривую f(x), имеющую следующие свойства:

  • na svakom podintervalu x i-1<= x <= x i , i = 1, 2, ..., n функция f(x) является кубическим полиномом;
  • njegova prva i druga derivacija su kontinuirane u čvorovima.

Rezultirajuća glatka krivulja naziva se kubni spline. Pojam "spline" nastao je analogno: to je naziv alata za crtanje - tankog metalnog ravnala koje se može savijati tako da prolazi kroz zadane točke. Fizički, takva krivulja minimizira energiju unutarnjih naprezanja. Matematički gledano, ima minimalnu srednju kvadratnu zakrivljenost, odnosno najglatkiju je. Zglobovi imaju mnoge primjene u konstrukciji zakrivljenih oblika. Međutim, oni također imaju neka ograničenja:

  • lokalna promjena podrazumijeva ponovno izračunavanje cijelog spline-a;
  • problemi mogu nastati pri aproksimaciji ravne linije koja ima diskontinuitete u drugim derivacijama (na primjer, konjugacija ravne crte i kružnog luka);
  • s estetskog stajališta, nisu uvijek prihvatljivi, budući da se zakrivljenost površine konstruirane pomoću splinova ponekad mijenja neravnomjerno, što dovodi do izobličenja (na primjer, bizarna izobličenja predmeta koji se reflektiraju od karoserije automobila).

Prvo ograničenje može se ukloniti B-splineom. Opći oblik krivulje dobiven u ovom slučaju prikazan je u .

Na ovoj slici, spline je produžen od svojih krajnjih točaka x i-4 , x i ravnim linijama duž x-osi. Rezultat je kubni spline na bilo kojem broju segmenata, ali je različit od nule samo na četiri od njih. Takva se funkcija naziva B-spline (ili temeljni splajn) četvrtog reda (ili trećeg stupnja). O tome kažu da ima minimalnu potporu (oslonac je broj segmenata na kojima je spline različit od nule).

Imajte na umu da je kubni B-spline potpuno definiran skupom čvorova na kojima je definiran i samo jednom zadanom vrijednošću z. U općenitijem obliku, B-spline M mi (x) reda m (ili stupnja m - 1) na danom skupu čvorova je svugdje nula, osim za m uzastopnih segmenata x i-m< x < x i . Опять-таки M mi (x) определяется множеством узлов и одной величиной z. Принято исключать последнюю степень свободы и фиксировать амплитуду B-сплайна некоторым стандартным образом.

Često je za izračune prikladno koristiti normalizirani B-spline N mi (x) povezan s M mi (x) relacijom N mi (x) = (x i - x i-m)M mi (x).

Bilo koji spline reda m na skupu čvorova x 0 , x 1 , ..., x n može se izraziti kao linearna kombinacija B-splinea definiranih na istom skupu čvorova, proširenih za (m - 1) dodatnih čvorova na svaki kraj intervala, koji se može birati proizvoljno: x -m+1 , x -m+2 , ..., x -1 i x n+1 , ..., x n+m-1 . Moguće je konstruirati m + n - 1 uzastopnih B-splinea na proširenom skupu čvorova, od kojih je svaki različit od nule na m uzastopnih segmenata. Stoga možemo napisati:
j (x) = S c i * M mi (x),
gdje je j (x) bilo koji splajn stupnja (m - 1) na izvornom skupu čvorova i M mi (x) je B-spline na proširenom skupu čvorova, različit od nule za x i-m< x < x i ; c i суть числовые коэффициенты; суммирование ведется по i = 1, ..., m + n - 1.

Ako postoji skup vektora r 0 , r 1 , ..., r n , onda ih možete koristiti: r(u) = S r i * N 4, i+1 (u) (zbrajanje se provodi preko i = 0, ..., n). Budući da postoji (n + 1) vektorskih koeficijenata, potreban je skup (n + 1) B-spline-a. Zadnja formula za 0<= u <= n - 2 является уравнением кривой, образованной кубическими B-сплайнами.

Svojstva

Neka od najjednostavnijih svojstava proizlaze iz identiteta S N 4, i+1 = 1, 0<= u <= n - 2, i = 0..n. При u = 0 следует: r(0) = N 42 (0)(r 1 - r 0). Из этого следует, что если r 0 , r 1 , .., r n — вершины некоторой замкнутой ломанной, то кривая, построенная на основе B-сплайна, начинается в r 0 и ее касательная в этой точке имеет направление (r 1 - r 0). Аналогичное утверждение верно и для другого конца. Главное преимущество этого сплайна заключается в том, что изменение одной из вершин влечет за собой изменение только четырех отрезков кривой. Далее, мы также можем построить кривую, аппроксимирующую ломанную с любым желаемым числом сторон. Отрезок сплайна всегда лежит в выпуклой оболочке:

Važna posljedica ove konveksne ljuske je da se ona degenerira u ravnu liniju, ako su 4 uzastopna vrha izlomljene linije kolinearna, tada odgovarajući segment krivulje mora biti ravan.

Postoje još 2 korisne činjenice:

  • krivulja prolazi blizu sredine svake strane, osim za 1. i posljednju točku;
  • za k = 2, ..., n - 2 krivulja prolazi kroz točke: 1/6r k-1 + 2/3r k + 1/6r k+1 = 2/3r k + 1/3(1/2 (r k-1 + rk+1))

Ove točke, kao što je prikazano na , leže 1/3 udaljenosti od r k na liniji koja spaja r k sa središtem segmenta između r k-1 i r k+1 .

A prošlo je skoro godinu dana otkako mi je pala na pamet ideja za drugi. Zbog mnogih okolnosti (prije svega, lijenosti i zaborava), ova ideja nikada ranije nije bila provedena, ali sada sam se okupio, napisao sav ovaj materijal i spreman sam ga predstaviti vašoj pozornosti.

Počet ću s malim uvodom. Kao student 4., u to vrijeme, preddiplomskog studija, studirao sam kolegij „Računalna grafika“. Bilo je puno različitih zanimljivih (i ne baš) zadataka, ali jedna stvar mi je jako pala u dušu: interpolacija kubičnim splajnovima s zadanim prvim izvedenicama na krajevima intervala. Korisnik je morao postaviti vrijednosti prvih izvedenica, a program je morao očitati i prikazati interpolacijsku krivulju. Posebnost i glavna poteškoća zadatka leži u činjenici da se specificiraju prve derivacije, a ne druge, kao u klasičnoj formulaciji spline interpolacije.
Kako sam to riješio i do čega je na kraju došlo, samo ću opisati u ovom članku. I da, ako, prema opisu zadatka, niste razumjeli njegovo značenje ili složenost, ne brinite, pokušat ću i ja sve ovo otkriti. Pa, idemo.

Oh ne, čekaj trenutak. Evo dva broja za vas:
a) 2, 4, 6, 8, ?
b) 1, 3, ? , 7, 9

Koji brojevi trebaju biti umjesto pitanja i zašto? Jeste li stvarno sigurni u svoj odgovor?

Interpolacija

Interpolacija, interpolacija (od latinskog inter-polis - "izglađen, obnovljen, ažuriran; transformiran") - u računskoj matematici, metoda pronalaženja međuvrijednosti veličine iz postojećeg diskretnog skupa poznatih vrijednosti. (c) Wikipedia

Dopustite mi da objasnim na primjerima. Postoje zadaci kada trebamo, uvjetno, saznati "zakon raspodjele" (stavio sam ga pod navodnike, budući da je to, općenito govoreći, pojam iz drugog područja matematike) određenog parametra po nekoliko svojih poznatih vrijednosti. Najčešće govorimo o promjeni određenog parametra u vremenu: koordinate tijela koje se kreće, temperatura objekta, fluktuacije tečaja itd. Istovremeno, zbog nekih okolnosti, nismo imali priliku kontinuirano promatrati ovaj parametar, mogli smo saznati njegove vrijednosti samo u nekim odvojenim vremenskim točkama. U ovom slučaju imamo skup točaka oblika vrijednost (vrijeme), a cilj problema je vratiti krivulju koja prolazi kroz ove točke i kontinuirano opisuje promjenu ovog parametra.

Treba razumjeti da je nemogućnost stalnog praćenja relevantnog parametra obično neka vrsta tehnološkog ograničenja. S razvojem tehnologije takvih je situacija sve manje. Od suvremenih zadataka takvog plana je putanja kretanja, na primjer, rovera. Održavanje kontinuirane komunikacijske sesije (do sada) još uvijek nije moguće, ali želim kontrolirati njezino kretanje i crtati lijepe putanje. Ispada da se određene koordinate mogu saznati samo u onim trenucima kada je veza ipak uspostavljena, a cijela putanja se mora obnavljati koristeći tako dobivene točke s vremena na vrijeme.
Drugi način korištenja interpolacije. Neki moderni televizori prikazuju sliku sa stopom osvježavanja slike do >= 1000 Hz (iako su to još uvijek previsoke vrijednosti). Većina televizora to ne može, ali i pored toga, mnogi prikazuju sliku na frekvenciji od 100Hz – ova vrijednost je već prilično klasična. A ako vjerujete Wikipediji, onda je u kinu "frekvencija od 24 sličica u sekundi globalni standard". Kako bi pretvorio 24 sličica u sekundi izvornog video streama u 100 sličica u sekundi rezultata, TV koristi interpolaciju. Naime, neki algoritmi u stilu "uzmite dva susjedna okvira 1 i 2, izračunajte razliku između njih i od toga formirate 3 dodatna okvira koja se moraju ugurati između ta dva početna" -> dobivaju se okviri 1, 1_1 , 1_2 , 1_3 , 2

Za daljnje razmišljanje, uzmimo jednostavniji primjer. Zamislite npr. laboratorijski rad iz geografije u nekom 6. razredu (usput rečeno, ja sam ga jednom stvarno imao). Potrebno je izmjeriti temperaturu zraka svaka 3 sata i zabilježiti podatke, a zatim predati učitelju grafikon promjena temperature od doba dana. Pretpostavimo da smo prema rezultatima mjerenja dobili sljedeću tablicu (podaci su izmišljeni nasumično i ni na koji način ne pretendiraju na uvjerljivost):

Dobivene podatke prikažimo na grafikonu:

Zapravo, podaci se bilježe i odražavaju na grafikonu. Približili smo se problemu interpolacije - kako vratiti glatku krivulju iz dostupnih točaka?

Broj uvjeta i stupanj interpolirajućeg polinoma

Možemo li uopće jamčiti da takva funkcija koja povezuje sve zadane točke uopće postoji?

Da, takva funkcija zajamčeno postoji, a štoviše, postojat će beskonačan broj takvih funkcija. Za bilo koji skup točaka bit će moguće smisliti koliko god želite funkcija koje će prolaziti kroz njih. Evo nekoliko primjera kako se dvije točke mogu povezati na različite načine:



Međutim, postoji i način da se krivulja interpolacije nedvosmisleno specificira. U najklasičnijem slučaju, polinom se uzima kao interpolacijska krivulja:

Da bi se takav polinom povukao kroz dostupne točke na jedinstven način, potrebno je i dovoljno da stupanj polinoma bude 1 manji od broja Uvjeti(Namjerno sam naglasio ovu riječ jer ću se vratiti na ovu formulaciju na kraju ovog odjeljka). Za sada, radi jednostavnosti, uvjet će biti koordinate točke. Govoreći ljudskim jezikom, kroz 2 točke može se povući pravac (polinom 1. stupnja), kroz 3 točke - parabolu (polinom 2. stupnja) itd.

Da se vratimo na naš problem s temperaturom - u njemu smo odredili 6 točaka, što znači da da bi se polinom nacrtao na jedinstven način, on mora biti 5. stupnja

Interpolacijski polinom bi tada izgledao ovako:

$inline$-\frac(x^5)(14580)+\frac(13x^4)(1944)-\frac(41x^3)(162)+\frac(983x^2)(216)-\frac (2273x)(60)+117$inline$

A sada bih trebao napraviti važnu primjedbu i objasniti što sam mislio pod tim "stanje". Polinom se može odrediti ne samo koordinatama točaka kroz koje prolazi, uvjeti mogu biti bilo koji parametri ovog polinoma. U najjednostavnijem slučaju, to su zapravo koordinate točaka. Ali kao uvjet možete uzeti, na primjer, prvi izvod ovog polinoma u bilo kojoj točki. druga izvedenica. Treća izvedenica. Općenito, svaki mogući izvod u bilo kojoj točki u kojoj postoji ovaj polinom. Dopustite mi da objasnim na primjeru:
Ravna linija se može definirati jedinstveno, kao što sam rekao, s dvije točke:

Istu liniju, s druge strane, možemo definirati koordinatom jedne točke i kutom nagiba alfa prema horizontali:

Kod polinoma viših stupnjeva mogu se koristiti i složeniji uvjeti (drugi izvod, treći izvod, itd.), a svaki takav parametar ulazi u ukupan broj uvjeta koji jednoznačno određuju ovaj polinom. Da ne budem neutemeljen, evo još jednog primjera:

Neka nam budu data sljedeća tri uvjeta:

Postoje tri uvjeta, što znači da želimo dobiti polinom drugog stupnja:

Zamjena

Razmatramo prvu derivaciju i razmatramo

Razmatramo drugu derivaciju i razmatramo

Odavde dobivamo da naš polinom izgleda ovako:

Interpolacija kubičnim splajnovima

Evo, tiho, približavamo se mom zadatku. Polinomska interpolacija nije jedina moguća metoda interpolacije. Među svim ostalim metodama postoji metoda interpolacije kubičnim splajnovima.

Temeljna razlika između ideje splajn interpolacije i interpolacije polinomom je u tome što je polinom jedan, a splajn se sastoji od nekoliko polinoma, naime, njihov je broj jednak broju intervala unutar kojih interpoliramo. U primjeru s našom temperaturom zraka, u kojem imamo definiranih 6 točaka, imat ćemo 5 intervala - prema tome, imat ćemo 5 polinoma, svaki u svom intervalu.

Svaki od ovih polinoma je polinom trećeg stupnja (strogo govoreći, stupanj nije veći od trećeg, budući da na nekim intervalima interpolirajuća krivulja može postati kvadratna parabola ili čak linearna funkcija, ali u općem slučaju ona još uvijek je polinom trećeg stupnja) . Formulirajući gore navedeno, dobivamo da će sve naše točke biti povezane određenom krivuljom, gdje je svaka polinom trećeg stupnja, naime:

Vraćajući se na ono što je rečeno u prethodnom paragrafu, da bi se jednoznačno specificirao jedan polinom 3. stupnja potrebna su 4 uvjeta. U ovom zadatku imamo 5 polinoma, odnosno da bismo ih sve postavili potrebno nam je ukupno 5∙4=20 uvjeta. A evo kako ispadaju:

1) Prvi polinom je definiran na prvoj i drugoj točki - to su dva uvjeta. Drugi polinom definiran je na drugoj i trećoj točki - još dva uvjeta. Treći polinom, četvrti, peti - svaki od njih je definiran na 2 točke - ukupno to daje 10 uvjeta.

2) Za svaku međutočku iz skupa (a to su 4 točke s vremenima 12:00, 15:00, 18:00, 21:00) moraju biti ispunjeni uvjet da prva i druga izvodnica za lijevu i pravi polinomi se moraju podudarati. Formula:

Dva takva uvjeta za svaku od međutočaka daju još 8 uvjeta. Valja dodati da preciziramo samo samu činjenicu jednakosti, a kakvo konkretno značenje oni poprimaju u ovom slučaju je sasvim drugi zadatak i smatra se prilično teškim.

3) Postoje dva uvjeta koja još nisu određena. To su takozvani "granični uvjeti", čiji zadatak određuje koji će se spline ispasti. Obično su druge derivacije na krajevima intervala postavljene na 0:

Ako to učinimo, onda ćemo dobiti takozvani "prirodni spline". Za izračunavanje takvih spline-a već je napisan ogroman broj knjižnica, uzeti ih i koristiti ih.

Razlika između mog zadatka i klasične formulacije problema, mojih promišljanja zadatka i samog rješenja

I tu dolazimo do uvjeta mog zadatka. Učitelj je smislio takav zadatak da prve derivacije treba postaviti i na lijevom i na desnom kraju intervala, a program izračunati interpolirajuću krivulju. A za takav zahtjev nisam našao gotove algoritme ...
Naravno, neću opisivati ​​cijeli vaš “kreativni” put od trenutka kad sam čuo zadatak do trenutka kada sam ga prošao. Ispričat ću samo samu ideju i pokazati njezinu provedbu.

Složenost zadatka je da, postavljanjem prvih izvodnica na krajeve intervala, da, postavljamo ovaj spline. U teoriji. Ali izračunati ga u praksi prilično je kompliciran i potpuno neočigledan zadatak (oni koji žele mogu pogledati kod za pronalaženje prirodnog splajna na Wiki - ru.wikipedia.org/wiki/Cubic_spline - i pokušati ga barem razumjeti ). Naravno, apsolutno nisam želio trošiti puno vremena na kopanje po matanu i pokušavajući izvući formule koje su mi bile potrebne. Htio sam jednostavnije i elegantnije rješenje. I našao sam ga.
Razmotrimo naš spline i uzmimo prvi od njegovih intervala. Na ovom intervalu su već postavljena 3 uvjeta:

Korisnik definiran

Da bismo jednoznačno odredili kubni polinom na ovom intervalu, nedostaje nam još samo jedan uvjet. Ali možemo ga samo izmisliti! Uzmite drugi izvod i postavite ga jednakim, na primjer, 0:

Nepotkrijepljena pretpostavka

Dakle, poznavajući ova 4 uvjeta, u potpunosti određujemo ovaj polinom. Poznavajući sve parametre ovog polinoma, možemo izračunati vrijednosti prve i druge derivacije u drugoj točki, a budući da su iste kao vrijednosti prve i druge derivacije za polinom u drugom intervalu , to dovodi do činjenice da određujemo i drugi polinom:

Izračunato od

Izračunato od

Slično, brojimo treći polinom, četvrti, peti i tako dalje, bez obzira koliko ih ima. To jest, zapravo, ponovno stvaramo cijeli spline. No, budući da smo ga uzeli potpuno nasumično, to će dovesti do činjenice da se derivacija koju je korisnik dao na desnom kraju splajna neće poklapati s derivacijom koju smo dobili tijekom ovakvih izračuna. Ali ispada da je vrijednost derivacije na desnom kraju splajna funkcija koja ovisi o vrijednosti druge derivacije na lijevom kraju:

A budući da takav splajn koji bi zadovoljio zadane uvjete zajamčeno postoji i postoji u jednoj instanci, to znači da možemo razmotriti razliku:

I pokušajte pronaći takvu vrijednost pri kojoj bi se pretvorila u 0 - i ovo će biti isto ispravan vrijednost koja gradi spline koji je tražio korisnik:

Najzanimljivija stvar u mojoj ideji je da se ova ovisnost pokazala linearnom (bez obzira na broj točaka kroz koje crtamo splajn. Ovu činjenicu dokazuju teorijski izračuni), što znači da možete nasumično uzeti bilo koje dvije početne vrijednosti i , izračunajte i , i odmah izračunajte vrlo ispravnu vrijednost koju će nam željeni spline izgraditi:

Ukupno, zajamčeno je da ćemo pronaći željeni spline za 3 izvođenja takvih izračuna.

Neki kod i screenshotovi programa

class CPoint ( public int X ( get; ) public int Y ( get; ) public double Df ( get; set; ) public double Ddf ( get; set; ) public CPoint (int x, int y) ( X = x; Y = y;))

Klasa CSplineSubinterval (javni dupli A (dobi;) javni dupli B (dobi;) javni dupli C (dobi;) javni dupli D (dobi;) privatni samo za čitanje CPoint _p1; privatni samo za čitanje CPoint _p2; javni CSplineSubinterval(CPoint p1, CPoint p2, dvostruki df, dvostruki ddf) ( _p1 = p1; _p2 = p2; B = ddf; C = df; D = p1.Y; A = (_p2.Y - B * Math.Pow(_p2.X - _p1.X, 2) - C * (_p2.X - _p1.X) - D) / Math.Pow(_p2.X - _p1.X, 3); ) javni dupli F(int x) (vraćanje A * Math.Pow(x - _p1.X, 3) + B * Math.Pow(x - _p1.X, 2) + C * (x - _p1.X) + D; ) javni dupli Df(int x) ( povratak 3 * A * Matematika .Pow(x - _p1.X, 2) + 2 * B * (x - _p1.X) + C; ) javni dupli Ddf(int x) ( povratak 6 * A * (x - _p1.X) + 2 * B;))

Klasa CSpline (privatni samo za čitanje CPoint _points; privatni samo za čitanje CSplineSubinterval _splines; javni dupli Df1 ( get ( return _points.Df; ) set ( _points.Df = vrijednost; ) ) javni dvostruki Ddf1 ( get ( return _points.Ddf; ) set ( _ .Ddf = vrijednost; ) ) public double Dfn ( get ( return _points [_points. Length - 1].Df; ) set ( _points [_points. Length - 1].Df = value; ) ) public double Ddfn ( get ( return _points[_points.Length - 1].Ddf; ) set ( _points[_points.Length - 1].Ddf = vrijednost; ) ) public CSpline(CPoint bodova) (_points = bodova; _splines = new CSplineSubinterval; ) public void GenerateSplines( ) ( const double x1 = 0; var y1 = BuildSplines(x1); const double x2 = 10; var y2 = BuildSplines(x2); _points.Ddf = -y1 * (x2 - x1) / (y2 - y1); BuildSplines) (_points.Ddf); _points[_points.Length - 1].Ddf = _splines[_splines.Length - 1].Ddf(_points[_points.Length - 1].X); ) private double BuildSplines(double ddf1) (dvostruki df = _točaka.Df, ddf = ddf1; za (var i = 0; i< _splines.Length; i++) { _splines[i] = new CSplineSubinterval(_points[i], _points, df, ddf); df = _splines[i].Df(_points.X); ddf = _splines[i].Ddf(_points.X); if (i < _splines.Length - 1) { _points.Df = df; _points.Ddf = ddf; } } return df - Dfn; } }



Plavi segmenti su prvi derivati ​​splajna u odgovarajućim točkama. Dodan je takav grafički element radi veće jasnoće.

Prednosti i nedostaci algoritma

Iskreno govoreći, nisam radio nikakvu ozbiljnu analizu. Na dobar način, vrijedilo bi napisati testove, provjeriti kako funkcionira u različitim uvjetima (malo / mnogo interpolacijskih točaka, jednake / proizvoljne između točaka, linearne / kvadratne / kubične / trigonometrijske / itd. funkcije, i tako dalje), ali Nisam, izvini :)

Naprosto, možemo reći da je složenost algoritma O (N), jer, kao što sam rekao, bez obzira na broj bodova, dovoljna su dva kruga izračuna da se dobije ispravna vrijednost druge derivacije na lijevom kraju interval, i još jedan za izgradnju spline .

Međutim, ako netko želi kopati u kod i provesti neku detaljniju analizu ovog algoritma, bit ću samo sretan. Pišite mi osim o rezultatima, zanimalo bi me.

Pa što nije u redu s IQ testovima?

Na samom početku članka napisao sam dva niza brojeva i zamolio ih da nastave. Ovo je prilično često pitanje na svim IQ testovima. U principu, pitanje je kao pitanje, ali ako zakopate malo dublje, ispada da je prilično zabluda, jer uz određenu želju možete dokazati da na njega nema “točnog” odgovora.

Razmotrimo prvo seriju "2, 4, 6, 8,?"
Zamislite ovaj niz brojeva kao skup parova vrijednosti:

Gdje kao uzimamo sam broj, a kao redni broj ovog broja. Koja vrijednost treba biti na mjestu?

Ideja koju pokušavam glatko dovesti je da možemo zamijeniti apsolutno svaku vrijednost. Uostalom, što takvi zadaci zapravo provjeravaju? Sposobnost osobe da pronađe određeno pravilo koje povezuje sve dostupne brojeve i prema tom pravilu izvede sljedeći broj u nizu. Znanstveno rečeno, ovdje je zadatak ekstrapolacije (zadatak interpolacije je pronaći krivulju koja prolazi kroz sve točke unutar određenog intervala, a zadatak ekstrapolacije je nastaviti ovu krivulju izvan intervala, čime se "predvidi" ponašanje krivulja u budućnosti). Dakle, ekstrapolacija nema jedinstveno rješenje. Općenito. Nikada. Da je drugačije, ljudi bi davno predvidjeli vremensku prognozu za cijelu povijest čovječanstva, a kolebanja tečaja rublje nikada ne bi bila iznenađenje.

Naravno, pretpostavlja se da u ovom zadatku još uvijek postoji točan odgovor i da je jednak 10, a onda je “zakon” koji povezuje sve te brojeve Dodaj oznake









































Krivulje i površine koje se susreću u praktičnim problemima često imaju prilično složen oblik, koji ne dopušta univerzalnu analitičku specifikaciju u cjelini uz pomoć elementarnih funkcija. Stoga se sastavljaju od relativno jednostavnih glatkih fragmenata - segmenata (krivulja) ili rezova (površina), od kojih se svaki može sasvim zadovoljavajuće opisati pomoću elementarnih funkcija jedne ili dvije varijable. Istodobno, sasvim je prirodno zahtijevati da glatke funkcije koje se koriste za konstruiranje parcijalnih krivulja ili površina imaju sličnu prirodu, na primjer, budu polinomi istog stupnja. A kako bi rezultirajuća krivulja ili površina bila dovoljno glatka, potrebno je biti posebno oprezan na spojevima odgovarajućih fragmenata. Stupanj polinoma bira se iz jednostavnih geometrijskih razmatranja i u pravilu je mali. Za glatku promjenu tangente duž cijele složene krivulje dovoljno je opisati spojne krivulje polinomima trećeg stupnja, kubičnim polinomima. Koeficijenti takvih polinoma uvijek se mogu odabrati tako da zakrivljenost odgovarajuće složene krivulje bude kontinuirana. Kubični splinovi koji nastaju u rješavanju jednodimenzionalnih problema mogu se prilagoditi oblikovanju fragmenata složenih površina. I ovdje se, sasvim prirodno, pojavljuju bikubični splinovi, opisani polinomima trećeg stupnja u svakoj od dvije varijable. Rad s takvim splinovima zahtijeva mnogo više izračuna. Ali pravilno organiziran proces omogućit će uzimanje u obzir kontinuirano rastućih sposobnosti računalne tehnologije u najvećoj mjeri. Spline funkcije Neka na segmentu , To jest, Napomena. Indeks (t) brojeva a^ ukazuje na to. da je skup koeficijenata kojim je određena funkcija S(x) na svakom parcijalnom segmentu D njegov vlastiti. Na svakom od segmenata D1, splajn 5(x) je polinom stupnja p i na tom je segmentu određen koeficijentom p + 1. Ukupno djelomični segmenti - tada. Dakle, da bi se u potpunosti odredio splajn, potrebno je pronaći (p + 1) tada brojeve. Uvjet) znači kontinuitet funkcije S(x) i njezinih derivacija na svim unutarnjim čvorovima mreže w. Broj takvih čvorova je m - 1. Tako se za pronalaženje koeficijenata svih polinoma dobivaju p(m - 1) uvjeti (jednadžbe). Za potpunu definiciju splajna nema dovoljno (uvjeti (jednadžbe). Izbor dodatnih uvjeta određen je prirodom problema koji se razmatra, a ponekad jednostavno željom korisnika. TEORIJA SPLAJNA Primjeri rješenja Najčešće se razmatraju problemi interpolacije i izglađivanja, kada je potrebno izgraditi jedan ili drugi splajn iz zadanog niza točaka na ravnini.U interpolacijskim problemima potrebno je da graf spline prolazi kroz točke, što nameće m + 1 dodatnih uvjeta (jednadžbi) na njegove koeficijente. Preostali p - 1 uvjeti (jednadžbe) za jedinstvenu konstrukciju splajna najčešće se postavljaju u obliku vrijednosti donjih derivacija splajna na krajevima segmenta koji se razmatra [a, 6] - granica ( granični) uvjeti. Mogućnost odabira različitih graničnih uvjeta omogućuje vam da izgradite spline s različitim svojstvima. U problemima zaglađivanja, splajn se gradi tako da njegov graf prolazi blizu točaka (i "" Y "), * = 0, 1, ..., m, a ne kroz njih. Mjera te bliskosti može se definirati na različite načine, što dovodi do značajne raznolikosti zaglađujućih spline-a. Opisanim opcijama odabira pri konstruiranju spline funkcija nije iscrpljena njihova raznolikost. I ako su se u početku razmatrale samo djelomično polinomske splajn funkcije, onda kako se širio opseg njihove primjene, počeli su se pojavljivati ​​splinovi, "slijepljeni" i iz drugih elementarnih funkcija. Interpolacijski kubični splines Izjava interpolacijskog problema Neka je mreža w zadana na intervalu [a, 6) Razmotrimo skup brojeva Problem. Konstruirajte funkciju koja je glatka na segmentu (a, 6] i poprima zadane vrijednosti u čvorovima mreže o, tj. "Nametanjem dodatnih uvjeta funkciji koja se konstruira, može se postići potrebna jedinstvenost. U aplikacijama, često postaje potrebno aproksimirati funkciju zadanu analitički pomoću funkcije s propisanim dovoljno dobrim svojstvima. Na primjer, u slučajevima kada se izračunavanje vrijednosti dane funkcije f(x) u segmentu točaka [a, 6] je povezana sa značajnim poteškoćama i/ili zadana funkcija /(x) nema potrebnu glatkoću, zgodno je koristiti drugu funkciju koja bi dovoljno dobro aproksimirala zadanu funkciju i bila bi lišena njezinih nedostataka. [a, 6] glatka funkcija a(x) koja se podudara u čvorovima mreže w sa zadanom funkcijom /(X). Definicija interpolacijskog kubičnog splajna Interpolacijski kubični splajn S(x) na mreži w je funkcija koja je 1) na svakom od segmenata polinom trećeg stupnja, 2) dvaput kontinuirano diferencibilna na segmentu [a, b ], odnosno pripada klasi C2[a, 6], a 3) zadovoljava uvjete Na svakom od segmenata, splajn S(x) je polinom trećeg stupnja i određen je na tom segmentu s četiri koeficijenta. Ukupan broj segmenata je m. To znači da je za potpuno definiranje splajna potrebno pronaći 4m brojeva. Uvjet znači kontinuitet funkcije S (x) i njenih derivacija S "(x) i 5" (x) na svim unutarnjim čvorovima mreže w. Broj takvih čvorova je m - 1. Tako se za pronalaženje koeficijenata svih polinoma dobivaju još 3 (m - 1) uvjeta (jednadžbe). Zajedno s uvjetima (2) dobivaju se uvjeti (jednadžbe). Granični (granični) uvjeti Dva uvjeta koja nedostaju navedena su kao ograničenja na vrijednosti splajna i/ili njegovih derivacija na krajevima intervala [a, 6]. Prilikom konstruiranja interpolacijskog kubičnog spline-a najčešće se koriste rubni uvjeti sljedeća četiri tipa. A. Rubni uvjeti 1. tipa. - na kraju intervala [a, b] daju se vrijednosti prve derivacije željene funkcije. B. Rubni uvjeti 2. tipa. - na kraju intervala (a, 6) postavljaju se vrijednosti druge derivacije željene funkcije. B. Rubni uvjeti 3. tipa. nazivaju se periodičnim. Prirodno je zahtijevati ispunjenje ovih uvjeta u slučajevima kada je interpolirana funkcija periodična s periodom T = b-a. D. Rubni uvjeti 4. tipa. zahtijevaju poseban komentar. Komentar. U unutarnjim sepsi čvorovima, treći izvod funkcije S(x) je, općenito govoreći, diskontinuiran. Međutim, broj diskontinuiteta treće derivacije može se smanjiti korištenjem uvjeta 4. tipa. U tom slučaju će konstruirani splajn biti kontinuirano diferenciran tri puta na intervalima Konstrukcija interpolacijskog kubičnog splajna Opišimo metodu za izračun koeficijenata kubičnog splajna, u kojoj je broj veličina koje treba odrediti jednak. Na svakom od intervala traži se funkcija interpolacijske spline u sljedećem obliku Za granične uvjete 1. i 2. tipa ovaj sustav ima sljedeći oblik gdje koeficijenti ovise o izboru rubnih uvjeta. Rubni uvjeti 1. vrste: Rubni uvjeti 2. vrste: Kod rubnih uvjeta 3. tipa sustav određivanja brojeva zapisuje se na sljedeći način. Za granične uvjete 4. tipa sustav za određivanje brojeva ima oblik Matrice sva tri linearna algebarska sustava su matrice s dijagonalnom dominacijom. Ove matrice nisu degenerirane, pa stoga svaki od ovih sustava ima jedinstveno rješenje. Teorema. Interpolacijski kubični spline koji zadovoljava uvjete (2) i rubni uvjet jednog od četiri navedena tipa postoji i jedinstven je. Dakle, konstruirati interpolirajući kubični spline znači pronaći njegove koeficijente. Kada se pronađu koeficijenti splajna, vrijednost splajna S(x) u proizvoljnoj točki segmenta [a, b] može se pronaći pomoću formule ( 3). Međutim, za praktične proračune prikladniji je sljedeći algoritam za pronalaženje veličine S(x). Neka je x 6 [x", Prvo se izračunaju vrijednosti A i B prema formulama, a zatim se pronađe vrijednost 5(x): Upotreba ovog algoritma značajno smanjuje računske troškove za određivanje vrijednosti Savjet za korisnik Izbor graničnih (graničnih) uvjeta i interpolacijskih čvorova omogućuje u određenoj mjeri kontrolu svojstava interpolacijskih spline-a. A. Izbor graničnih (graničnih) uvjeta. Izbor rubnih uvjeta jedan je od središnjih problema u interpolaciji funkcija. Posebnu važnost dobiva u slučaju kada je potrebno osigurati visoku točnost aproksimacije funkcije f(x) splineom 5(g) blizu krajeva segmenta [a, 6]. Granične vrijednosti imaju primjetan učinak na ponašanje splajna 5(g) u blizini točaka a i b, a taj učinak brzo slabi kako se udaljavamo od njih. Izbor rubnih uvjeta često je određen dostupnošću dodatnih informacija o ponašanju funkcije f(x) koja se aproksimira. Ako su vrijednosti prve derivacije f"(x) poznate na krajevima segmenta (a, 6), onda je prirodno koristiti granične uvjete 1. tipa. Ako su vrijednosti drugog derivacija f "(x) poznata su na krajevima segmenta [a, 6], onda je to prirodna upotreba graničnih uvjeta 2. tipa. Ako je moguće birati između graničnih uvjeta 1. i 2. tipa, tada treba dati prednost uvjetima 1. tipa. Ako je f(x) periodična funkcija, onda se trebamo zaustaviti na rubnim uvjetima 3. tipa. Ako nema dodatnih podataka o ponašanju funkcije koja se aproksimira, često se koriste tzv. prirodni rubni uvjeti, ali treba imati na umu da je kod takvog izbora rubnih uvjeta točnost aproksimacije funkcije f (x) splineom S (x) blizu krajeva segmenta (a, ft] naglo opada. Ponekad se koriste rubni uvjeti 1. ili 2. tipa, ali ne s točnim vrijednostima odgovarajućih derivacija, ali s njihovim razlikama aproksimacija Točnost ovog pristupa je niska Praktično iskustvo proračuna pokazuje da je u razmatranoj situaciji najprikladniji izbor rubni uvjeti 4. tipa. B. Izbor interpolacijskih čvorova. Ako treća derivacija f""(x) funkcije pretrpi diskontinuitet u nekim točkama segmenta [a, b], tada za poboljšanje kvalitete aproksimacije te točke treba uključiti u broj interpolacijskih čvorova. Ako je druga derivacija /"(x) diskontinuirana, tada se moraju poduzeti posebne mjere kako bi se izbjeglo osciliranje spline u blizini točaka diskontinuiteta. Obično se interpolacijski čvorovi biraju tako da točke diskontinuiteta druge derivacije padaju unutar interval \xif), takav da. Vrijednost i može se odabrati numeričkim eksperimentom (često je dovoljno postaviti a = 0,01). Postoji skup recepata za prevladavanje poteškoća koje nastaju kada prvi izvod f "(x ) je diskontinuirana. Kao jedno od najjednostavnijih, možemo predložiti ovo: podijeliti segment aproksimacije na intervale u kojima je derivacija neprekidna i na svakom od tih intervala izgraditi spline. Izbor interpolacijske funkcije (plus i minus) Pristup 1. Lagrangeov interpolacijski polinom Prema danom nizu primjera rješenja SPLINE TEORIJE (slika 3) Lagrangeov interpolacijski polinom određen je formulom. Preporučljivo je razmotriti svojstva Lagrangeovog interpolacijskog polinoma s dva suprotna položaja, raspravljajući o glavnim prednostima odvojeno od nedostatke. Glavne prednosti 1. pristupa: 1) graf Lagrangeovog interpolacijskog polinoma prolazi kroz svaku točku niza, 2) konstruirana funkcija se lako opisuje (broj koeficijenata Lagrangeovog interpolacijskog polinoma na mreži u koji treba odrediti jednaka je m + 1), 3) konstruirana funkcija ima kontinuirane derivacije bilo kojeg reda, 4) zadan niz, interpolacijski polinom je jednoznačno određen. Glavni nedostaci 1. pristupa: 1) stupanj Lagrangeovog interpolacijskog polinoma ovisi o broju čvorova mreže, a što je taj broj veći, to je veći stupanj interpolacijskog polinoma i stoga je potrebno više izračuna, 2 ) promjena barem jedne točke u nizu zahtijeva potpuno ponovno izračunavanje koeficijenata Lagrangeovog interpolacijskog polinoma, 3) dodavanje nove točke nizu povećava stupanj Lagrangeovog interpolacijskog polinoma za jedan i čak dovodi do potpunog ponovnog izračuna njegovih koeficijenata , 4) s neograničenim pročišćavanjem mreže, stupanj Lagrangeovog interpolacijskog polinoma raste neograničeno. Ponašanje Lagrangeovog interpolacijskog polinoma pod neograničenim pročišćavanjem mreže općenito zahtijeva posebnu pozornost. Komentari A. Aproksimacija neprekidne funkcije polinomom. Poznato je (Weierstrass, 1885) da se svaka kontinuirana (a još više glatka) funkcija na intervalu može aproksimirati kao i željeti na tom intervalu polinomom. Opišimo ovu činjenicu jezikom formula. Neka je f(x) funkcija kontinuirana na segmentu [a, 6]. Tada za bilo koji e > 0 postoji polinom Rn(x) takav da će za bilo koji x iz intervala [a, 6] biti zadovoljena nejednakost (slika 4) , ima ih beskonačno mnogo. Na segmentu [a, 6] konstruiramo mrežu w. Jasno je da se njegovi čvorovi, općenito govoreći, ne podudaraju s presječnim točkama grafova polinoma Pn(x) i funkcije f(x) (slika 5.). Stoga, za uzetu mrežu, polinom Pn(x) nije interpolacijski polinom. Kada se kontinuirana funkcija aproksimira interpolacijskim polinomom Jla-grajj, njen graf ne samo da ne mora biti blizu grafa funkcije f(x) u svakoj točki segmenta [a, b), već može odstupiti od ovu funkciju koliko god želite. Navedimo dva primjera. Primjer 1 (Rung, 1901). S neograničenim povećanjem broja čvorova za funkciju na intervalu [-1, 1], granična je jednakost ispunjena (slika 6) Primjer 2 (Berichtein, 1912). Niz Lagrangeovih interpolacijskih polinoma konstruiranih na uniformnim mrežama nm za kontinuiranu funkciju /(x) = |x| na segmentu s povećanjem broja čvorova m ne teži funkciji f(x) (slika 7). Pristup 2. Komadična linearna interpolacija Ako se napusti glatkoća interpolirane funkcije, omjer između broja prednosti i broja nedostataka može se zamjetno promijeniti u smjeru prvog. Konstruirajmo komadno linearnu funkciju uzastopnim spajanjem točaka (xit y,) s ravnim segmentima (slika 8). Glavne prednosti 2. pristupa: 1) graf djeličaste linearne funkcije prolazi kroz svaku točku niza, 2) konstruirana funkcija se lako opisuje (broj koeficijenata odgovarajućih linearnih funkcija treba odrediti za mrežu ( 1) je 2m), 3) konstruirana funkcija je definirana danim nizom nedvosmisleno, 4) stupanj polinoma koji se koristi za opisivanje interpolacijske funkcije ne ovisi o broju čvorova mreže (jednako 1), 5) promjeni jednog točka u nizu zahtijeva izračun četiri broja (koeficijenti dvije pravocrtne veze koje proizlaze iz nove točke), 6) dodavanje dodatne točke u niz zahtijeva izračun četiri koeficijenta. Djelomično linearna funkcija se prilično dobro ponaša pri pročišćavanju mreže. i Glavni nedostatak 2. pristupa je da aproksimirajuća djeličasta linearna funkcija nije glatka: prve derivacije trpe diskontinuitet u čvorovima mreže (interpolacijske uši). Pristup 3. Spline interpolacija Predloženi pristupi mogu se kombinirati kako bi se sačuvao broj navedenih prednosti oba pristupa uz smanjenje broja nedostataka. To se može postići konstruiranjem glatke interpolirajuće splajn funkcije stupnja p. Glavne prednosti 3. pristupa: 1) graf konstruirane funkcije prolazi kroz svaku točku niza, 2) konstruiranu funkciju je relativno lako opisati (broj koeficijenata odgovarajućih polinoma koji se treba odrediti za mrežu ( 1) je 3) konstruirana funkcija je jednoznačno određena zadanim nizom, 4) polinomi stupnjeva ne ovise o broju čvorova mreže i stoga se ne mijenjaju s povećanjem, 5) konstruirana funkcija ima kontinuirane derivacije prema gore do reda p - 1 uključujući, 6) konstruirana funkcija ima dobra aproksimacijska svojstva. Kratka referenca. Predloženi naziv - spline - nije slučajan - glatke polinomske funkcije koje smo uveli u komade i crtanje spline su usko povezane. Zamislite fleksibilno, idealno tanko ravnalo koje prolazi kroz referentne točke niza koji se nalaze na (x, y) ravnini. Prema Bernoulli-Eulerovom zakonu, linearizirana jednadžba zakrivljenog ravnala ima oblik Funkcija S(x), koja opisuje ravnala, polinom je trećeg stupnja između svake i dvije susjedne točke niza (nosača) i dvaput je kontinuirano diferencibilna na cijelom intervalu (a, 6). Komentar. 06 interpolacija kontinuirane funkcije Za razliku od Lagrangeovih interpolacijskih polinoma, slijed interpolacijskih kubnih splajnova na uniformnoj mreži uvijek konvergira na interpoliranu kontinuiranu funkciju, a s poboljšanjem diferencijalnih svojstava ove funkcije, brzina konvergencije raste. Primjer. Za funkciju, kubični spline na mreži s brojem čvorova m = 6 daje pogrešku aproksimacije istog reda kao i interpolacijski polinom Ls(z), a na mreži s brojem čvorova m = 21 ova pogreška je toliko mali da se u mjerilu običnog crteža knjige jednostavno ne može prikazati (slika 10) (interpolacijski polinom 1>2o(r) daje u ovom slučaju grešku od oko 10 000 W). Svojstva interpoliranog kubnog splajna A. Aproksimacijska svojstva kubnog splajna. Svojstva aproksimacije interpolirajućeg splajna ovise o glatkoći funkcije f(x) - što je veća glatkoća interpolirane funkcije, to je veći red aproksimacije, a kada je mreža pročišćena, to je veća stopa konvergencije. Ako je interpolirana funkcija f(x) kontinuirana na intervalu Ako interpolirana funkcija f(x) ima kontinuirani prvi izvod na intervalu [a, 6], odnosno interpolacijski splajn koji zadovoljava granične uvjete 1. ili 3. tipa, tada za h imamo U ovom slučaju, ne samo da splajn konvergira interpoliranoj funkciji, već i derivacija splajna konvergira derivaciji ove funkcije. Ako spline S(x) aproksimira funkciju f(x) na segmentu [a, b], a njegova prva i druga derivacija aproksimiraju funkciju B. Ekstremno svojstvo kubičnog splajna. Interpolirajući kubični spline ima još jedno korisno svojstvo. Razmotrimo sljedeći primjer. primjer. Konstruirajte funkciju /(x) koja minimizira funkcional na klasi funkcija iz prostora C2 čiji grafovi prolaze kroz točke niza x) koja zadovoljava granične uvjete isporučuje ekstrem (minimum) funkciji. Primjedba 2. Zanimljivo je primijetiti da interpolacijski kubični splajn ima gore opisano ekstremno svojstvo na vrlo širokoj klasi funkcija, naime, na klasi |0, 5]. 1.2. Izglađivanje kubičnih splines-a O formulaciji problema zaglađivanja Neka su zadana mreža i skup brojeva. Zapravo, to znači da je za svaki određen interval, a bilo koji broj iz tog intervala može se uzeti kao vrijednost y, . Prikladno je tumačiti vrijednosti y, na primjer, kao rezultate mjerenja neke funkcije y(x) za zadane vrijednosti varijable x, koja sadrži slučajnu pogrešku. Prilikom rješavanja problema vraćanja funkcije iz takvih "eksperimentalnih" vrijednosti, teško je preporučljivo koristiti interpolaciju, jer će interpolacijska funkcija poslušno reproducirati bizarne oscilacije uzrokovane slučajnom komponentom u nizu (y,). Prirodniji pristup temelji se na postupku izglađivanja koji je osmišljen da nekako smanji element slučajnosti kao rezultat mjerenja. Obično je u takvim problemima potrebno pronaći funkciju čije bi vrijednosti za x = x, * = 0, 1, .... m spadale u odgovarajuće intervale i koja bi uz to imala dovoljno dobra svojstva. Na primjer, imao bi kontinuirane prve i druge derivacije, ili njegov graf ne bi bio prejako zakrivljen, odnosno ne bi imao jake oscilacije. Problem ove vrste nastaje i kada se prema zadanom (točno) nizu traži konstruiranje funkcije koja bi prolazila kroz nezadane točke, ali blizu njih i, štoviše, prilično glatko se mijenjala. Drugim riječima, željena funkcija je kao da je izgladila zadani niz, a nije ga interpolirala. Neka su zadana mreža w i dva skupa brojeva TEORIJA SPLINE Primjeri rješenja Zadatak. Konstruirajte glatku funkciju na segmentu [a, A] čije su vrijednosti u čvorovima mreže i razlikuju se od brojeva y za dane vrijednosti. Formulirani problem zaglađivanja je oporavak glatka funkcija data u tablici. Jasno je da takav problem ima mnogo različitih rješenja. Nametanjem dodatnih uvjeta konstruiranoj funkciji možemo postići potrebnu jedinstvenost. Definicija zaglađujućeg kubičnog splajna Kubični splajn za izravnavanje S(x) na mreži w je funkcija koja je 1) na svakom od segmenata polinom trećeg stupnja, 2) dvaput kontinuirano diferencibilna na segmentu [a, 6 ], odnosno pripada klasi C2 [a, b], 3) isporučuje minimum u funkcionalnu gdje su dati brojevi, 4) zadovoljava granične uvjete jednog od tri tipa navedena u nastavku. Rubni (granični) uvjeti Rubni uvjeti su specificirani kao ograničenja na vrijednosti splajna i njegovih derivacija na graničnim čvorovima mreže w. A. Rubni uvjeti 1. tipa. - na kraju intervala [a, b) daju se vrijednosti prve derivacije željene funkcije. Rubni uvjeti 2. tipa. - druge derivacije željene funkcije na krajevima intervala (a, b] jednake su nuli. B. Rubni uvjeti 3. tipa nazivaju se periodični. Teorem. Kubični splajn S (x), minimizirajući funkcionalnu (4 ) i zadovoljavanje graničnih uvjeta jednog od tri navedena tipa je jednoznačno definirano Definicija. Kubični splajn koji minimizira funkcionalnu J(f) i zadovoljava granične uvjete i-tipa naziva se glatki spline i-tipa . ovaj segment za četiri koeficijenta. Ukupni segmenti - m. Dakle, da biste u potpunosti definirali spline, potrebno je pronaći 4m brojeva. Uvjet znači kontinuitet funkcije 5(ar) i svih derivacija na svim unutarnjim čvorovima grid o. "Broj takvih čvorova je m - 1 Dakle, za pronalaženje koeficijenata svih polinoma, dobiva se 3(m - 1) uvjeta (jednadžbi). za koji je broj veličina koje treba odrediti je 2m + 2. Na svakom od intervala traži se funkcija spline za izravnavanje u sljedećem obliku Najprije opišimo kako se nalaze veličine n*. Za granične uvjete 1. i 2. tipa, sustav linearnih jednadžbi za određivanje vrijednosti Hi ispisuje se u sljedećem obliku gdje su poznati brojevi). Koeficijenti ovise o izboru rubnih uvjeta. Rubni uvjeti 1. vrste: Rubni uvjeti 2. vrste: U slučaju graničnih uvjeta 3. tipa, sustav određivanja brojeva zapisuje se na sljedeći način: osim toga svi koeficijenti se izračunavaju po formulama (5) (veličine s indeksi k i m + k smatraju se jednakima : Važna* napomena. Matrice sustava nisu degenerirane, pa stoga svaki od tih sustava ima jedinstveno rješenje. Ako se pronađu brojevi n, -, tada se količine lako određuju formulama Ako se sve i spline za izglađivanje pokaže kao interpolacijski. To posebno znači da što su vrijednosti preciznije navedene, to je manja vrijednost predskala odgovarajućih težinskih koeficijenata. Ako je, s druge strane, potrebno da splajn prolazi kroz točku (x^, yk), tada se težinski faktor p\ koji mu odgovara mora postaviti jednak nuli. U praktičnim proračunima najvažniji je izbor vrijednosti pi-Let D, - pogreška mjerenja vrijednosti y,. Tada je prirodno zahtijevati da spline za izglađivanje zadovoljava uvjet ili, što je isto.U najjednostavnijem slučaju, težinski koeficijenti pi mogu se dati, na primjer, u obliku - gdje je c neka dovoljno mala konstanta. Međutim, takav izbor težina p, ne dopušta korištenje "koridora" zbog pogrešaka u vrijednostima y, -. Racionalniji, ali i dugotrajniji algoritam za određivanje vrijednosti p, može izgledati kako slijedi. Ako se na fc-toj iteraciji pronađu vrijednosti, tada se pretpostavlja da je e mali broj, koji se odabire eksperimentalno uzimajući u obzir bitnu mrežu računala, vrijednosti D i točnost rješavanje sustava linearnih algebarskih jednadžbi. Ako se u fc-toj iteraciji u točki i prekrši uvjet (6), tada će posljednja formula osigurati smanjenje odgovarajućeg težinskog koeficijenta p,. Ako se tada u sljedećoj iteraciji poveća p, dovodi do potpunijeg korištenja "koridora" (6) i, u konačnici, do glatkijeg mijenjanja splajna. Malo teorije A. Utemeljenje formula za izračun koeficijenata interpolacijskog kubnog splajna. Uvodimo oznaku gdje su m nepoznate veličine. Njihov je broj jednak m + 1. Spline, napisan u obliku u kojem zadovoljava uvjete interpolacije i kontinuiran je na cijelom intervalu [a, b\: unoseći formulu, dobivamo respektivno. Osim toga, ima kontinuirani prvi izvod na intervalu [a, 6]: diferencirajući relaciju (7) i postavivši, dobivamo odgovarajući. zapravo. Pokažimo da se brojevi m mogu odabrati tako da splajn funkcija (7) ima kontinuirani drugi izvod na intervalu [a, 6]. Izračunaj drugu derivaciju splajna na intervalu: U točki x, - 0 (u t = 1) imamo Izračunaj drugu derivaciju splajna na intervalu U točki imamo Iz uvjeta kontinuiteta druge derivacije na unutarnjim čvorovima mreže a; dobivamo relaciju m - 1 gdje Dodajući ovim m - 1 jednadžbama još dvije, koje proizlaze iz i iz graničnih uvjeta, dobivamo sustav od m + 1 linearnih algebarskih jednadžbi s m + I nepoznatim miy i = 0, 1. ... , m. Sustav jednadžbi za izračunavanje vrijednosti gw u slučaju graničnih uvjeta 1. i 2. vrste ima oblik gdje (granični uvjeti 1. tipa), (granični uvjeti 2. tipa). Za periodične rubne uvjete (granični uvjeti 3. tipa), mreža o; produljiti za još jedan čvor i pretpostaviti Tada će sustav za određivanje vrijednosti r* imati oblik kontinuiteta u drugom i (th - !) čvoru mreže. Imamo Iz zadnje dvije relacije dobivamo nedostajuće dvije jednadžbe koje odgovaraju graničnim uvjetima 4. tipa: Isključujući nepoznati r0 iz jednadžbi, a nepoznati pc iz jednadžbi, kao rezultat dobivamo sustav jednadžbi Primijetimo da je broj nepoznanica u ovom sustavu jednak r - I. 6. Obrazloženje formula za izračunavanje učinkovitosti subičnog splajna za glađenje. Uvodimo oznaku gdje su Zi i nj još uvijek nepoznate veličine. Njihov je broj jednak 2m + 2. Spline funkcija zapisana u obliku kontinuirana je na cijelom intervalu (a, 6]: unošenjem ove formule dobivamo, redom. Pokažimo da brojevi z i n mogu biti odabran tako da splajn zapisan u obliku (8), ima kontinuirani prvi izvod na intervalu [a, 6] Izračunajte prvi izvod splajna S(x) na intervalu : U točki imamo Iz uvjet kontinuiteta prve derivacije splajna na unutarnjim čvorovima mreže i --> dobivamo relaciju m - 1. Zgodno je zapisati ovaj odnos u matričnom obliku. relaciju (8) i postavljanjem, dobivamo, odnosno, Yeshe olyu matrična relacija dobiva se iz uvjeta minimuma funkcionala (4). Imamo Posljednje dvije matrične jednakosti mogu se smatrati linearnim sustavom od 2m + 2 linearne algebarske jednadžbe u 2m + 2 nepoznanice. Zamjenjujući stupac r u prvoj jednadžbi njegovim izrazom dobivenim iz relacije (9), dolazimo do matrične jednadžbe SPLINE TEORIJA primjera rješenja za određivanje stupca M. Ova jednadžba ima jedinstveno rješenje zbog činjenice da je matrica A + 6HRH7 je uvijek nedegeneriran. Pronašavši ga, lako identificiramo gospodina Eamshinea. Elementi trokutnih magolalnih matrica A i H određuju n samo parametrima mreže u (sa koracima hi) i ne ovise o vrijednostima yj. Linearni prostor kubnih splajn funkcija Skup kubnih spline-a konstruiranih na segmentu [a, 6) pomoću čvora wcra + l je linearni prostor dimenzija m + 3: 1) zbroj dvaju kubnih splajnsa konstruiranih mrežom u> i umnožak kubičnog spline-a , izgrađenog na mreži u>, proizvoljan broj više tajni su kubični splinovi izgrađeni na ovoj mreži, 2) bilo koji kubični spline izgrađen na mreži i iz čvora u potpunosti je određen s m + 1 pomoću vrijednost vrijednosti y "na ovim čvorovima i dva granična uvjeta - samo + 3 parametra. Odabirući u ovom prostoru bazu koja se sastoji od m + 3 linearno neovisna splajna, možemo napisati proizvoljan kubični splajn a(x) kao njihovu linearnu kombinaciju na jedinstven način. Komentar. Takva specifikacija spline široko se koristi u računskoj praksi. Osobito je prikladna osnova koja se sastoji od takozvanih kubnih B-spline-a (osnovnih, ili temeljnih, splines-a). Korištenje D-spline-a može značajno smanjiti zahtjeve za memorijom računala. L-spline. B-spline nultog stupnja, izgrađen na brojevnoj liniji duž mreže w, funkcija je račve. B-spline stupnja k ^ I, izgrađen na brojevnoj liniji duž mreže u, određen je rekurzivnom formulom second u\7\x) stupnjevi su prikazani na slikama 11 i 12. B-spline proizvoljnog stupnja k može se razlikovati od nule samo na određenom segmentu (definiranom s k + 2 čvora). Pogodnije je numerirati kubni B -spline tako da je splajn B,-3* (n) bio različit od nule na segmentu ir,-+2]. Dajemo formulu za kubični splajn trećeg stupnja za slučaj jednolične mreže (s korak A). U drugim slučajevima imamo. Tipičan dijagram kubičnog B-splinea prikazan je na slici 13. Funkcija a) je dvaput kontinuirano diferencibilna na segmentu, odnosno pripada klasi C2 [a, "), c) nije nula samo na četiri uzastopna segmenta proširene mreže w * mo Potrebno je konstruirati obitelj od m + 3 kubična B-spline-a: Ova obitelj čini osnovu u prostoru kubnih splajn-a na segmentu (a, b). Dakle, proizvoljni kubični spline S(z) konstruiran na segmentu |s, 6] mreže o; iz +1 čvorova, može se predstaviti na ovom segmentu kao linearna kombinacija.Koeficijenti ft ovog proširenja jednoznačno su određeni uvjetima problema. ... U slučaju kada su vrijednosti funkcije na čvorovima mreže i vrijednosti prve derivacije funkcije na krajevima mreže "(problem interpolacija s granični uvjeti prve vrste), ti se koeficijenti izračunavaju iz sustava sljedećeg oblika i i &m+i, dobivamo linearni sustav s nepoznanicama 5q, ... , bm i trodijagonalnom matricom. Uvjet osigurava dijagonalnu dominaciju i, prema tome, mogućnost korištenja metode sweep za njezino rješavanje Interpolacijski problemi Zmmchm* 2. U usporedbi s algoritmima opisanim u odjeljku 1.1, korištenje R-spline u interpolacijskim problemima * smanjuje količinu pohranjenih informacija, odnosno značajno smanjuje zahtjeve za memorijom računala, iako dovodi do povećanja broja operacija . Konstrukcija spline krivulja korištenjem spline funkcija Gore su razmatrani nizovi čije su točke numerirane tako da njihove apscise čine strogo rastući niz. Na primjer, slučaj prikazan na sl. 14, kada različite točke niza imaju istu apscisu, nije dopušteno. Ta je okolnost uvjetovala kako izbor klase aproksimirajućih krivulja (promet funkcija) tako i način njihove konstrukcije. Međutim, gore predložena metoda omogućuje prilično uspješnu konstrukciju interpolacijske krivulje u općenitijem slučaju, kada numeriranje točaka niza i njihov položaj na ravnini, u pravilu, nisu povezani (slika 15.). Štoviše, prilikom postavljanja problema konstruiranja interpolacijske krivulje, možemo smatrati dani niz neplanarnim, odnosno jasno je da je za rješavanje ovog općeg problema potrebno značajno proširiti klasu dopuštenih krivulja, uključujući u njemu i zatvorene krivulje, i krivulje koje imaju točke samopresijecanja, i prostorne krivulje. Takve krivulje prikladno je opisati parametarskim jednadžbama. Zahtijevajmo. dodatno, tako da funkcije imaju dovoljnu glatkoću, na primjer, pripadaju klasi C1 [a, /0] ili klasi Da biste pronašli parametarske jednadžbe krivulje koja sukcesivno prolazi kroz sve točke niza, postupite na sljedeći način. 1. korak. u proizvoljnom intervalu)