Hei, tarvitsen luokkaa 12 asteen likimääräistysfunktion joukolle mittausdataa, muotoa y = a*x^12 b*x^11 c*x^10 jne vakio. Data on x= virta, y=lämpötila ja mitauspisteitä on ainakin tuhat. Tiedän, että kun teen datajoukosta graafin, voin lisätä sille kuudennen asteen polynomilikimääräisfunktion ja voin valita tuon funtion esitettäväksi graafin otsikkotaulussa josta funktion voi kopioida. Mutta Excel sallii vain kuudennen asteen polynomin, se ei ole riittävän tarkka. Tarvitsisi siis oikeasti laskea tuo jotenkin enkä tiedä edes mistä aloittaisin. Kiireen tuntuakin on ilmassa, olisiko jollakin aikaa auttaa.
Pieni esimerkkipätkä datasta (mittalaitteet ovat paljon tarkempia kuin esimerkissä) :
I(uA) > T ©
1.01 > 20.10
1.10 > 20.12
1.21 > 20.13
1.31 > 20.14
1.41 > 20.15
1.52 > 20.15
1.61 > 20.17
1.72 > 20.18
1.81 > 20.18
1.90 > 20.19
Pieni esimerkkipätkä datasta (mittalaitteet ovat paljon tarkempia kuin esimerkissä) :
I(uA) > T ©
1.01 > 20.10
1.10 > 20.12
1.21 > 20.13
1.31 > 20.14
1.41 > 20.15
1.52 > 20.15
1.61 > 20.17
1.72 > 20.18
1.81 > 20.18
1.90 > 20.19
Vastaukset 7
Vanhimmat
Olet siis sovittamassa pienimmän neliösumman menetelmällä 12 - asteista polynomia lämpötiladataan. Siinä sovituksessa tulee aika laaja parametriavaruus kyseeseen eli voi olla vaikea löytää todellista minimiä paikallisten minimeiden joukosta.
Kysymys: Miksi pitää olla 12 sovitettavaa parametriä? Onko tuolle oikeasti joku tilanteen fysiikasta aiheutuva peruste?
Oikea työkalu voisi olla Octave (tai Matlab, jos löytyy lisenssi) tai sitten R. Kun siis Excelin kyvyt asiassa ovat rajoittuneita. Myös Igor Pro osaa asia, https://www.wavemetrics.com/products/igorpro/dataanalysis/curvefitting
Onnistuu Excelilläkin kun vain tekee sen PNS-sovittelemaan etsinnän VBA:lla. Valmiina funktiona sitä ei taida löytyä. Jos ei ole koodausosaamista tai ei osaa VBA-kieltä, niin Octave ja R ovat ihan hyviä vaihtoehtoja.
*PNS-sovitteen. Pahuksen autocorrect.
Täsmälleen, pienimmän neliösumman menetelmällä (saa kyllä olla parempikin menetelmä). Noin 12 asteinen polynomi tarvitaan, koska 6 asteinen ei taivu niin hyvin/tiukasti. Tässä on rajoitteina lopullisen hinta, koko ja virrankulutus. Sensoreilla on melkoisen omalaatuinen ominaiskäyrä mutta systemaattisesti sellainen. Datajoukkoja tullee olemaan noin 6 kpl, jokaisessa tuhansia pisteitä. Näen Excelissä, kun interpoloin raakadatasta on tulos paljon tarkempi kuin 6 asteen polynomiaproksimaation avulla. Mutta raakadatalle ei ole muistitilaa (paitsi jos lisään muistipiirin joka vie fyysystä tilaa ja virtaa), useille korkean asteen polynomeille on hyvin muistitilaa.
Excel osaa luoda 6-asteen polynomin silmänraäpäyksessa (graafikäyrälle), joten täyyhän sen olla mahdollista taulukkosivullakin (?). En tiedä miksi graafikäyrien aproksimaatioon ei saa valita enemmän kuin 6 asteinen, luultavasti kyseessä on toiminta-aika, mutta tässä tapauksessa ei ole väliä vaikka kestäisi sekunteja.
Tuo auttoikin paljon. Nyt tiedän mitä "PNS-menetelmä" tarkoittaa.
Kuka kärsii alemmuuskompleksista, noin pahasti?
Avauksen esimerkille kertoimet ovat (laskevassa järjestyksessä eli 'a' on 12.asteen termin kerroin):
a: -27.3658794661747
b: 401.252089302067
c: -2474.57689558702
d: 8019.96561586043
e: -12772.1513183952
f: 0
g: 42153.8536455465
h: -87016.9751920586
i: 86484.9179192169
j: -40358.2533134018
k: 0
l: 7956.14532955263
vakio: -2346.72396451096
Excel laskee nuo yhdellä array-formulalla.