Moi!
Mulla on neljä mittauspistettä, jotka näyttää sopivan leveään paraabeliin. Onko tosiaan niin, että kolme pistettä riittää määrittämään paraabelin?
ax^2 bx c on tietenkin paraabelin yhtälö, mutta voinko saada jotenkin tarkemman paraabelin approksimoimaan nämä pisteet? Paraabelin tulee olla siis ylöspäin aukeava ja tiedän, missä huipun (derivaatan nollakohta) täytyy siis olla. Lisäksi paraabeli olisi tarkoitus määritellä ekan ja viimeisen mittauspisteen välillä. Viimeinen mittauspiste siis on paraabelin kärki. Mistä tiedän sopiiko pisteet jollekin paraabelile? Onko jotain yksinkertaista approksimaatiosydeemiä? Tosiaan tarvitsen vain pienen osan sitä paraabelia ja sen pitäisi olla leveä.
Kiitos avusta!
Mulla on neljä mittauspistettä, jotka näyttää sopivan leveään paraabeliin. Onko tosiaan niin, että kolme pistettä riittää määrittämään paraabelin?
ax^2 bx c on tietenkin paraabelin yhtälö, mutta voinko saada jotenkin tarkemman paraabelin approksimoimaan nämä pisteet? Paraabelin tulee olla siis ylöspäin aukeava ja tiedän, missä huipun (derivaatan nollakohta) täytyy siis olla. Lisäksi paraabeli olisi tarkoitus määritellä ekan ja viimeisen mittauspisteen välillä. Viimeinen mittauspiste siis on paraabelin kärki. Mistä tiedän sopiiko pisteet jollekin paraabelile? Onko jotain yksinkertaista approksimaatiosydeemiä? Tosiaan tarvitsen vain pienen osan sitä paraabelia ja sen pitäisi olla leveä.
Kiitos avusta!
Vastaukset 11
Vanhimmat
Periaatteessa haluat esimerkiksi ratkaista yhtälöryhmästä
ax₁² bx₁ c = y₁
ax₂² bx₂ c = y₂
ax₉² bx₉ c = y₉
kertoimet a, b ja c.
Tämän voit esittää matriisimuodossa
Xz = y.
missä X on x:n potenssien muodostama matriisi, z kerrointen vektori ja y-arvojen vektori. Ratkaisua varten saadaan neliömuotoinen kerroinmatriisi, kun kerrotaan yhtälö molemmin puolin transponoidulla alkuperäisellä kerroinmatriisilla eli
X^T·Xz = X^T·y
Yhtälö ratkaistaan normaaliin tapaan, ja se tuottaa paraabelin sovituksen pisteisiin pienimmän neliösumman mielessä.
Kaikkein kätevimmin ratkaisu onnistuu esimerkiksi Excelin matriisifunktioilla.
Vielä yksi vihje: Mikäli haluaa painottaa jotakin pistettä muita enemmän, ottaa vain tämän yhtälön useampikertaisena mukaan ryhmään.
Lisäksi varoituksen sana: Esitetty yhtälöryhmän ratkaisumenetelmä soveltuu vain matala-asteisille polynomeille. Korkea-asteisille polynomeille kannattaa käyttää fiksumpia menetelmiä.
Mitä nämä fiksummat menetelmät on?
Monte Carlo menetelmä, jos matriisin koko on erittäin suuri.
Voidaan myös käyttää Jacobi-menetelmää, Gauss-Seidelin menetelmää tai vaikka relaksaatiomrnrtelmää.
SVD on pätevä, mutta laskennollisesti raskas, ks.
https://en.wikipedia.org/wiki/Singular_value_decomposition
Se ratkaisee yleensä minkä tahansa, myös neliöllisestä poikkeavan matriisiyhtälöryhmän.
Kokeile pienimmän neliösumman menetelmää.
Tuolla voi kätevästi etsiä paraabelin http://www.xuru.org/rt/PR.asp#CopyPaste
Tai wolfram alphalla https://www.wolframalpha.com/input/?i=quadratic fit {10.1,1.2},{12.6, 2.8},{14.8,7.6},{16.0,12.8},{17.5,15.1}&lk=3
Mikä muu tuo alussa ehdotettu sitten oli?
Jotkut tunnistavat menetelmän vain laskimestaan.
Sinulla on pisteet (x(i),y(i)) missä 1 <= i <= 4.
Näiden tulee toteuttaa yhtälöt y(i) = a x(i)^2 b x(i) c siis neljä yhtälöä. Koska nuo a:n, b:n ja c:n kertoimet ovat tunnettuja saadaan a,b ja c ratkaistua kolmen yhtälön avulla. Tämä käy näin pienessä ryhmässä ihan ratkaisemalla ensin vaikkapa a 1. yhtälöstä b:n ja c:n avulla, sijoittamalla se toiseen yhtälöön josta lasketaan vaikkapa b c:n avulla lausuttuna ja lopuksi nämä a = a(c) ja b=b(c) sijoitetaan kolmanteen yhtälöön ja ratkaistaan c. Sitten myös a = a(c) ja b = b(c) selviävät. Jos kaikki neljä pistettä sijaitsevat tuolla paraabelillä niin sen neljännen pisteen tulee toteuttaa saatu yhtälö.
Ihan sama mitkä kolme yhtälöä ratkaisuun ensiksi valitaan.
Jos matriiseja halutaan käyttää niin se kolmen yhtälön ryhmä on
Y = X * A
missä Y on y-arvojen muodostama pystyvektori, X on matriisi jonka vaakarivit ovat vaakavektorit x(i)^2 , x(i) ja 1 ( 3 x 3-matriisi) ja A on pystyvektori jonka muodostavat a,b ja c.
Ratkaisu on sitten
A = X^(-1) * Y
missä X^(-1) on X:n käänteismatriisi . Ja taas sen neljännen pisteen tulee toteuttaa näin saatujen a:n, b:n ja c:n arvojen avulla muodostettu yhtälö, esim. jos neljäs piste ei ollut laskuissa mukana niin tulee olla
y(4) = a x(4)^2 b x(4) c.
Ohman
Tuo nyt oli ainakin vastaus siihen, määräävätkö kolme pistettä paraabelin.
Jos tarkoitus oli löytää paraabeli, joka kulkee mahdollisimman läheltä noita neljää annettua pistettä, niin esim. pienimmän neliösumman keino käy. Tätähän fitting jo suosittelikin.
Ohman