In sovelletun matematiikan ja numeerinen analyysi , joka on ura- on paloittain funktio määritellään polynomeja .
Spline on englanninkielinen termi, jota ranskaksi käytettäessä lausutaan yleensä [splin] , à la française. Se osoittaa joustavan puuviivaajan , jota kutsutaan ranskan kielellä cerce . Sovelletun matematiikan käytössä englanninkielinen termi spline on kuitenkin yleistetty ja ranskan sana cerce jätetty huomiotta.
In interpolointi ongelmia , vaarnan menetelmä on hyvin usein edullista polynomi-interpolointi . Splinejä käytetään myös kokeellisten tietojen tai tilastojen tasoittamiseen liittyvissä ongelmissa .
Splinejä käytetään numeerisesti edustamaan monimutkaisia muotoja. Niiden toteuttaminen on yksinkertaista. Niitä käytetään usein piirustus- tai graafisen suunnittelun ohjelmistoissa; Niiden käyttö yleistynyt siellä Pierre bézier kanssa B-kiilat .
Rihlojen historiallinen alkuperä löytyy teollisesta muotoilusta.
Aiemmin, ennen digitaalisten työkalujen olemassaoloa, teollinen muotoilu perustui geometriaan ja piirustuksiin. Esimerkiksi koneosan suunnittelijat määrittivät graafisesti muutaman pisteen tai solmun , joiden läpi osan ääriviivan on välttämättä kuljettava ( tekninen piirustus ). Teollisuussuunnittelijan työ koostui näiden solmujen yhdistämisestä mahdollisimman sujuvilla kaarilla epäjatkuvuuksien, mekaanisten heikkouksien ja repeämien välttämiseksi. Näiden käyrien oli oltava "silmälle miellyttäviä": subjektiivisen "ilon" käsitteen ja funktion säännöllisyysluokan , toisin sanoen sen ominaisuuksien, jatkuvuuden ja johdannaisen, matemaattisen käsityksen välillä on suora suhde .Graafisen ääriviivat ääriviivat, käytimme elastinen puinen hallitsija, nimeltään urainen Englanti ja vanne ranskaksi. Viivain vietiin solmien avulla solmujen läpi ja hallitsijan ottama käyrä jäljitettiin niiden välillä. Puuliuskan mekaaniset ominaisuudet ovat sellaiset, että se muodonmuutoksessa muodon, jolla on jatkuvia johdannaisia korkeassa järjestyksessä (ensimmäinen johdannainen on jatkuva, myös toinen johdannainen jne.)
Spline on englanninkielinen sana, joka tällä kielellä lausutaan [splaɪn] , mikä erottaa sen " pernasta " [spli: n] . Ranskassa ääntämme sanan sen kirjoitettuna : [splin] .
EtymologiaPierre Bézier kirjoittaa:
” Valitettavasti englanninkielinen sana spline on vallinnut, kun taas se käännetään ranskaksi substantiiveilla latte tai baguette . "
Oxfordin englanninkielisessä sanakirjassa 1989 määritellään sana spline seuraavasti :
" Pitkä kapea ja suhteellisen ohut pala tai nauha puusta, metallista jne. säleikkö. Joustava puu- tai kovakuminauha, jota luonnokset käyttävät laajan lakaisukäyrän asettamiseen etenkin rautatieliikenteessä. "
”Pitkä, kapea ja suhteellisen ohut puu-, metalli- jne. Pala. Joustava puu- tai kovakuminauha, jota teollisuussuunnittelijat käyttävät leveiden kaarien piirtämiseen, erityisesti rautatieliikenteessä. "
Joiners, puusepän ja liukuportaat kutsutaan tämän työkalun vanne , joustava puinen säleen hyvä viljaa käytetään tehdä "mitään" käyrät (harmoninen käyrät läpi tietyn määrän pisteitä, ja joita ei voida tehdä käyttämällä kompassi).
Puuliuskan ottaman muodon kuvaus elastisuuslakien perusteella on matemaattisesti monimutkainen. Käytännön käyttötarkoituksiin saadaan kuitenkin hyväksyttävä likiarvo edustamalla säännön muotoa uralla , toisin sanoen funktiona, jonka palat määrittelee polynomi kullakin solmujen välisellä välillä.
Nämä polynomit voidaan laskea asettamalla jatkuvuusolosuhteet: ne kulkevat solmujen läpi, muodon kaltevuus on jatkuva, ts. Että solmun oikealla ja vasemmalla puolella olevilla polynomeilla on jopa ensimmäinen johdannainen; samalla tavalla kussakin solmussa kaarevuus on jatkuva, toisin sanoen oikealla ja vasemmalla olevilla polynomeilla on sama johdannaissekunti. Ratkaisu annetaan paloina kolmannen asteen polynomeja. Se on polynomien vähimmäisaste niin, että funktio, sen kaltevuus ja kaarevuus ovat jatkuvia jokaisessa solmussa. Tätä paloittain käyrää kutsutaan uraksi .
Kuutiopaloja käytetään käytännössä eniten. Niitä on helpompi käyttää kuin polynominterpolointia, eikä niillä yleensä ole poikkeavaa käyttäytymistä. Joissakin erityistapauksissa voidaan johtaa neljännen asteen polynomien käyttöön; tämä käyttö johtuu kuitenkin analyytikoiden käytännöstä, mutta ei teoreettisista näkökohdista.
Tietojen lähentämisen puitteissa on myös kehitetty muita spline-toimintoperheitä (jotka on saatu minimoimalla energiafunktionaalisuus).
Antaa olla sarja datapisteitä tai solmuja koordinaatteja ( X i , Y i ) . Kutsumme interpolointi Spline paloittain toiminta koostuu polynomin kunkin aikavälin solmujen välillä.
Spline-asteen määrittelee käytetyn korkeimman asteen polynomi: jos yhdistämme yksinkertaisesti solmut suorilla viivoilla, toisin sanoen jos spline koostuu ensimmäisen asteen polynomeista, spline on astetta 1 jne. Jos kaikilla polynomeilla on sama aste, puhumme yhtenäisestä urasta . Jos kaikki polynomit ovat kolmannen asteen, puhumme kuutiomaisesta urasta .
Tässä on esimerkki toisaalta asteen 1 ja toisaalta asteen 3 interpolaatioviivoista, jotka perustuvat samoihin neljään solmuun (punaiset pisteet alla olevissa kaavioissa.
Vasemmalla asteen 1 spline yhdistää neljä solmua asteen 1 polynomeilla, toisin sanoen suorilla viivoilla. Spline on jatkuva, mutta kaltevuus ei ole jatkuva (se siirtyy yhtäkkiä arvosta toiseen). Polynomit, lineaariset funktiot, sallivat lineaariset interpolaatiot solmujen välillä.
Oikealla kuutiomainen spline, jossa solmut on kytketty polynomeilla 3 e astetta, johon se on asettanut edellytykset jatkuvan uran tekemiseksi ensimmäisen asteen (rinteet vaihtelevat jatkuvasti) ja toisen asteen (uran kaarevuus, tarkemmin sanottuna sen toinen johdannainen, vaihtelee jatkuvasti).
Esimerkkejä urista | |||||||||
|
Koska polynomit ovat jatkuvia, rajattomasti erilaistuvia ja niiden peräkkäiset johdannaiset ovat jatkuvia, uran jatkuvuus riippuu jokaiselle solmulle asetetuista jatkuvuusolosuhteista. Jatkuvuus määrittää kunkin intervallin välisen risteyksen ominaisuudet. Tämä vastaa kahden peräkkäisen polynomin vastaavuustasoa risteyskohdissa.
Kun olemme määrittäneet uran elementit, toisin sanoen polynomien parametrit, jotka liittävät kuhunkin annettuun pisteeseen ( solmut ), voimme laskea kahden solmun välissä olevan pisteen ordinaatin: c 'on vastaavan abskissan polynomi. Spline mahdollistaa sen vuoksi solmujen välisten arvojen interpoloinnin.
Vaikka ne ovat vakaampia kuin muut interpolointimenetelmät, splineillä on silti joitain haittoja:
Tarkastellaan n koordinaattien solmua ( X 1 , Y 1 ), ..., ( X n , Y n ) . Aikaväliä on n -1. Siksi haluamme määrittää kolmannen asteen n -1 polynomien, S 1 , ..., S n –1, parametrit .
Jokaisella polynomilla S on muodon yhtälö:
Siksi meidän on määritettävä neljä kerrointa polynomia kohti tai yhteensä 4 n- 4 tuntematonta, joille meidän on asetettava niin monta ehtoa.
Edellytykset C 0 , C 1 ja C- 2 ilmaistaan seuraavasti:
Yhteensä meillä on siis 4 n -6 ehtoa. Kaksi ehtoa puuttuu siis 4 n- 4 tuntemattoman määrittämiseksi. Lisätään kaksi lisäehtoa asettamalla toisen johdannaisen arvo kullekin ääripäälle. Jos määräämme, että toiset johdannaiset ovat nollat kummassakin päässä, saadaan luonnollinen kuutio-ura . Saattaa kuitenkin olla saatavilla lisätietoja, joiden avulla toinen johdannainen voidaan kiinnittää tarkemmin päihin.
Näin saadaan 4 n- 4 lineaarisen yhtälön järjestelmä, jossa on 4 n -4 tuntematonta.
Alla on algoritmi interpolointikuutiouurteen laskemiseksi, luonnollinen tai ei. Tämä algoritmi on esitetty luonnollisella ja matemaattisella kielellä, viittaamatta mihinkään ohjelmointikieleen. Se voidaan toteuttaa yksinkertaisella laskentataulukolla.
Algoritmi interpolointiradan laskemiseksi Olkoon X i ja Y i n solmun paiseet ja ordinaatit , paiseet luokitellaan nousevaan järjestykseen.1. Laske pylväsmatriisi h solmujen välisten n –1 välin leveydestä : , i: lle välillä 1 - n –1 .2. Laske sarakkeen matriisi F ja n- -2 johdannainen sekuntia solmut:2.1. Solmuille 2 - n –1 : , i: lle välillä 2 - n –1 .2.2. On myös tarpeen arvo toisen johdannaiset päissä, F 1 ja F n . Jos asetamme F 1 = 0 ja F n = 0 , saamme luonnollisen uran; jos meillä on tietoja päistä, annamme F 1: lle ja / tai F n: lle ad hoc -arvon . 3. Muodosta neliömatriisi R i , j , joiden mitat ovat n x n , siten, että i tarkoittaa indeksi rivit ja j että sarakkeet: 3.1 Aseta kaikki matriisin R elementit arvoon 0. 3.2 Ensimmäisellä rivillä vain ensimmäinen elementti ei ole nolla: R 1,1 = 1 . 3.3 Viimeisellä rivillä vain viimeinen elementti ei ole nolla: R n , n = 1 . 3.4 Mitan ( n –2) × n R : n alamatriisi ilman ensimmäistä ja viimeistä riviä on kolmiaksiaalinen. Kaikki sen elementit ovat nollia, paitsi:Esimerkki
Tässä esimerkissä esitetään käyrän likiarvo y = sin x luonnollisella kuutio-uralla, jolle annamme seuraavat viisi funktion arvoa (5 solmua):
Kommentti esimerkkiä : Funktiota kuvaa hyvin sen likiarvo luonnollisella uralla kaavion vasemmalla puolella, koska toisen johdannainen on todellakin nolla , kuten luonnollisen uran laskeminen edellyttää. Toisaalta kaavion oikealla puolella likiarvo luonnollisella uralla on vähemmän tarkka, koska arvon toinen johdannainen ei ole nolla (se on arvoinen ), arvo, joka poikkeaa nollahypoteesista, joka esitetään luonnollinen spline.
Funktion , jonka arvot solmut ovat tunnettuja , yleinen lauseke kuutio spline luokan C 2 pisteessä on on seuraava:
tai
On helppo tarkistaa, että ja .
Splines integroidaan usein piirto-ohjelmistoihin, olivatpa ne sitten yleiskäyttöisiä ohjelmistoja, kuten toimisto-ohjelmistopakettien ( Microsoft Office , LibreOffice jne.), Piirustus- ja kuvankäsittelyohjelmistojen ( Inkscape , GIMP …) tai tietokoneavusteisen piirustuksen tai suunnittelun piirustustoimintoja. ohjelmisto. Nämä ohjelmistot käyttävät useimmiten B-uria .
Mittaustiedot yleensä vaikuttavat vaarat joko fysiikan tai humanististen tieteiden (talous, väestönkehitys, sosiologia jne) empiirisesti lähestyä tuntematon toiminto, jonka mittaukset häiriintyvät vaarat, harjoittelemme usein tasoituksen . Heuristisen taustalla olevan ajatuksen mukaan fyysisiä ilmiöitä edustavat toiminnot tai humanistiset tieteet ovat yleensä hyvin jatkuvia: tasoituksen tarkoituksena on siis korvata jatkuvat arvot vaarojen vuoksi hajautetuille mittausarvoille. Tämä ongelma syntyy erityisesti ajan mittaan muuttuvan määrän mittauksissa ( kronologiset sarjat ).
On olemassa monia empiirisiä tasoitusmenetelmiä, kuten liikkuvat keskiarvot , yhden tai kahden eksponentiaalinen tasoitus jne. Rihmojen tasoittaminen on yksi tällainen nyrkkisääntö.
Tarkastellaanpa mittaustietoja, joiden paiseet kasvavat tiukasti (nämä ovat usein kronologisia tietoja).
Rihmojen tasoittamiseen johtava ajatus perustuu saman joustavan viivaimen käyttöön kuin mitä interpolointiradat ovat alkaneet (katso yllä oleva teollinen muotoilu ). Sen sijaan, että nauha pakotettaisiin kulkemaan solmujen (mittausarvojen) läpi, oletetaan, että ne on kytketty vanteen kanssa jousilla. Sitten liukusäädin kuvaa hyvin jatkuvaa toimintoa, joka minimoi jousien ja liukusäätimen kokonais deformaatioenergian.
Olkoon n tunnettua arvoa (solmua), jonka paiseet kasvavat tiukasti, ja jonka haluat tasoittaa. Nämä n solmua on yhdistetty joustavaan jäykkyysliuskaan r jousilla, joilla kaikilla on sama jäykkyys k . Tasapainon muoto on se, joka minimoi jousien pidennyksen ja nauhan kaarevuuden kokonaisenergian.
Kevään venymäenergiaJokainen jousi i ulottuu pituudella e i . Joustavan jousen venymäenergia on verrannollinen venymän neliöön; jousen n o i venymäenergia on arvoinen:
missä k on jousen jäykkyys.Jousen kokonaisvenymäenergia on n jousen venymäenergian summa :
(olettaen, että kaikkien jousien jäykkyys on sama ja yhtä suuri kuin k ). Nauhan muodonmuutosenergiaJoustavan vanteen kaarevuusvoima on verrannollinen missä tahansa pisteessä olevan kaarevuuden neliöön. Lähennämme kaarevuutta funktion s ( x ) toisella johdannaisella, joka edustaa nauhan muotoa. Tämä likiarvo on sallittu käytännössä, jos toiminnon kaltevuus ei ole liian suuri (>> 1). Sitten kaarevuusenergian arvo x: n ja x + dx: n välillä on :
missä r on renkaan elastinen kaarevuusjäykkyys.Koko nauhan venytysenergia on arvoltaan:
jos oletetaan, että sillä on vakio jäykkyys koko pituudeltaan. Ehto nauhan ottamassa muodossaNauhan ottama muoto on se, joka minimoi muodonmuutosenergian, toisin sanoen jousien jatkeenergian ja nauhan kaarevuusenergian. Tämä on funktio, joka minimoi lausekkeen:
jossa λ on nauhan jäykkyyden r ja jousien jäykkyyden k suhde .Löytää toiminto s , joka minimoi W ( s , λ ) varten tietyn λ on helpompaa, jos oletetaan, että tämä toiminto on kuutio spline: paloittain käyrä muodostuu kolmannen asteen polynomi. Jos joudumme tasoittamaan n arvoa (tai solmua), on n –1 väliä ja siten n –1 kolmannen asteen polynomia, joista kukin määritetään neljällä parametrilla, eli yhteensä 4 n –4 määritettävää parametria.
Näille polynomitoiminnoille asetetaan jatkuvuus jokaisessa risteyksessä, kaltevuus (ensimmäinen johdannainen) ja jatkuva toinen johdannainen, nimittäin:
Olkoon 3 n –6 ehtoa.
W: n ( s , λ ) minimointi , jossa λ on kiinteä, vastaa n ehtoa. Olkoon siis yhteensä 4 n –6 ehtoa. Kaksi ehtoa puuttuu 4 n –4 tuntemattoman määrittämiseksi. On säädetty, että toisten johdannaisten päissä on nolla. Näiden ehtojen joukko johtaa 4 n –4 lineaariseen yhtälöön, joissa on 4 n –4 tuntematonta. (Jos loppupisteiden kaarevuuksista on lisätietoja, näitä tunnettuja arvoja voidaan käyttää arvon 0 sijasta.)
Alla on algoritmi kuutiomaisen tasoitusviivan laskemiseksi. Tämä algoritmi on esitetty luonnollisella ja matemaattisella kielellä, viittaamatta mihinkään ohjelmointikieleen. Se voidaan toteuttaa yksinkertaisella laskentataulukolla.
Algoritmi kuutiomaisen tasoitusviivan laskemiseksiAlgoritmi kuutiomaisen tasoitusviivan laskemiseksi .
Olkoon X i ja Y i n solmun paiseet ja ordinaatit , paiseet luokitellaan nousevaan järjestykseen ( n > 2) .1. Laske kolonnimatriisi h solmujen välisten n –1 välin leveydestä : , i: lle välillä 1 - n –1 .2. Rakenna tridiagonaalimatriisi Q ( n × ( n –2) ) siten, että kaikki matriisin arvot ovat nollia, paitsi:Esimerkki :
Tämä esimerkki osoittaa tasoituksen neljä koordinoida solmujen ( X i , Y i ) , joka on esitetty punaisella kaavio edellä, luonnollinen kuutio Spline tasoitusfunktion parametri λ = 1,5 .
; ; ; Olen yksikkömatriisi n × n ja parametrilla λ laskemme: . mistä laskemmeYleisesti oletetaan, että jousilla, jotka vetävät vanteen, on kaikilla sama jäykkyys k . Erilaisten jäykkyyksien antaminen merkitsee solmujen painottamista ottamalla huomioon, että jotkut ovat enemmän tai vähemmän tärkeitä tai enemmän tai vähemmän "houkuttelevia" kuin toiset. Analyytikoiden kokemus antaa nämä painot määrittää.
Jos kaikilla jousilla on sama jäykkyyskerroin k , tasoitusparametri, usein merkitty X , ilmaisee nauhan elastisen jäykkyyden ja jousien välisen suhteen. λ voi vaihdella välillä 0 ja + ∞ :
Esimerkkejä kuutiosta tasoittavista urista | |||||||||
|
Tasoituksen voimakkuuden paremmin arvioimiseksi käytetään usein parametria p , kuten:
, tarkoittaen : , jossa p vaihtelee välillä 0 (pois lukien) ja 1. p = 1 vastaa λ = 0 : saamme solmujen läpi kulkevan luonnollisen uran; p → 0 + vastaa λ → + ∞ : saatu ura pyrkii regressioviivaan.Kun tarkastellaan paljon meluisia mittaustietoja, tasoituksen tavoitteena on tuottaa äänetön arvio mittauksesta. Jos voimme arvioida melun varianssin, raakadatan ja tasoitetun datan erojen varianssi melun varianssiin verrattuna voi ohjata tasoitusparametrin valintaa.
Tätä prosessia sovelletaan järjestelmällisemmin seuraavasti:
Annettavan tasoitusparametrin avulla poistetaan solmu n o i mittaussarjasta ja määritetään parametrin λ tasoitusviiva siten, että tämä solmu jätetään laskennan ulkopuolelle. Poikkeama ε i solmun n o i välillä raaka-arvon ja arvon tasoituksen Spline mittaa ennustevirhe tämän solmun. Toistetaan tämä operaatio, jossa sama parametri λ , että n solmujen:
ilmaisinon likiarvo ennusteen tasoitusviivan varianssista parametrin λ ehdossa . Tätä indikaattoria kutsutaan ristivalidointipisteeksi CV ( λ ) .
Toistamalla tämä menettely useille λ- arvoille voimme löytää tasoitusparametrin arvon, joka minimoi tämän ristivalidointipisteen. Ei voida taata, että ansioluettelossa ei ole paikallisia vähimmäisvaatimuksia. Vaaditut laskelmat voivat siis olla mittavia ja tutkimus työlästä. Onneksi meillä on algoritmi, joka mahdollistaa CV: n ( λ ) määrittämisen suorittamatta kuutiomaisen tasoitusviivan laskemista.
Olipa kyseessä interpolointi tai tasoitus, laskenta tuo peliin, jos solmuja on lukuisia, erittäin suuria matriiseja, jotka voivat aiheuttaa ongelmia laskennan toteutuksen aikana. Käytetyt matriisit ovat hyvin harvinaisia , toisin sanoen kaikki niiden elementit, lukuun ottamatta kolmen pääasiallisen lävistäjän, ovat nollia. On olemassa ohjelmisto, joka toteuttaa tehokkaita harvinaisia matriisivarastointimenetelmiä. Laskelmat voivat kuitenkin olla pitkiä.
Reinsch (de) antaa algoritmin, joka käyttää Choleskyn kertointa laskelmien koon pienentämiseen.