Miten luodaan polynomi-aproksimaatio xy-datajoukolle?

Anonyymi

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

7

222

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      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

      • Anonyymi

        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.


      • Anonyymi
        Anonyymi kirjoitti:

        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.


      • Anonyymi

        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.


      • Anonyymi
        Anonyymi kirjoitti:

        *PNS-sovitteen. Pahuksen autocorrect.

        Tuo auttoikin paljon. Nyt tiedän mitä "PNS-menetelmä" tarkoittaa.


    • Anonyymi

      Kuka kärsii alemmuuskompleksista, noin pahasti?

    • Anonyymi

      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.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Hei sinä nainen

      Haluan olla rehellinen – olet hämmentänyt minua todella paljon. En ota sinusta mitään selvää, ja ehkä juuri siksi huomaa
      Ikävä
      88
      3274
    2. Kelan perkeleellinen käytäntö

      Kun äiti joutuu hakemaan Kelalta tukia vähien tulojen tähden, niin aina otetaan huomioon lapsen tilillä olevat rahat. Ei
      Maailman menoa
      324
      2865
    3. Putin ei suostu tulitaukoon nyt kun Kurskin taistelut ovat kesken

      ja venäjä on viimein päässyt niskan päälle, suuren ylivoiman turvin. Ukraina ilmeisesti suorittaakin taktista vetäytymi
      Maailman menoa
      191
      1566
    4. Martinan firma haastettiin käräjille

      Seiska: Martinan firma haastettiin käräjille, taustalla outo rahasotku.
      Kotimaiset julkkisjuorut
      242
      1304
    5. Voi kulta rakas

      Kyllä minäkin olen sinuun rakastunut. Oisit avautunut tunteistasi aiemmin niin ei tarvitsisi kiertoteitä kuulla tästä. �
      Ikävä
      62
      1272
    6. Miksi haluat satuttaa

      Sillä tiedolla ettet välittäisi minusta vaikka se ei ole totta. Silti tiedän että rakastat minua edelleen. Niinkuin sano
      Ikävä
      28
      1041
    7. Miksi ette halua kaivattuanne

      Yksi syy tai tekosyy.
      Ikävä
      74
      1000
    8. Toivotko vielä et

      Päätyisimme yhteen?
      Ikävä
      79
      997
    9. Ketä sinä

      Odotat oikeasti. Miksen sulle totta olla saa.
      Ikävä
      117
      970
    10. Sano nyt mitä

      Sinä oikein haluat?
      Ikävä
      72
      924
    Aihe