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

256

    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. Laitetaas nyt kirjaimet tänne

      kuka kaipaa ja ketä ?
      Ikävä
      93
      7528
    2. Pieni häivähdys sinusta

      Olet niin totinen
      Ikävä
      40
      3622
    3. Lähetä terveisesi kaipaamallesi henkilölle

      Vauva-palstalta tuttua kaipaamista uudessa ympäristössä. Kaipuu jatkukoon 💘
      Ikävä
      102
      1846
    4. Missä olet ollut tänään kaivattuni?

      Ikävä sai yliotteen ❤️ En nähnyt sua tänään söpö mies
      Ikävä
      24
      1050
    5. Taas ryssittiin oikein kunnolla

      r….ä hyökkäsi Viroon sikaili taas ajattelematta yhtään mitään https://www.is.fi/ulkomaat/art-2000011347289.html
      NATO
      32
      933
    6. Valtimon Haapajärvellä paatti mäni nurin

      Ikävä onnettomuus Haapajärvellä. Vene hörpppi vettä matkalla saaren. Veneessä ol 5 henkilöä, kolme uiskenteli rantaan,
      Nurmes
      27
      901
    7. Rakastuminenhan on psykoosi

      Ei ihme että olen täysin vailla järkeä sen asian suhteen. Eipä olis aikoinaan arvannut, että tossa se tyyppi menee, jonk
      Ikävä
      53
      807
    8. Olisinko mä voinut käsittää sut väärin

      Nyt mä kelaan päässäni kaikkea meidän välillä tapahtunutta. Jos mä sit kuitenkin tulkitsin sut väärin? Se, miten sä käyt
      Ikävä
      31
      732
    9. Tähän vaivaan ei auta kuin kaksi asiaa

      1. Tapaaminen uudestaan tai 2. Dementia Anteeksi kun olen olemassa🙄
      Ikävä
      60
      729
    10. Känniläiset veneessä?

      Siinä taas päästiin näyttämään miten tyhmiä känniläiset on. Heh heh "Kaikki osalliset ovat täysi-ikäisiä ja alkoholin v
      Nurmes
      26
      652
    Aihe