Paloittain määriteltyjen funktioiden numeerinen integrointi

Onko mielipidettä tai parempaa tietoa, mikä algoritmi olisi tehokkain integroimaan paloittain määriteltyjä integraaleja numeerisesti, kun funktiossa esiintyy kanttiaallolle tyypillisiä jyrkkiä "hyppäyksiä"? Tähän mennessä olen mennyt puolisuunnikassäännöllä (http://en.wikipedia.org/wiki/Trapezoidal_rule). Muut löytämäni menetelmät tuntuvat asettavan vaatimuksia funktion jatkuvuudelle. Teenkö asian jo valmiiksi niin järkevästi kuin mahdollista, vai onko tässä vielä korjattavaa? Pyrin nimenomaan integroimaan funktion "yhdellä kerralla", koska sen paloittain integrointi olisi varsin työlästä.
2104
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

Puolisuunnikassääntö on yksinkertaisin. Kun käyttään pientä askelpituutta, niin virhe pienenee. Virhearviokaavat eivät kuitenkaan ole enää päteviä. Jos epäjatkuvuuksia on äärellinen määrä, niin tarkin tulos saadaan tietysti integroimalla jokainen pätkä erikseen.

Valittavaan menetelmään vaikuttaa myös se, miten funktio on määritelty. Koostuuko se mittausarvoista vai onko kullekin pätkälle oma lauseke. Jos se on annettu lausekkeina, niin ohjelmointia varten määritellään taulukko epäjatkuvuuspisteistä ja toinen, missä on funktio-osoitimet kunkin pätkän fúnktiolle.

Äänestä
  • Jokainen pätkä on oma varsin matala-asteinen polynomi, tyypillisesti vakio. Kanttiaallon ja kolmioaallon sekoitus voisi olla melko hyvin kuvaava. Jollakin vaivalla voi tietenkin tällaisen integroida täysin tarkasti. Trapz toimii minun tarpeisiini varsin mainiosti.

    Jäin vain pohtimaan, olisiko muita "enemmän logiikkaa" sisältäviä valmiita algoritmejä joilla tämmöisiä funktioita voisi integroida.

    Äänestä

Kommentoi aloitusta


Jukk4 kirjoitti:

Onko mielipidettä tai parempaa tietoa, mikä algoritmi olisi tehokkain integroimaan paloittain määriteltyjä integraaleja numeerisesti, kun funktiossa esiintyy kanttiaallolle tyypillisiä jyrkkiä "hyppäyksiä"? Tähän mennessä olen mennyt puolisuunnikassäännöllä (http://en.wikipedia.org/wiki/Trapezoidal_rule). Muut löytämäni menetelmät tuntuvat asettavan vaatimuksia funktion jatkuvuudelle. Teenkö asian jo valmiiksi niin järkevästi kuin mahdollista, vai onko tässä vielä korjattavaa? Pyrin nimenomaan integroimaan funktion "yhdellä kerralla", koska sen paloittain integrointi olisi varsin työlästä.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu