Kubinės interpoliacijos splainas. Kubinio splaino konstrukcija

Pramoninėje gamyboje, pavyzdžiui, laivų statyboje, automobilių gamyboje ir orlaivių gamyboje, galutinė arba artima masto forma nustatoma per apdailos procesą.

Pateiktas šio proceso automatizavimas reikšmingas susidomėjimaskompiuterinė grafika. Matematinio splaino forma seka fizikinio splaino kontūrą (5-4 pav.), t.y. lanksti medinė arba plastikinė liniuote, einanti per tam tikrus taškus. Švino svareliai naudojami sruogos formai pakeisti. Keisdami skaičių ir vietą, jie stengiasi, kad kreivė būtų lygesnė, gražesnė ir „malonesnė akiai“.

Jei fizinį splainą laikysime plona lanksčia juostele, jos forma (įkrypimas) nustatoma pagal Eulerio lygtį (5-2) lenkimo išilgai juostos momentui:

kur yra Youngo modulis, kuris priklauso nuo stovo medžiagos savybių, yra inercijos momentas, nustatomas pagal kreivės formą, ir yra kreivio spindulys.

Esant mažiems nuokrypiams spindulys yra maždaug lygus

,

kur pirminis dydis reiškia išvestinę atstumo išilgai lazdos atžvilgiu ir yra lazdos įlinkis. Eulerio lygtis įgauna formą

Tegul svarmenys veikia kaip paprastos atramos, tada lenkimo momentas tarp jų keičiasi tiesiškai. Pakeitimas į Eulerio lygtį gauname

ir po dvigubos integracijos

Taigi splaino forma suteikiama kubiniu daugianario.

IN bendras atvejis Matematinis splainas yra gabalinis laipsnio polinomas su ištisine laipsnio išvestine atkarpų sujungimo taškuose. Taigi, pvz. kubinis splainas turi antros eilės tęstinumą sujungimo taškuose. Mažos eilės polinomų daliniai splainai yra labai patogūs interpoliuoti kreives, nes jiems nereikia didelių skaičiavimo išlaidų ir nesukelia polinomams būdingų skaitinių nuokrypių. aukšta tvarka. Panašiai kaip fiziniai splainai, paprastai naudojami kubiniai segmentai, kurių kiekvienas eina per du taškus. Kubinis splainas yra patogus ir tuo, kad tai yra mažiausio laipsnio kreivė, leidžianti vingiuoti ir lenkti erdvėje.

Vieno parametrinio splaino segmento lygtis yra tokia:

, , (5-1)

kur ir yra parametrų reikšmės segmento pradžioje ir pabaigoje. - vektorius į bet kurį atkarpos tašką. yra vektoriaus vertės funkcija, kur yra trys komponentai Dekarto koordinatės vektorius.

Ryžiai. 5-5 Vienas kubinio splaino segmentas.

Kiekvienas komponentas turi formą, panašią į , t.y.

, ,

, ,

, .

Pastovūs koeficientai apskaičiuojami remiantis keturiomis splaino segmento kraštinėmis sąlygomis. Formoje parašykime lygtį (5-1).

Tegu ir yra atkarpos galų vektoriai (žr. 5-5 pav.). Leisti taip pat ir , Išvestinių atžvilgiu , Būti liestinės vektoriai segmento galuose. Diferencijuojant lygtį (5-1), gauname

, . (5-3)

Užrašykime rezultatą

, . (5-4)

Darykime prielaidą, neprarandant bendrumo, kad , ir pritaikysime ribines sąlygas

Gauname keturias nežinomųjų lygtis:

, (5–6b)

, (5–6c)

. (5-6d)

Sprendimai ir forma:

(5–7a)

. (5–7b)

Kiekiai , , ir apibrėžia kubinį splaino segmentą. Akivaizdu, kad atkarpos forma priklauso nuo padėties ir liestinės vektorių atkarpos galuose. Tada atkreipkite dėmesį, kad rezultatuose yra parametro reikšmė segmento pabaigoje. Kadangi kiekvienas galinis taškas ir liestinės vektorius turi tris komponentus, parametrinė kubinės erdvės kreivės lygtis priklauso nuo dvylikos vektoriaus komponentų ir parametro reikšmės atkarpos pabaigoje.

Pakeitę lygtis (5-6) ir (5-7) į (5-1), gauname vieno kubinio splaino segmento lygtį:

. (5-8)

Tai yra vieno segmento lygtis. Norėdami gauti visą kreivę, turite sujungti daug segmentų. Fig. 5-6 rodo du gretimus segmentus. Jei žinomi vektoriai , , , liestinės vektoriai , ir parametrų reikšmės , , tada kiekvieno atkarpos forma nustatoma pagal (5-8) lygtį. Tačiau mažai tikėtina, kad liestinės vektorius jungties taške yra žinomas. Laimei, tai gali būti nustatyta iš tęstinumo sąlygos.

Prisiminkite, kad dalinis laipsnio splainas turi laipsnio tęstinumą savo sujungimo taškuose; kubinio splaino tęstinumas yra du. Norėdami tai padaryti, antroji linijos išvestinė arba kreivumas turi būti ištisinis. Du kartus diferencijuodami lygtį (5-1), gauname

, . (5-9)

Ryžiai. 5-6 Du kubiniai splaino segmentai.

Pirmosios splaino dalies parametras skiriasi ribose. Pakeiskime lygtį (5-9):

.

Antroje splaino dalyje parametras pasikeičia diapazone. Į lygtį (5-9) pakeiskime reikšmę antrojo skyriaus pradžioje

Sulyginę gautus rezultatus ir naudodami (5-6a,b) ir (5-7a) lygtis, gauname

.

Kairioji šios lygties pusė žymi kreivumą pirmojo segmento pabaigoje, o dešinė – antrojo segmento pradžioje. Padauginkite iš ir sugrupuokite terminus:

Taip nustatomas nežinomas liestinės vektorius jungties taške. Atkreipkite dėmesį, kad paskutinėje lygtyje vėl yra parametrų reikšmės segmentų galuose ir .

Gautą formulę galima apibendrinti taškams, o kubinio splaino atkarpoms jungties taškuose galima gauti antros eilės tęstinumą.

Ryžiai. 5-7 Padalinių kubinių splainų segmentų rinkinio žymėjimai.

Apibendrinta bet kurių dviejų gretimų spline segmentų lygtis ir Fig. 5-7 atrodo taip:

(5-11)

pirmam segmentui ir

(5-12)

antrajam, nes kiekvieno segmento parametras pradeda keistis nuo nulio, pirmam ir antram - .

Antrųjų išvestinių prilyginimas bet kokių gretimų segmentų sujungimo taškuose, , duoda bendras rezultatas, atitinka (5–10) lygtį,

iš kurio bet kurių dviejų atkarpų jungimosi taškuose nustatomas liestinės vektorius ir .

Rekursyvus lygties (5-13) naudojimas visiems splaino segmentams generuoja tangentines vektorines lygtis , . IN matricos forma:

(5-14)

Matrica yra nekvadratinė, nes yra tik vektorių lygtys ir jos negalima apversti, kad būtų gautas sprendimas. Jei darome prielaidą, kad liestinės vektoriai kreivės galuose ir yra žinomi, problema išspręsta. Dabar matrica atrodo taip

(5-15)

kur matrica yra kvadratinė ir apverčiama. Taip pat atkreipkite dėmesį, kad jis yra trikampis, o tai sumažina jo inversijos skaičiavimo sąnaudas. Be to, matrica yra įstrižai dominuojanti. Iš to išplaukia, kad ji turi vienintelis sprendimas:

. (5-16)

Jei žinome , tada nesunku nustatyti kiekvieno splaino segmento koeficientus. Apibendrinus lygtis (5-6)-(5-11), gauname

,

.

Nuo ir yra vektoriniai dydžiai, tada jie taip pat yra vektoriai; jei jie turi komponentų, jie taip pat turi šiuos komponentus.

Matricos formoje bet kurio splaino segmento lygtis yra tokia:

. (5-17)

Tegul reikalaujama nurodyti kubinį splainą, einantį per taškus , kurių galuose yra liestinės vektoriai ir . Iš (5-16) lygties randame vidinius liestinės vektorius , . Tada pagal (5-17) lygtį su žinomomis kiekvienos atkarpos galų koordinatėmis ir liestinės vektoriais nustatomi , , kiekvienam segmentui. Galutinis lygties (5-1) apibendrinimas

, , , (5-18)

naudojamas splaino segmentui apskaičiuoti.

Matricos formoje lygtis (5-18) atrodo taip:

, . (5-19)

Pakeisdami (5-17) lygtį ir perstačius terminus, gauname

, , , (5-20)

, (5-21a)

, (5–21b)

, (5–21 sek.)

, (5-21d)

vadinamos svorio funkcijomis.

Ryžiai. 5-8 kubinių spline svorių funkcijos

Naudodamiesi šiais apibrėžimais, rašome lygtį (5-20) matricos forma

kur yra svorio funkcijos matrica

yra geometrinės informacijos. Kaip bus matyti iš to, kas išdėstyta toliau, tokios lygtys kaip (5-22), t.y. svertinės funkcijos matrica, padauginta iš geometrinių sąlygų matricos, dažnai naudojama kreivėms ir paviršiams apibūdinti.

Iš (5-21) lygties aišku, kad kiekviena svorio funkcija yra trečios eilės. Bet kuris kubinio splaino segmento taškas yra svertinė galinių taškų ir liestinės vektorių suma. Koeficientai veikia kaip svorio funkcijos. Fig. 5-8 rodomi . Iš paveikslo matyti, kad ir , t.y. kreivė eina per taško vektorių. Panašiai ir, t.y. kreivė taip pat eina per taško vektorių. Toliau atkreipiame dėmesį į simetriją ir , ir ir . Tiesą sakant . Galiausiai atkreipkime dėmesį į santykinę , , ir . Didelis dydžio skirtumas rodo, kad apskritai galinių taškų padėtis turi didesnę įtaką nei liestinės vektoriai.

Prisiminkite, kad dalinis kubinis splainas apibrėžiamas taškais, liestinės vektoriais ir parametrų reikšmėmis, ty visų atkarpų galuose. Pasirinkimas turi įtakos kreivės lygumui.

Antrosios darinės tęstinumas vidiniuose sujungimo taškuose pats savaime neužtikrina kreivės lygumo minimalaus kreivumo išilgai jos prasme. Pasirinkus tinkamas reikšmes, galima sumažinti kiekvieno segmento koeficientus ir pasiekti didesnį kreivės lygumą. Paprastai šie papildomi skaičiavimai nereikalingi. Praktiniais tikslais daugiau nei paprasti metodai, kaip čia aptarti.

Vienas iš skaičiavimo būdų yra parametrų verčių nustatymas vienodo ilgio stygos tarp gretimų taškų. Tuo pačiu metu kreivės kokybė atitinka daugumos reikalavimus taikomų problemų. Kitas būdas – normalizuoti variaciją imant lygus vienam kiekvienam splaino segmentui. Šis pasirinkimas supaprastina skaičiavimus (žr. 5-4 skyrių). Kaip matyti iš aukščiau pateiktų lygčių, bet koks pasirinkimas lemia skirtingus koeficientus, taigi gaunamos skirtingos kreivės, einančios per nurodytus taškus.

Pažiūrėkime į pavyzdį.

5-2 pavyzdys Kubinis splainas

Tegu pateikti keturi vektoriniai taškai plokštumoje: , , , (žr. 5-9 pav.).

Raskite gabalinį kubinį splainą, einantį per juos, naudodami stygos aproksimaciją.

Tangentiniai vektoriai galuose: ir . Raskite kiekvieno segmento tarpinius taškus.

.

Pirmiausia rasime

Vidiniai liestinės vektoriai ir apskaičiuojami pagal (5-15) lygtį:

.

Tangentiniai vektoriai apskaičiuojami naudojant inversiją ir daugybą

.

Tada kreivė yra išgaubta galuose ir yra stygų ir liestinių trikampio viduje. Didėjant vertei, kreivė palaipsniui tampa įgaubta ir išeina už trikampio. Tokiu atveju, kai vektorius didelis, kreivėje atsiranda viršūnė (žr. 5-10d pav.). Esant dar didesnėms vertėms, atsiranda kilpa, kaip matyti iš Fig. 5-10 d. Kartais, siekiant pagerinti kreivės formą, vektoriaus dydį riboja stygos ilgis.

TAŠKO TAŠKO PAVIRŠIŲ APRAŠYMAS.

Metodą sudaro paviršiaus nurodymas su jam priklausančių taškų rinkiniu. Vadinasi, vaizdo kokybė naudojant šį metodą priklauso nuo taškų skaičiaus ir jų vietos.

Taškas po taško aprašymas naudojamas tais atvejais, kai paviršius yra labai sudėtingas ir neturi glotnumo, ir išsamus vaizdas geometrines ypatybes svarbu praktikai.

Pavyzdys: Dirvožemio plotai kitose planetose, formos dangaus kūnai, informacija apie kurią buvo gauta iš palydovinių vaizdų. Mikroobjektai, paimti naudojant elektroninius mikroskopus.

Pradinė informacija apie taškiškai aprašomus objektus pateikiama matricos pavidalu 3D koordinates taškų.

Splainai yra lygios (turinčios keletą ištisinių išvestinių) daugianario funkcijos, kurios gali būti naudojamos pateiktoms funkcijoms vaizduoti didelis skaičius vertės ir kurioms aproksimacija vienu daugianario netaikoma. Kadangi sruogos yra lygios, ekonomiškos ir su jais lengva dirbti, jos naudojamos kuriant savavališkas funkcijas:

o kreivės modeliavimas;

o duomenų aproksimacija naudojant kreives;

o funkcinių aproksimacijų atlikimas;

o funkcinių lygčių sprendimas.

Panagrinėkime lygių kreivių nubrėžimo išilgai nurodytų ribinių taškų problemą arba interpoliacijos problemą. Kadangi per du taškus galima nubrėžti bet kokį skaičių lygių kreivių, norint išspręsti šią problemą, reikia apriboti funkcijų klasę, kuri nustatys norimą kreivę. Matematiniai splainai yra funkcijos, naudojamos kreivėms aproksimuoti. Jų svarbi savybė yra skaičiavimo paprastumas. Praktikoje dažnai naudojami trečiojo laipsnio daugianario tipo splainai. Jų pagalba gana patogu nubrėžti kreives, kurios intuityviai atitinka žmogaus subjektyvią lygumo sampratą. Sąvoka „spline“ kilusi iš anglų kalbos spline, kuri reiškia lanksčią plieno juostą, kurią braižytojai naudojo lygioms kreivėms nubrėžti, pavyzdžiui, laivų ar lėktuvų kontūrams konstruoti.

Pirmiausia panagrinėkime spline funkciją, skirtą vieno kintamojo funkcijai braižyti. Tegul seka taškų , turi būti pateikta plokštumoje ir . Apibrėžkime reikiamą funkciją ir nustatykime dvi sąlygas:

1) Funkcija turi pereiti visus taškus: , ;

2) Funkcija turi būti du kartus tolydžio diferencijuojama, ty turėti ištisinę antrąją išvestinę visame intervale.

Kiekviename segmente , ieškosime savo funkcijos trečiojo laipsnio daugianario pavidalu:

.

Spline funkcija

Užduotis sudaryti daugianarį priklauso nuo koeficientų radimo. Kadangi kiekvienam iš segmentų reikia rasti 4 koeficientus, bendras reikalingų koeficientų skaičius bus . Norėdami rasti visus koeficientus, nustatome atitinkamą lygčių skaičių. Pirmosios lygtys gaunamos iš funkcijų reikšmių vidiniuose mazguose sutapimo sąlygų. Toliau pateiktos lygtys panašiai gauname iš pirmosios ir antrosios išvestinių reikšmių vidiniuose mazguose sutapimo sąlygų. Kartu su pirmąja sąlyga gauname lygtis. Trūkstamas dvi lygtis galima gauti nurodant pirmųjų išvestinių vertes atkarpos galiniuose taškuose. Tokiu būdu galima nurodyti ribines sąlygas.



Pereikime prie daugiau sunkus atvejis– kreivių nustatymas trimatė erdvė. Kreivės funkcinės specifikacijos atveju galimas dviprasmiškumas savaiminių susikirtimų atveju ir nepatogumas, kai išvestinių verčių reikšmės yra lygios. Atsižvelgdami į tai, ieškosime funkcijos parametrinė forma. Leisti būti nepriklausomas parametras toks, kad . Mes vadiname kubinį parametrinį splainą sekančią sistemą lygtys:

Kreivės taškų koordinates apibūdina vektorius, o trys išvestinės nurodo atitinkamo liestinės vektoriaus koordinates taške. Pavyzdžiui, dėl koordinatės:

Vienas iš būdų nurodyti parametrinį kubinį splainą yra nurodyti pradinio ir koordinates pabaigos taškai, taip pat juose esančius liestinės vektorius. Toks patikslinimo būdas vadinamas Hermito forma. Pažymime galutinius taškus ir , Ir liestinės vektorius prie jų ir . Taip indeksai buvo parinkti atsižvelgiant į tolesnį pateikimą.

Išspręsime keturių koeficientų radimo uždavinį, nes likusių dviejų lygčių koeficientai randami panašiai. Užrašykime splaino sudarymo sąlygą:

Perrašykime išraišką už vektorinė forma:

.

Pažymime koeficientų eilutės vektorių ir stulpelio vektorių, tada .

Iš (*) matyti, kad . Dėl liestinių ,

Iš čia gauname vektoriaus matricos lygtį:

.

Šią sistemą galima išspręsti ieškant atvirkštinė matrica dydis .

.

Čia yra Hermito matrica, - geometrinis vektorius Ermita. Pakeiskime išraišką, kad rastume: . Panašiai ir kitoms koordinatėms: , .









































Kreivės ir paviršiai rasti praktines problemas, dažnai turi gana sudėtinga forma, kuri neleidžia visuotinai analitinė užduotis apskritai su pagalba elementarios funkcijos. Todėl jie surenkami iš gana paprastų lygių fragmentų – segmentų (kreivių) arba pjūvių (paviršių), kurių kiekvieną galima gana patenkinamai apibūdinti naudojant elementarias vieno ar dviejų kintamųjų funkcijas. Šiuo atveju visiškai natūralu reikalauti, kad lygiosios funkcijos, naudojamos dalinėms kreivėms ar paviršiams sudaryti, būtų panašaus pobūdžio, pavyzdžiui, daugianariai. tokiu pat laipsniu. O tam, kad susidaranti kreivė ar paviršius būtų pakankamai lygus, reikia ypač atidžiai stebėti, kur susijungia atitinkami fragmentai. Polinomų laipsnis parenkamas iš paprastų geometrinių sumetimų ir, kaip taisyklė, yra mažas. Norint sklandžiai pakeisti liestinę išilgai visos sudėtinės kreivės, pakanka aprašyti sujungtas kreives naudojant trečiojo laipsnio polinomus, kubiniai daugianariai. Tokių daugianario koeficientus visada galima pasirinkti taip, kad atitinkamos sudėtinės kreivės kreivumas būtų tolydis. Kubiniai splainai, atsirandantys sprendžiant vienmačius uždavinius, gali būti pritaikyti kompozitinių paviršių fragmentų konstrukcijai. Ir čia dvikubiniai splainai atsiranda gana natūraliai, aprašyti naudojant trečiojo laipsnio daugianario kiekviename iš dviejų kintamųjų. Dirbant su tokiais splainais reikia atlikti žymiai daugiau skaičiavimų. Bet teisingai organizuotas procesas leis mums atsižvelgti į nuolat augančias galimybes kompiuterinės technologijos V maksimalus laipsnis. Spline funkcijos Leiskite atkarpoje, tai yra Pastaba. Skaičių a^ indeksas (t) rodo tai. kad kiekvienos dalinės atkarpos D funkciją 5(x) lemianti koeficientų aibė yra skirtinga. Kiekvienoje atkarpoje D1 splainas 5(x) yra p laipsnio daugianomas ir šiame segmente nustatomas pagal koeficientą p + 1. Iš viso dalinių segmentų – tada. Tai reiškia, kad norint visiškai nustatyti splainą, reikia rasti (p + 1) tada Sąlyga) reiškia funkcijos 5(x) ir jos išvestinių tęstinumą visuose vidiniuose tinklelio w mazguose. Tokių mazgų skaičius yra m - 1. Taigi, norint rasti visų daugianario koeficientus, gaunamos p(m - 1) sąlygos (lygtys). Už pilnas apibrėžimas trūksta splaino (sąlygų (lygčių). Papildomų sąlygų pasirinkimą lemia nagrinėjamos problemos pobūdis, o kartais tiesiog vartotojo noras. SPLINE TEORIJA sprendimų pavyzdžiai Interpoliacijos ir išlyginimo problemos dažniausiai svarstomos tada, kai būtina sukurti vieną ar kitą splainą iš tam tikro taškų masyvo plokštumoje B. Interpoliacijos uždaviniai reikalauja, kad splaino grafikas eitų per taškus, o tai nustato jo koeficientams m + 1 papildomų sąlygų (lygčių) Likusios p - 1 sąlygos (lygtys). Vienareikšmiškam splaino konstravimui dažniausiai nurodomos apatinių splaino darinių reikšmės nagrinėjamo segmento galuose [a, 6] - ribinės (ribinės) sąlygos skirtingos ribinės sąlygos leidžia konstruoti splainus su įvairiomis savybėmis. Atliekant lyginimo uždavinius, jo grafikas eina šalia taškų (i" "Y"), * = 0, 1,..., t, o ne per jas šio artumo matą galima apibrėžti įvairiai, o tai lemia didelę išlyginamųjų splainų įvairovę. Aprašytos pasirinkimo galimybės konstruojant splaino funkcijas neišsemia visos jų įvairovės. Ir jei iš pradžių buvo svarstomos tik fragmentinės daugianario splaino funkcijos, tai plečiantis jų taikymo sričiai, pradėjo atsirasti splainai, „sulipdyti“ iš kitų elementariųjų funkcijų. Interpoliacijos kubiniai splainai Interpoliacijos uždavinio teiginys Tegul atkarpoje [a, 6) pateikiama skaičių aibė Uždavinys. Sukurkite sklandžią segmento funkciją (a, 6], kuri paima nurodytas reikšmes tinklelio mazguose, ty Pastaba: Suformuluota interpoliavimo problema yra atkurti sklandi funkcija , pateikta lentelėje (2 pav.). Akivaizdu, kad tokių problemų yra daugįvairių sprendimų . Sukonstruotos funkcijos perdengimas papildomos sąlygos , galima pasiekti reikiamą vienareikšmiškumą. Programose dažnai reikia aproksimuoti funkciją, pateiktą analitiniu būdu, naudojant funkciją, kurios pakanka gerų savybių . Pavyzdžiui, tais atvejais, kai tam tikros funkcijos /(x) reikšmių apskaičiavimas atkarpos [a, 6] taškuose yra susijęs su dideliais sunkumais ir (arba) duota funkcija /(x) neturi reikiamo lygumo. , patogu naudoti kitą funkciją, kuri gana gerai apytiksliai turėtų tam tikrą funkciją ir neturėtų jos pastebimų trūkumų. Funkcijos interpoliacijos problema. Intervale [a, 6] sukurkite lygiąją funkciją a(x), kuri tinklelio mazguose w sutampa su/(X). Interpoliuojančio kubinio splaino apibrėžimas Interpoliuojantis kubinis splainas S(x) tinkle w yra funkcija, kuri 1) kiekvienoje atkarpoje yra trečiojo laipsnio polinomas, 2) yra du kartus nepertraukiamai diferencijuota atkarpoje [a, b ], tai yra, priklauso klasei C2[ a, 6], ir 3) atitinka kiekvieno segmento sąlygas, splainas S(x) yra trečiojo laipsnio polinomas ir nustatomas šiame segmente keturiais koeficientais. . Bendras atkarpų skaičius yra m. Tai reiškia, kad norint visiškai apibrėžti splainą, reikia rasti 4m skaičių. Sąlyga reiškia funkcijos S(x) ir jos išvestinių S"(x) ir 5" tęstinumą. (x) visuose vidinio tinklo mazguose w. Tokių mazgų skaičius yra m - 1. Taigi, norint rasti visų daugianario koeficientus, gaunamos dar 3(m - 1) sąlygos (lygtys). Kartu su sąlygomis (2) gaunamos sąlygos (lygtys). Ribinės (kraštinės) sąlygos Dvi trūkstamos sąlygos nurodytos splaino ir (arba) jo išvestinių verčių apribojimais intervalo [a, 6] galuose. Konstruojant interpoliacinį kubinį splainą, dažniausiai naudojami šie keturi ribinių sąlygų tipai. A. 1 tipo ribinės sąlygos. - intervalo [a, b] galuose nurodomos norimos funkcijos pirmosios išvestinės reikšmės. B. 2 tipo ribinės sąlygos. - intervalo (a, 6) galuose nurodomos norimos funkcijos antrosios išvestinės reikšmės. B. 3 tipo ribinės sąlygos. vadinami periodiniais. Natūralu reikalauti, kad šios sąlygos būtų įvykdytos tais atvejais, kai interpoliuota funkcija yra periodinė su periodu T = b-a. D. 4 tipo ribinės sąlygos. reikalauja specialaus komentaro. komentuoti. Vidiniuose sepsio mazguose, paprastai kalbant, trečioji funkcijos S(x) išvestinė yra nenutrūkstama. Tačiau trečiojo darinio nutrūkimų skaičių galima sumažinti naudojant 4 tipo sąlygas. Šiuo atveju sudarytas splainas bus nuolat diferencijuojamas tris kartus intervalais Interpoliuojančio kubinio splaino konstravimas Aprašykime kubinio splaino koeficientų skaičiavimo metodą, kuriame nustatytinų dydžių skaičius yra lygus. Kiekviename intervale interpoliacijos splaino funkcija ieškoma tokia forma. Čia SPLINE TEORIJA sprendinių ir skaičių sprendiniai yra tiesinės sistemos sprendiniai, kurios forma priklauso nuo ribinių sąlygų tipo. 1 ir 2 tipų ribinėms sąlygoms ši sistema turi tokią formą, kur koeficientai priklauso nuo ribinių sąlygų pasirinkimo. 1 tipo ribinės sąlygos: 2 tipo ribinės sąlygos: Esant 3 tipo ribinėms sąlygoms, skaičių nustatymo sistema rašoma taip: Nežinomų skaičius naujausia sistema yra lygus mn, nes iš periodiškumo sąlygų išplaukia, kad po = nm. 4 tipo ribinėms sąlygoms skaičių nustatymo sistema turi tokią formą, kur Remiantis sistemos sprendiniu, skaičiai po ir n gali būti nustatyti naudojant formules. Visų trijų tiesinių matricos algebrinės sistemos yra įstrižai dominuojančios matricos. Matricos nėra vienaskaitos, todėl kiekviena iš šių sistemų turi unikalų sprendimą. Teorema. Interpoliuojantis kubinis splainas, atitinkantis sąlygas (2) ir vieno iš keturių aukščiau išvardytų tipų ribinę sąlygą, egzistuoja ir yra unikalus. Taigi, sukonstruoti interpoliuojantį kubinį splainą reiškia rasti jo koeficientus, kai randami splaino koeficientai, splaino reikšmė S(x) in savavališkas taškas segmentą [a, b] galima rasti (3) formulėje. Tačiau praktiniams skaičiavimams jis labiau tinka sekantis algoritmas 5(g) reikšmės radimas. Tegu x 6 [x", Pirmiausia pagal formules apskaičiuojamos A ir B reikšmės, o tada randama reikšmė 5(x): Naudojant šį algoritmą žymiai sumažėja skaičiavimo sąnaudos nustatant vertę. Patarimai vartotojas Kraštinių (kraštinių) sąlygų ir interpoliacijos mazgų pasirinkimas leidžia tam tikru mastu valdyti interpoliacijos splainų savybes. A. Kraštinių (kraštinių) sąlygų parinkimas. Kraštinių sąlygų pasirinkimas yra viena iš centrinės problemos apie aproksimuotos funkcijos f(x) elgseną. Jei žinomos pirmosios išvestinės f"(x) reikšmės atkarpos (a, 6) galuose, tada natūralu naudoti 1 tipo ribines sąlygas. Jei antrosios išvestinės reikšmės f"(x) yra žinomi atkarpos [a, 6] galuose, tada tai yra 2 tipo natūralaus naudojimo ribinės sąlygos. Jei galima pasirinkti tarp 1 ir 2 tipų ribinių sąlygų, pirmenybė turėtų būti teikiama 1 tipo sąlygoms. Jei f(x) - periodinė funkcija, tuomet turėtume sustoti ties 3 tipo ribinėmis sąlygomis. Tuo atveju, jei nėra papildomos informacijos nėra informacijos apie aproksimuotos funkcijos elgseną, tačiau dažnai naudojamos vadinamosios ribinės sąlygos. ) splainu S(x) prie atkarpos galų (a, ft] staigiai sumažėja. Kartais jos naudojamos 1 ar 2 tipo kraštinės sąlygos, bet ne su tikslios vertės atitinkamos išvestinės ir su jų skirtumo aproksimacijos. Šio metodo tikslumas yra mažas. Praktinė skaičiavimų patirtis rodo, kad nagrinėjamoje situacijoje tinkamiausias yra 4 tipo kraštinių sąlygų pasirinkimas. B. Interpoliacijos mazgų pasirinkimas. Jei funkcijos trečioji išvestinė f""(x) kai kuriuose atkarpos [a, b] taškuose yra nenutrūkstama, tai siekiant pagerinti aproksimacijos kokybę, šie taškai turėtų būti įtraukti į interpoliacijos mazgų skaičių. Jei antroji išvestinė /"(x) yra nenutrūkstama, tai norint išvengti splaino svyravimų šalia nutrūkimo taškų, reikia imtis specialių priemonių. Paprastai interpoliacijos mazgai parenkami taip, kad antrosios išvestinės nenutrūkstamumo taškai nukristų intervale \xif), kad reikšmę a galima pasirinkti skaitiniu eksperimentu (dažnai pakanka nustatyti a = 0,01 Yra aibė receptų, kaip įveikti sunkumus, kylančius, kai pirmoji išvestinė f"). (x) yra nepertraukiamas. Kaip vieną iš paprasčiausių galime pasiūlyti štai ką: aproksimacijos segmentą padalinkite į intervalus, kuriuose išvestinė yra tolydi, ir kiekviename iš šių intervalų sukonstruokite splainą. Interpoliacijos funkcijos pasirinkimas (už ir prieš) 1 metodas. Lagranžo interpoliacijos polinomas Tam tikro masyvo SPLINE TEORIJOS sprendinių pavyzdžiams (3 pav.) Lagranžo interpoliacijos polinomas nustatomas pagal formulę Patartina nagrinėti Lagranžo interpoliacijos polinario savybes iš dviejų priešingų pozicijų, pagrindinius privalumus aptariant atskirai nuo trūkumus. Pagrindiniai 1-ojo požiūrio privalumai: 1) Lagranžo interpoliacijos polinomo grafikas eina per kiekvieną masyvo tašką, 2) sukonstruota funkcija lengvai aprašoma (nustatomas Lagranžo interpoliacijos polinomo koeficientų skaičius tinkle lygi m + 1), 3) sukonstruota funkcija turi bet kokios eilės ištisines išvestines, 4) interpoliacijos polinomas yra vienareikšmiškai nulemtas duoto masyvo. Pagrindiniai 1-ojo metodo trūkumai: 1) Lagranžo interpoliacijos polinomo laipsnis priklauso nuo tinklelio mazgų skaičiaus ir kuo didesnis šis skaičius, tuo didesnis interpoliacijos polinomo laipsnis, taigi, tuo daugiau reikia atlikti skaičiavimus, 2) pakeitus bent vieną tašką masyve, reikia visiškai perskaičiuoti Lagrandžo interpoliacijos polinomo koeficientus, 3) pridėtiį masyvą padidina Lagranžo interpoliacijos polinomo laipsnį vienu ir taip pat visiškai perskaičiuoja jo koeficientus, 4) neribotai tikslinant tinklelį, Lagranžo interpoliacijos polinomo laipsnis didėja neribotą laiką. Lagranžo interpoliacijos daugianario elgesys su neribotu tinklelio patobulinimu paprastai reikalauja ypatingo dėmesio. Pastabos A. Dėl aproksimavimo nuolatinė funkcija daugianario. Yra žinoma (Weierstrass, 1885), kad bet kuri ištisinė (ir juo labiau sklandi) funkcija intervale gali būti aproksimuota ir pageidaujama šiame intervale daugianario pagalba. Apibūdinkime šį faktą formulių kalba. Tegul f(x) yra intervalo [a, 6] ištisinė funkcija. Tada bet kuriam e > 0 yra toks daugianomas Є(x), kad bet kuriam x iš intervalo [a, 6] bus įvykdyta nelygybė (4 pav.) Atkreipkite dėmesį, kad net ir tokio pat laipsnio daugianariai, kurie aproksimuoja funkciją f(x) nurodytu tikslumu , jų yra be galo daug. Sukurkime atkarpoje [a, 6] tinklelį w. Aišku, kad jo mazgai, paprastai kalbant, nesutampa su daugianario Pn(x) ir funkcijos f(x) grafikų susikirtimo taškais (5 pav.). Todėl tam tikro tinklelio daugianomas Pn(x) nėra interpoliacija. Kai ištisinė funkcija aproksimuojama Jla-graj interpoliuojančiu polinomu, jos grafikas ne tik neturi būti artimas funkcijos f(x) grafikui kiekviename atkarpos [a, b] taške, bet gali nukrypti nuo šios funkcijos tiek, kiek norite. Pateiksime du pavyzdžius. 1 pavyzdys (Rung, 1901). Neribotai padidinus funkcijos mazgų skaičių intervale [-1, 1], tenkinama ribinė lygybė (6 pav.) 2 pavyzdys (Beristein, 1912). Lagranžo interpoliacijos polinomų seka, sudaryta ant vienodų tinklelių, skirtų tęstinei funkcijai /(x) = |x| atkarpoje su didėjančiu mazgų skaičiumi m nėra linkęs į funkciją /(x) (7 pav.). tinkleliui (1) yra lygus 2m), 3) atsižvelgiant į masyvą, sukonstruota funkcija yra vienareikšmiškai apibrėžta, 4) interpoliacijos funkcijai apibūdinti naudojamų polinomų laipsnis nepriklauso nuo tinklelio mazgų skaičiaus (lygus 1), 5) norint pakeisti vieną tašką masyve, reikia apskaičiuoti keturis skaičius (dviejų tiesių nuorodų, kylančių iš naujo taško, koeficientus), 6) pridėti papildomas taškas į masyvą reikia apskaičiuoti keturis koeficientus. Interpoliacijos kubinio splaino savybės A. Kubinio splaino alproksimacinės savybės. Interpoliacijos splaino aproksimacinės savybės priklauso nuo funkcijos f(x) lygumo – kuo didesnis interpoliuotos funkcijos lygumas, tuo didesnė aproksimacijos tvarka ir, tikslinant tinklelį, tuo didesnis konvergencijos greitis. Jei interpoliuota funkcija f(x) yra ištisinė intervale Jei interpoliuota funkcija f(x) turi ištisinę pirmąją išvestinę intervale [a, 6], tai yra interpoliacijos splainas, tenkinant 1-ojo arba 3-iojo tipo ribines sąlygas, tada h O turime Šiuo atveju ne tik splainas konverguoja į interpoliuotą funkciją, bet ir splaino išvestinė konverguoja į šios funkcijos išvestinę. Jei splainas S(x) aproksimuoja funkciją f(x) atkarpoje [a, b], o jo pirmoji ir antroji išvestinės atitinkamai aproksimuoja kubinio splaino ekstremaliąją savybę. Interpoliuojantis kubinis splainas turi dar vieną naudingą turtą. Apsvarstykite toliau pateiktą pavyzdį. pavyzdys. Sukurkite funkciją /(x), kuri sumažina funkcinę funkciją funkcijų klasėje iš erdvės C2, kurios grafikai eina per masyvo taškus tarp visų funkcijų, einančių per atskaitos taškus (x;, /(x,). )) ir priklausantis nurodytai erdvei, tai yra kubinis splainas 5( x), tenkinantis ribines sąlygas, pateikia funkcinei ekstremumą (minimumą). spline. 2 pastaba. Įdomu pastebėti, kad interpoliuojantis kubinis splainas turi aukščiau aprašytą ekstremaliąją savybę labai plačiai funkcijų klasei, būtent klasei |o, 5]. 1.2. Išlyginimo kubiniai splainai Apie išlyginimo uždavinio formulavimą Pateikiame tinklelį ir skaičių aibę Pradinių duomenų komentaras Praktikoje dažnai tenka susidurti su tuo atveju, kai y reikšmės masyve nurodomos kai kuriais klaida. Tiesą sakant, tai reiškia, kad kiekvienam yra nurodytas intervalas ir bet kuris skaičius iš šio intervalo gali būti laikomas y, reikšme. Y reikšmes patogu interpretuoti, pavyzdžiui, kaip kokios nors funkcijos y(x) matavimų rezultatus kintamieji x su atsitiktine klaida. Sprendžiant funkcijos atkūrimo iš tokių „eksperimentinių“ reikšmių problemą, vargu ar patartina naudoti interpoliaciją, nes interpoliavimo funkcija paklusniai atkurs keistus virpesius, kuriuos sukelia atsitiktinis masyvo komponentas (y,). Natūralesnis metodas yra pagrįstas išlyginimo procedūra, skirta kažkaip sumažinti atsitiktinumo elementą matavimo rezultatuose. Paprastai tokiuose uždaviniuose reikia rasti funkciją, kurios x = x, * = 0, 1,.... m reikšmės patektų į atitinkamus intervalus ir kuri, be to, turėtų gana geras savybes. Pavyzdžiui, jis turėtų ištisines pirmą ir antrą išvestines arba jo grafikas nebūtų per stipriai išlenktas, tai yra, neturėtų stiprių svyravimų. Tokio pobūdžio problema iškyla ir tada, kai, atsižvelgiant į duotą (tiksliai) masyvą, reikia sukonstruoti funkciją, kuri eina ne per duotus taškus, o šalia jų ir, be to, gana sklandžiai keičiasi. Kitaip tariant, atrodė, kad reikalinga funkcija išlygino nurodytą masyvą, o ne interpoliavo. Pateikiame tinklelį w ir dvi skaičių aibes SPLINE TEORIJA Užduotis. Sukurkite sklandžią funkciją atkarpoje [a, A], kurios reikšmės tinklelio mazguose u skiriasi nuo skaičių y pateiktomis reikšmėmis. Suformuluota išlyginimo problema yra restauravimas sklandi funkcija nurodyta lentelėje. Akivaizdu, kad tokia problema turi daug skirtingų sprendimų. Sukonstruojamai funkcijai nustačius papildomas sąlygas, galima pasiekti reikiamą vienareikšmiškumą. Išlyginamojo kubinio splaino apibrėžimas Išlyginamasis kubinis splainas S(x) tinklelyje w yra funkcija, kuri 1) kiekvienoje atkarpoje yra trečiojo laipsnio polinomas, 2) yra du kartus tolydžio diferencijuojamas atkarpoje [a, 6 ], tai yra, priklauso C2 klasei [a , b], 3) suteikia minimumą funkcinei, kur - duotus skaičius, 4) atitinka vieno iš trijų toliau nurodytų tipų ribines sąlygas. Kraštinės (kraštinės) sąlygos Kraštinės sąlygos nurodomos splaino ir jo išvestinių verčių apribojimų forma tinklelio ribiniuose mazguose. A. 1 tipo ribinės sąlygos. - intervalo [a, b) galuose nurodomos norimos funkcijos pirmosios išvestinės reikšmės. 2 tipo ribinės sąlygos. - antrosios norimos funkcijos išvestinės intervalo galuose (a, b] lygios nuliui. B. 3 tipo ribinės sąlygos vadinamos periodinėmis. Teorema. Kubinis splainas S(x), minimizuojant funkcinę (4) ir tenkinantis vieno iš aukščiau paminėtų trijų tipų ribines sąlygas, yra vienareikšmiškai apibrėžtas. Pastaba šis segmentų skaičius yra m išvestinės visuose vidiniuose tinklelio o mazguose". Taigi visų daugianario koeficientams apskaičiuoti gauname 3(m - 1) sąlygas (lygtis). funkcija ieškoma tokia forma. Čia ir skaičiai ir yra tiesinių algebrinių lygčių sistemos, kurios forma priklauso nuo ribinių sąlygų tipo, sprendimas. Pirmiausia apibūdinkime, kaip randamos reikšmės n*. 1 ir 2 tipų ribinėms sąlygoms sistema tiesines lygtis norint nustatyti reikšmes Hi parašyta tokia forma, kur). Koeficientai priklauso nuo ribinių sąlygų pasirinkimo. 1 tipo ribinės sąlygos: 2 tipo ribinės sąlygos: Esant 3 tipo ribinėms sąlygoms, skaičių nustatymo sistema rašoma taip: ir visi koeficientai apskaičiuojami pagal (5) formules (reikšmes). su indeksais k ir m + k laikomi lygiais : Svarbu* pastaba: Sistemų matricos nėra išsigimusios ir todėl kiekviena iš šių sistemų turi unikalų sprendimą Jei randami skaičiai n, -, tai dydžiai yra lengvai nustatomi pagal formulės, kuriose Periodinių kraštinių sąlygų atveju koeficientų pasirinkimas yra svorių koeficientų p, - pasirinkimas, įtrauktas į funkcinį (4), tam tikru mastu galite valdyti išlyginamųjų splainų savybes taškas (x^, Vk), tada jį atitinkantis svorio koeficientas p\ turi būti lygus nuliui Praktiniuose skaičiavimuose svarbiausia pasirinkti reikšmes - Tegul D yra matavimo klaida y vertė. Tada natūralu reikalauti, kad išlyginamasis splainas tenkintų sąlygą arba, kas yra ta pati Paprasčiausiu atveju, svoriniai koeficientai pi gali būti nurodyti, pavyzdžiui, formoje - kur c yra kokia nors pakankamai maža konstanta. Tačiau šis svorių p pasirinkimas neleidžia naudoti „koridoriaus“ dėl y, - verčių klaidų. Racionalesnis, bet ir daug darbo reikalaujantis algoritmas, skirtas nustatyti p reikšmes, gali atrodyti taip. Jei reikšmės randamos fc-oje iteracijoje, tada daroma prielaida, kad kur e yra mažas skaičius, kuris parenkamas eksperimentiškai, atsižvelgiant į kompiuterio bitų tinklelį, D reikšmes ir tikslumą. sprendžiant tiesinių algebrinių lygčių sistemą. Jei fc-toje iteracijoje taške i pažeidžiama (6) sąlyga, tada paskutinė formulė užtikrins atitinkamo svorio koeficiento p, sumažėjimą. Jei tada per kitą iteraciją p padidėjimas sukelia daugiau „koridorius“ (6) ir galiausiai sklandžiau besikeičiantis splainas. Šiek tiek teorijos A. Interpoliacijos kubinio splaino koeficientų skaičiavimo formulių pagrindimas. Įveskime žymėjimą, kur m yra šiuo metu nežinomi dydžiai. Jų skaičius lygus m + 1. Splainas, parašytas forma kur tenkina interpoliacijos sąlygas ir yra ištisinis visame intervale [a, b\: įdėję jį į formulę, gauname atitinkamai a ištisinė pirmoji išvestinė intervale [a, 6]: Diferencijuodami ryšį (7) ir sudėję jį, gauname atitinkamą iš tikrųjų. Parodykime, kad skaičius m galima pasirinkti taip, kad splaino funkcija (7) intervale [a, 6] turėtų ištisinę antrąją išvestinę. Apskaičiuokime antrąją splaino išvestinę intervale: Taške x, - 0 (esant t = 1) turime Apskaičiuokime antrąją splaino išvestinę intervale Taške turime Iš tolydumo sąlygos antroji išvestinė vidiniuose tinklelio mazguose a; gauname m - 1 santykį kur Prie šių m - 1 lygčių pridėjus dar dvi, kurios išplaukia iš ribinių sąlygų, gauname m + 1 tiesinių algebrinių lygčių sistemą su m + I nežinoma miy i = 0, 1... , m. Lygčių sistema, skirta apskaičiuoti rsh reikšmes 1-ojo ir 2-ojo tipų kraštinių sąlygų atveju, turi formą kur (1-ojo tipo ribinės sąlygos), (2-ojo tipo ribinės sąlygos). Periodinėms ribinėms sąlygoms (3 tipo ribinėms sąlygoms) tinklelis o; pratęsti dar vienu mazgu ir daryti prielaidą, kad σ* reikšmių nustatymo sistema turės formos tęstinumą antrajame ir (- !) tinklelio mazge. Turime Iš paskutinių dviejų sąryšių gauname trūkstamas dvi lygtis, atitinkančias 4 tipo ribines sąlygas: Iš lygčių pašalinus nežinomą goo, o iš lygčių – nežinomą pc, kaip rezultatas, gauname lygčių sistemą. Atkreiptinas dėmesys, kad nežinomųjų skaičius šioje sistemoje yra th - I. 6. Išlyginamojo subichinio splaino efektyvumo skaičiavimo formulių pagrindimas. Įveskime žymėjimą, kur Zi ir nj šiuo metu yra nežinomi dydžiai. Jų skaičius lygus 2m + 2. Splaino funkcija, parašyta forma, yra ištisinė per visą intervalą (a, 6]: įdėję į šią formulę, atitinkamai gauname. Parodykime, kad skaičiai z ir n gali Parinkti taip, kad splainas, parašytas forma ( 8), intervale [a, 6] turėtų ištisinę pirmąją išvestinę S(x) intervale: Taške x ^ - 0 (esant t = 1) turime Apskaičiuokime pirmąją splaino S(x) išvestinę intervale: Taške turime Iš pirmosios splaino išvestinės vidiniuose mazguose tęstinumo sąlygos. tinklelį ir --> gauname santykį m - 1. Šis ryšys yra patogiai parašytas matricos pavidalu Be to, intervale [a, 6) yra ištisinė antroji išvestinė: diferencijuojant santykis (8) ir jį įdėjus, atitinkamai gauname matricinį ryšį iš funkcijos minimumo (4). Turime Paskutinės dvi matricos lygtys gali būti laikomos tiesine 2m + 2 tiesinių algebrinių lygčių sistema 2m + 2 nežinomiesiems. Pirmoje lygybėje stulpelį r pakeitę jo išraiška, gauta iš (9) santykio, gauname matricos lygtį SPLINE TEORIJOS sprendinių pavyzdžius, skirtus stulpeliui M nustatyti. Ši lygtis turi unikalų sprendimą dėl to, kad matrica A + 6HRH7 yra visada neišsigimęs. Jį radę nesunkiai atpažinsime Eamsšino miestą. Srieginių matricų A ir H elementai nustatomi tik pagal tinklelio parametrus ir (su žingsniais hi) ir nepriklauso nuo y^ reikšmių. pilnas naudojimas linijinė erdvė matmenys m + 3: 1) dviejų kubinių įtvarų, sudarytų ant tinklelio u>, ir tinklelio u> kubinių įtvarų sandauga, savavališkas skaičius slapčia, tai yra ant šio tinklelio sukonstruoti kubiniai splainai, 2) bet koks kubinis splainas, sukonstruotas ant tinklelio ir iš mazgo, yra visiškai nulemtas y" reikšmių m + 1 šiuose mazguose ir dviejuose- tik + 3 parametrai. Šioje erdvėje pasirinkę pagrindą, susidedantį iš m + 3 tiesiškai nepriklausomų splainų, galime unikaliu būdu parašyti savavališką kubinį splainą a(x) kaip tiesinę jų kombinaciją. komentuoti. Šis splaino priskyrimo tipas yra plačiai paplitęs skaičiavimo praktikoje. Ypač patogi yra duomenų bazė, susidedanti iš vadinamųjų kubinių B splainų (pagrindinių arba pagrindinių splainų). D-spline naudojimas gali žymiai sumažinti kompiuterio atminties poreikius. L formos splainai. Nulinio laipsnio B spline, sudaryta ant skaičių tiesės išilgai tinklelio w, vadinama k ^ I laipsnio B spline, sudaryta skaičių tiesėje išilgai tinklelio u, nustatoma naudojant pasikartojančią funkciją. formulė Pirmojo B, -1 "(g) ir antrojo in\7\x) laipsnių B-splainų grafikai pateikti atitinkamai 11 ir 12 pav. Savavališko k laipsnio B splainas gali skirtis nuo nulis tik tam tikrame segmente (apibrėžtas k + 2 mazgais, -3* (i) skyrėsi nuo nulio segmente y, -+2]. Pateikiame trečiojo laipsnio kubinio splaino formulę vienodo tinklelio atvejis (su žingsniu A). Kitais atvejais turime tipišką grafiką. kubinis B-splainas parodyta pav. 13. Paskolos*. funkcija a) yra du kartus nepertraukiamai diferencijuojama intervale, tai yra, ji priklauso klasei C2[a, "), k b) skiriasi nuo nulio tik keturiais intervalais iš eilės (Papildykime tinklelį w pagalbiniais mazgais, paimtais visiškai savavališkai Naudodami išplėstinį tinklelį w* galime sudaryti m + 3 kubinių B splainų šeimą: ši šeima sudaro pagrindą atkarpos (a, b] kubinių splainų erdvėje. Taigi savavališkas kubinis splainas S(z). ), sudarytas ant segmento |b, 6] tinklelio izm+1 mazgai , šiame segmente gali būti pavaizduotas tiesinės kombinacijos pavidalu Uždavinio sąlygos vienareikšmiškai nustato šio plėtimo koeficientus... In atvejis, kai pateikiamos funkcijos reikšmės y* tinklelio mazguose ir pirmosios funkcijos išvestinės reikšmės y o ir Vm tinklelio galuose" (problema). interpoliacijos su ribinėmis pirmos rūšies), šie koeficientai apskaičiuojami pagal šios formos sistemą Po atmetimo kiekiai b-i ir &m+i, gauname tiesinę sistemą su nežinomaisiais 5q, ..., bm ir trimate matrica. Sąlyga užtikrina įstrižainės dominavimą, taigi ir galimybę ją išspręsti naudojant šlavimo metodą. 3MMCHMY 1. Linijinės sistemos Panašūs tipai atsiranda svarstant kitas interpoliacijos problemas. Zmmchnm* 2. Palyginus su 1.1 skyriuje aprašytais algoritmais, R-spline naudojimas * interpoliacijos problemose leidžia sumažinti* saugomos informacijos kiekį, tai yra žymiai sumažinti kompiuterio atminties poreikius, nors tai ir lemia. operacijų skaičiaus padidėjimui. Splaino kreivių sudarymas naudojant splaino funkcijas Aukščiau nagrinėjome matricas, kurių taškai buvo sunumeruoti taip, kad jų abscisės sudarytų griežtai didėjančią seką. Pavyzdžiui, atvejis, parodytas fig. 14 kai skirtingus taškus identiškų abscisių masyvas nebuvo leidžiamas. Ši aplinkybė lėmė tiek aproksimuojančių kreivių (eismo funkcijų) klasės pasirinkimą, tiek jų sudarymo būdą. Tačiau aukščiau pasiūlytas metodas leidžia gana sėkmingai sudaryti interpoliacijos kreivę bendresniu atveju, kai masyvo taškų numeracija ir jų vieta plokštumoje, kaip taisyklė, nesusiję (15 pav.). Be to, nustatydami interpoliacijos kreivės sudarymo užduotį, pateiktą masyvą galime laikyti neplokščiu, tai yra aišku, kad tai išspręsti bendra užduotis būtina žymiai išplėsti leistinų kreivių klasę, įskaitant uždaras kreives, kreives su savaiminio susikirtimo taškais ir erdvines kreives. Tokias kreives patogu aprašyti naudojant parametrines lygtis Mes to reikalausime. be to, funkcijos turi turėti pakankamai glotnumo, pavyzdžiui, jos priklauso klasei C1 [a, /0] arba klasei Norėdami rasti kreivės, kuri nuosekliai eina per visus masyvo taškus, parametrines lygtis, elkitės taip. 1 žingsnis. Savavališkai paimtame segmente, kuriame reikia pakeisti funkciją f(x) yra didelis, galima taikyti splaino interpoliaciją.

1.1. Kubiniai splainai.

Interpoliacijos splainai 3 tvarka – tai funkcijos, susidedančios iš 3 daugianario dalių th tvarka. Sąsajos mazguose užtikrinamas funkcijos ir jos pirmosios bei antrosios išvestinių tęstinumas. Apytikslę funkciją sudaro atskiri polinomai, paprastai vienodai mažo laipsnio, kiekvienas apibrėžtas atskiroje atkarpos dalyje.

Leiskite ant segmento [ a, b] tikroji ašis x nurodytas tinklelis, kurio mazguose nustatomos reikšmės
funkcijas f(x). Būtina statyti segmente [ a, b] nuolatinio splaino funkcija S(x), kuri atitinka šias sąlygas:



Norint sukurti norimą splainą, reikia rasti koeficientus
daugianario
,i=1,… n, t.y. 4 n nežinomi koeficientai, kurie tenkina 4 n-2 lygtis (1), (2), (3). Tam, kad lygčių sistema turėtų sprendinį, pridedamos dvi papildomos (ribinės) sąlygos. Naudojamos trijų tipų ribinės sąlygos:

Sąlygos (1), (2), (3) ir viena iš sąlygų (4), (5), (6) sudaro užsakymo SLAE 4 n. Sistema gali būti išspręsta naudojant Gauso metodą. Tačiau pasirinkę specialią kubinio daugianario rašymo formą, galite žymiai sumažinti sprendžiamų lygčių sistemos eiliškumą.

1.2. Ypatinga splaino rašymo forma.

Apsvarstykite segmentą
. Pateikiame šiuos kintamųjų žymėjimus:

Čia
- segmento ilgis
,

,
- pagalbiniai kintamieji,

x– tarpinis taškas atkarpoje
.

Kada x eina per visas intervalo reikšmes
, kintamasis svyruoja nuo 0 iki 1 ir
svyruoja nuo 1 iki 0.

Tegu kubinis daugianario
segmente
turi formą:

Kintamieji Ir
nustatomi atsižvelgiant į konkretų interpoliacijos segmentą.

Raskime splaino reikšmę
segmento galuose
. Taškas
yra segmento pradžios taškas
, Štai kodėl =0,
=1 ir pagal (3.8):
.

Segmento pabaigoje
=1,
=0 ir
.

Dėl intervalo
taškas
yra baigtinis, taigi =1,
=0 ir iš (9) formulės gauname:
. Taigi funkcijos tęstinumo sąlyga yra įvykdyta S(x) kubinių daugianario sandūros taškuose, nepriklausomai nuo skaičių pasirinkimo  i.

Koeficientams  i nustatyti, i=0,… n Išskirkime (8) du kartus kaip kompleksinę funkciją x. Tada

Apibrėžkime antrąsias splaino išvestines
Ir
:

Dėl daugianario
taškas yra interpoliacijos segmento pradžia ir =0,
=1, todėl

Iš (15) ir (16) išplaukia, kad intervale [ a,b]spline funkcija, „sulipdyta“ iš 3 eilės daugianario dalių, turi ištisinę 2 eilės išvestinę.

Norėdami gauti funkcijos pirmosios išvestinės tęstinumą S(x), Reikalausime, kad vidiniuose interpoliacijos mazguose būtų įvykdytos šios sąlygos:

Natūraliam kubiniam splinei
, todėl lygčių sistema atrodys taip:

ir lygčių sistema (17) atrodys taip:

Pavyzdys.

Pradiniai duomenys:

Pakeisti funkciją
interpoliuojantis kubinis splainas, kurio reikšmės tam tikruose mazgų taškuose (žr. lentelę) sutampa su funkcijos reikšmėmis tuose pačiuose taškuose. Apsvarstykite skirtingas ribines sąlygas.

    Apskaičiuokime funkcijos reikšmę mazginiuose taškuose. Norėdami tai padaryti, pakeiskite reikšmes iš lentelės į nurodytą funkciją.

    Skirtingoms ribinėms sąlygoms (4), (5), (6) randame kubinių splainų koeficientus.

    1. Panagrinėkime pirmąsias ribines sąlygas.

Mūsų atveju n=3,
,
,
. Norėdami rasti
naudojame lygčių sistemą (3.18):

Paskaičiuokime Ir , naudojant (7) ir (11) formules:


Pakeiskime gautas reikšmes į lygčių sistemą:

.

Sisteminis sprendimas:

Atsižvelgiant į pirmąsias ribines sąlygas, splaino koeficientai yra tokie:

      Panagrinėkime splaino koeficientų apibrėžimą atsižvelgdami į ribines sąlygas (3.5):

Raskime funkcijos išvestinę
:

Paskaičiuokime
Ir
:

Į lygčių sistemą (21) pakeiskime reikšmes Ir :

Naudodami (20) formulę nustatome  0 ir  3:

Atsižvelgiant į konkrečias vertes:

ir koeficientų vektorius:

    Apskaičiuokime kubinio splaino S(x) reikšmes interpoliacijos atkarpų vidurio taškuose.

Segmentų vidurio taškai:

Norėdami apskaičiuoti kubinio splaino reikšmę interpoliacijos segmentų viduryje, naudojame (7) ir (9) formules.

3.1.

Mes surasime Ir
:

Formulėje (3.9) pakeičiame koeficientus

3.2.

Mes surasime Ir
:


, ribinėms sąlygoms (4), (5), (6):

3.3.

Mes surasime Ir
:

(9) formulėje pakeičiame koeficientus
, ribinėms sąlygoms (4), (5), (6):

Padarykime lentelę:

(1 kr.kond.)

(2 kreditai)

(3 kreditai)

Dalinės tiesinės ir daugianario interpoliacijos trūkumai paskatino sukurti splaino funkcijos teoriją (iš angliško žodžio spline – liniuotė, lentjuostė). Taip yra dėl to, kad inžinerinėje praktikoje dažnai reikia nubrėžti lygias kreives, naudojant elastingą metalinę liniuotę, pritvirtintą mazgų taškuose.

Panagrinėkime labiausiai paplitusią splaino interpoliacijos versiją – kubinę splaino interpoliaciją.

Nustatyta, kad elastinga nedeformuojama liniuotė eina tarp gretimų mazgų išilgai tiesės, atitinkančios lygtį

Akivaizdu, kad jei pasirinksite daugianarį kaip funkciją, tada jo laipsnis neturėtų būti didesnis nei trečiasis, nes trečiojo laipsnio daugianario ketvirtoji išvestinė yra identiškai lygi nuliui. Šis daugianomas vadinamas kubinis splainas, kuris ant intervalo parašytas forma

Kur a i , b i , c i , d i- splaino koeficientai, nustatyti iš papildomų sąlygų; i = 1,2,3,...n- splaino numeris.

Splainų yra vienu mažiau nei interpoliacijos taškų. Spline interpoliacija gali būti vadinama daliniu daugianario.

Splaino koeficientai nustatomi iš toliau pateiktų gretimų splainų sujungimo mazgų taškuose sąlygų.

1. Splaino reikšmių ir funkcijų lygybė f(x) mazgų taškuose – Lagranžo sąlygos:

, . (6.10)

2. Splainų pirmosios ir antrosios išvestinių tęstinumas mazguose:

Be išvardytų sąlygų, galuose, t.y. taškuose, turėtumėte pridėti sąlygas x 0 Ir x n. Apskritai šios sąlygos priklauso nuo konkrečios užduoties. Naudosime spygliuočių laisvųjų galų sąlygas, t.y. už intervalo ribų funkcija apibūdinama pirmojo laipsnio daugianario – tiesės:

, . (6.12)

Sąlygos (6.10)-(6.12) leidžia rasti koeficientus a i , b i , c i , d i visi n splines. Jų vertės išreiškiamos šiomis formulėmis:

, (6.13)

kur pirmose trijose lygtyse i = 1,2,...n, o trečioje i = 2,3,..n;

h i =x i -x i -1 - i argumento žingsnis.

Svarstydami indeksavimą su i, pridėkite šio koeficiento reikšmes splaino galuose

Pirma, sistema išsprendžiama iš n - 1 tiesinės lygtys su i. Tada nusprendė b i Ir d i pagal žinomus koeficientus su i, ir ašžinomos – tai funkcijos reikšmės f(x) mazginiuose taškuose. Kiekvienoje lygtyje nustatyti su i apima tik tris nežinomuosius su iš eilės indekso reikšmėmis c i - 1, c i, c i +1. Tokia matrica, kurioje yra tik nuliniai pagrindinės ir dviejų gretimų įstrižainių elementai, vadinama trikampis.

Nagrinėjamo algoritmo programinė įranga pateikta žemiau (6.2 PROGRAMA). Pateiktas fragmentas, kuriame splaino koeficientai apskaičiuojami remiantis interpoliuotos funkcijos mazginėmis reikšmėmis.


Tridiagonalinei matricai Kc sudaryti naudojamas argumentų žingsnių masyvas h i. Procedūroje Gausas apskaičiuojamas pagalbinis masyvas cv, turintis 2 elementais mažiau nei masyvas c., kadangi c 0 ir c n +1 yra žinomi ir lygūs nuliui. Daugeliui lygčių, sprendžiant sistemas su tridiagonaline matrica, naudojamas šlavimo metodas, kuris yra nuoseklaus eliminavimo metodo variantas. Skaičiavimų naudojant spline interpoliaciją rezultatai parodyti 6.4 pav. Elektromagneto ritės srovė buvo paimta kaip interpoliuota funkcija.


Kaip matyti 6.4 pav., interpoliacija su kubiniais splainais duoda labai gerą aproksimaciją, jei funkcija yra lygi. Apskritimas paveiksle nurodo sritį, kurioje splaino paklaida yra didelė. Taip yra dėl to, kad šiame skyriuje yra srovės kreivės lūžis, susijęs su diodo varžos pasikeitimu. R D iš tiesioginio R pr atvirkščiai R arr.. Šiuo atveju pirmoji srovės išvestinė atlieka šuolį, o splainai pagal apibrėžimą turi lygias pirmąsias išvestines į dešinę ir į kairę nuo mazgo taško.

Kaip minėta anksčiau, interpoliacija yra ypatingas aproksimacijos atvejis, kurio kriterijus yra Lagranžo sąlygos. Panagrinėkime dar vieną aproksimacijos kriterijų – aproksimacinės funkcijos šaknies vidurkio kvadratinio nuokrypio sumažinimą nuo aproksimacinės. f(x).



Ar jums patiko straipsnis? Pasidalinkite su draugais!