Пређи на садржај

Numerička integracija

С Википедије, слободне енциклопедије
Numerička integracija se sastoji od traženja numeričke aproksimacije za neku vrednost S

U numerici, numerička integracija se sastoji od velike porodice algoritama za računanje numeričke vrednosti određenog integrala, a termin je takođe korišten da opiše numeričko rešenje diferencijalne jednačine. Termin numerička kvadratura je manje-više sinonim za numeričku integraciju, pogotovo za jednodimenzionalne integrale. Numerička integracija u više dimenzija se opisuje kao kubatura,[1] iako se izrazom kvadratura podrazumeva i višedimenziona integracija.

Osnovni problem u numeričkoj integraciji je izračunavanje približne vrednosti određenog integrala:

sa zadatim stepenom tačnosti. Ako je f(x) glatka funkcija integrisana preko malog broja dimenzija i ako je domen integracije zatvoren, tada postoji više metoda za aproksimaciju integrala na željenu preciznost.

Numerička integracija se zasniva na integraciji interpolacionih polinoma. Npr. ukoliko se želi da se nađe neki određeni integral, može se poslužiti Njutn-Lajbnicovom formulom. Međutim, ukoliko je funkcija data tabelom svojih vrednosti u čvorovima, ili ako se njena primitivna funkcija ne može izraziti preko elementarnih funkcija, tada se mogu primeniti numerički metodi integracije. Formule preko kojih se vrši numeričko izračunavanje jednostrukih integrala se nazivaju kvadraturne formule.

Kvadratura je matematički istorijski pojam, a znači računanje površine. Kvadraturni problemi su bili glavni zadaci koji su zadavani kao izvor za matematičku analizu.[2] Matematičari stare Grčke, prema Pitagorinoj doktrini, shvatili su računanje površine kao proces konstrukcije geometrijskog kvadrata koji ima jednaku površinu (kvadriranje). To je razlog što je proces nazvan kvadratura. Na primer: kvadratura kruga, hipokratov mesec i kvadratura parabole. Ova konstrukcija mora biti izvedena jedino upotrebom šestara i lenjira.

Stara metoda traženja geometrijske sredine

Za kvadraturu pravougaonika sa stranicama a i b potrebno je konstruisati kvadrat sa stranicom:

U ovu svrhu, moguće je koristiti sledeću činjenicu: ako se nacrta krug sa zbirom stranica a i b kao prečnik, onda je visina BH (sa tačke njihovog dodira do presjecanja sa krugom) jednaka njihovoj geometrijskoj sredini. Jednaka geometrijska konstrukcija rešava problem kvadrature paralelograma i trougla.

Površina segmenta parabole

Problemi kvadrature za krivolinijske figure su mnogo komplikovaniji. Kvadratura jednog kruga sa šestarom i lenjirom je bila dokazana u 19. veku kao nemoguća. Ipak, za neke oblike (na primer hipokratov mesec) kvadratura se može obaviti. Kvadrature sferične površine i dela parabole urađena od strane Arhimeda je postao najveći uspeh u antičkoj analizi.

  • Površina lopte je jednaka četverostrukoj površini velikog kruga ove lopte.
  • Površina dela parabole odsečena pravcem je 4/3 površine od trougla koji je upisan u ovaj segment.

Za dokaz rezultata, Arhimed je koristio metodu Eudoksa.

Greguar de Sen-VensanU srednjovekovnoj Evropi, kvadratura je značila proračun površine koristeći bilo koju metodu. Češće je metoda nedeljivosti korištena; manje je rigorozna, a jednostavnija i dobra. Pomoću nje, Galileo Galilei i Žil de Roberval su našli površinu svoda cikloide, Gregoir de Sajnt-Vinsent| je istražio površinu ispod hiperbole (Opus Geometricum, 1647), a Alfons Antonio de Sarasa, de Saint-Vincentov učenik i komentator, je uspostavio relaciju ove površine sa logaritmima.

Don Volis je „algebrizirao” ovaj metod: napisao je u svojim Arithmetica Infinitorum (1656) serijama ono što se danas zove određenim integralom, te izračunao njihove vrednosti. Ajzak Barou i Džejms Gregori su napravili dalji napredak: kvadrature za neke algebarske krivulje i spirale. Kristijan Hajgens je uspešno izveo kvadrature nekih „materijala revolucije”.

Kvadratura hiperbole od strane Saint-Vincenta i de Sarasa je pružila novu funkciju, prirodni logaritam, koja je od kritičnog značaja.

Sa otkrićem integralnog računa uspostavljena je univerzalna metoda za računanje površine. Kao odgovor, termin kvadratura je postao tradicionalan, a umesto njega moderna fraza „računanje određenog integrala” je češće upotrebljavana.

Razlozi za numeričku integraciju

[уреди | уреди извор]

Postoji više razloga zašto se koristi numerička integracija.

  • Funkcija koja se integriše f(x) može biti poznata samo na pojedinim mestima, što se radi uzimanjem uzorka. Neki ugrađeni računari i ostale računarske aplikacije stoga koriste numeričku integraciju iz tog razloga.
  • Formula za funkciju koja se integriše može biti poznata, ali može biti teško ili nemoguće naći antiderivaciju koja je elementarna funkcija. Jedan primjer je funkcija f(x) = exp(−x2), čija antiderivacija (funkcija greške puta konstanta) se ne može napisati u elementarnoj formi.
  • Moguće je naći antiderivaciju simbolično, ali je mnogo jednostavnije naći numeričku aproskimaciju nego računati antiderivaciju (antiizvod). Ovo može biti slučaj ako je antiderivacija data kao neograničeni niz proizvoda, ili ako bi proračun zahtevao specijalne funkcije koje nisu dostupne računarima.

Metode za jednodimenzione integrale

[уреди | уреди извор]

Metode numeričke integracije se mogu generalno opisati kao kombinacije procena integranda (funkcije) da se dobije aproksimacija integrala. Integrand je definisan kao konačan skup tačaka nazivanih integracione tačke i zbir ovih vrednosti se koristi za aproksimaciju integrala. Integracione tačke i zbir zavise od posebnih metoda koje se koriste i preciznosti koja se traži aproksimacijom.

Važan deo analize bilo koje numeričke integracione metode je proučavanje ponašanja greške aproksimacije kao funkcija broja procene integranda. Metoda koja ima malu grešku za mali broj procena je često smatrana superiornom. Smanjenjem broja procena integranda, smanjuje se i broj korištenih aritmetičkih operacija, te se smanjuje ukupna greška proračuna. Takođe, svaka procena uzima vreme, a integrand može biti svojevoljno komplikovan.

Metoda grube sile („nasilna metoda” koja koristi sve kombinacije) numeričkog integrisanja može biti obavljena ako integrand ima „dobro ponašanje” (tj. ako je funkcija kontinualna i iz ograničene varijacije), sa procenom integranda sa veoma malim korakom - inkrementom.

Kvadraturna pravila bazirana na interpolaciji funkcija

[уреди | уреди извор]

Veliki broj kvadraturnih pravila se može naći izvođenjem funkcija koje su jednostavne za integriranje. Najčešće funkcije koje se interpoliraju su polinomi.

Ilustracija kvadratnog pravila.

Najjednostavnija metoda ovog tipa je dopuštanje da interpolirana funkcija bude konstantna (polinom nultog stepena) funkcija koja prolazi kroz tačku sa koordinatama ((a+b)/2, f((a+b)/2)). Ovo se zove pravilo sredine (srednje tačke) ili kvadratno pravilo.

Ilustracija trapeznog pravila.

Interpolacijska funkcija može biti polinom prvog stepena koja prolazi kroz tačke: (a, f(a)) i (b, f(b)). Ovo se zove trapezoidno pravilo.

Ilustracija Simpsonovog pravila.

Za bilo koje od ovih pravila se može napraviti preciznija aproksimacija prekidanjem intervala [a, b] na veći broj podintervala, računajući aproksimaciju za svaki podinterval, te sabirajući sve u jedan rezultat. Ovo se zove kompozitno pravilo, prošireno pravilo ili iterativno pravilo. Na primer, kompozitno trapezno pravilo ima sledeći oblik:

gde podintervali imaju oblik [k h, (k+1) h], sa h = (ba)/n i k = 0, 1, 2, ..., n−1.

Interpolacija sa polinomima procenjena sa tačkama sa jednakim rastojanjima u zatvorenom sektoru [a, b] se radi Njutn-Koutsovim formulama (njutn-kouts), od koje su primeri trapezno i kvadratno pravilo. Simpsonovo pravilo, koje se bazira na polinomima drugog reda, je takođe jutn-Koutsova formula.

Kvadraturna pravila sa jednako razmaknutim tačkama imaju veoma pogodnu osobinu gnežđenja. Odgovarajuće pravilo sa svakim podpodeljenim intervalom sadrži sve trenutne tačke, pa ove vrednosti integranda mogu biti ponovo iskorištene.

Ako se dopusti da intervali između interpolacionih tačaka variraju, onda se nalazi nova grupa kvadraturnih formula, kao što je Gausova kvadraturna formula. Gausovo kvadraturno pravilo je još preciznije od Njutn-Koutsovog pravila koje zahteva jednak broj iteracija ako je funkcija koja se integriše (integrand) glatka kriva (npr, ako je dovoljno diferencijabilna). Ostale kvadraturne metode sa varijacijom intervala uključuju Klenšo–Kurtisove kvadraturne metode (takođe zvane Fejerove kvarature), koje se gnezde.

Gausova kvadraturna pravila nemaju osobinu gnežđenja, ali Gaus–Kronrodove kvadraturne formule imaju.

Prilagodljivi algoritmi

[уреди | уреди извор]

Ako f(x) nema puno izvoda na svim tačkama, ili ako izvodi postanu ogromni, onda Gausova kvadratura je često nedovoljna. U tom slučaju, algoritam ispod će bolje uraditi zadatak:

def racunanje_odredjenog_integrala(f, initial_step_size):
    '''
    Ovaj algoritam računa određeni integral (onaj koji ima granice)
    funkcije od 0 do 1, birajući manje korake kod problematičnih
    tačaka.
    '''
    x = 0.0
    h = initial_step_size
    akumulator= 0.0
    while x < 1.0:
        if x + h > 1.0:
            h = 1.0 - x
        quad_this_step =
        if error_too_big_in_quadrature_of_over_range(f, [x,x+h]):
            h = make_h_smaller(h)
        else:
            akumulator+= quadrature_of_f_over_range(f, [x,x+h])
            x += h
            if error_too_small_in_quadrature_of_over_range(f, [x,x+h]):
                h = make_h_larger(h) # Izbjegavanje dangubljenja na malim koracima.
    return akumulator

Neki detalji algoritma zahtevaju pažljiv pristup. Za više slučajeva, pronalazak greške kvadrature na intervalu za funkciju f(x) nije očita. Jedno poznato rešenje je da se koriste dva pravila kvadratura i korištenjem razlike se može proceniti greška kvadrature. Čest problem je da se odluči šta označava „premalo” ili „preveliko”. Lokalni kriterijum za „preveliko” je da kvadraturna greška ne sme da bude veća od t · h, gde je t realni broj, tolerancija koja se želi podesiti za globalnu grešku. Opet, ako je h već malo, onda može biti bespotrebno učiniti ga čak manjim iako je kvadraturna greška velika. Globalni kriterijum je da zbir grešaka na svim intervalima bude manji od t. Ovaj tip analize greške se često naziva „posteriori” zato što se nakon svake procene računa i greška.

Metoda ekstrapolacije

[уреди | уреди извор]

Preciznost kvadraturnog pravila kod Njutn-Kouts tipa je uglavnom funkcija broja na tačkama procene. Rezultat je često više pouzdan kad se broj tačaka poveća, ili, ekvivalentno, kad se razmaci između tačaka smanje. Nameće se pitanje kakav bi rezultat bio kada bi razmaci među tačkama bili jednaki nuli. Odgovor se može naći ekstrapolacijom rezultata od dva do n razmaka koristeći ubrzavajuće metode kao npr. Ričardsonove ekstrapolacije. Ekstrapolaciona funkcija može biti polinom ili racionalna funkcija. Ekstrapolacione metode su opisanje detaljnije u od strane Stoera i Bulirča (Sekcija 3.4) i implementirane su u više metoda u QUADPACK biblioteci.

Konzervativna (a priori) procjena greške

[уреди | уреди извор]

Ako se dopusti da f ima ograničen prvi izvod na zatvorenom intervalu [a,b]. Teorema srednje vrednosti za f, gde je x < b, daje:

za neke vx iz intervala [a,x] zavisne od x. Ako se integriše po x od a do b na obe strane i uzmu apsolutne vrednosti, dobije se:

(*)

Može se dalje aproksimirati integral na desnoj strani nejednakosti ubacujući apsolutnu vrednost u integrand i smenom slova u f' prema gornjoj granici:

(**)

Ako se aproksimira integral ab f(x) dx sa kvadraturnim pravilom (b − a)f(a), greška nije veća od one na desnoj strani kod (**). Ovo se može pretvoriti u analizu greške za Rimannovu sumu (*), davajući gornju granicu od

za izražavanje greške od određene aproksimacije. (Komentar: U ovom primeru je ovo greška koja je izračunata za primer .) Koristeći više izvoda i popravljanja kvadrature može se dobiti ista greška analize koristeći se Taylorovim redovima (koristeći parcijalnu sumu sa ostatkom) za f. Ova analiza greške daje striktnu gornju granicu greške ako postoje izvodi za f.

Ova metoda integracije može biti kombinovana sa aritmetikom intervala da kreira računarski dokaz i verificirane proračune.

Integrali sa beskonačnim intervalima

[уреди | уреди извор]

Postoji nekoliko metoda za aproksimaciju integracije kod neograničenih intervala. Uobičajena tehnika uključuje posebno izvedena kvadraturna pravila, poput Gaus-Hermitove kvadratura za integrale na čitavoj liniji realnih brojeva i Gaus-Lagerove kvadrature za integrale na pozitivnim realnim brojevima.[3] Monte Karlove metode mogu takođe biti korištene, ili menjanjem promenljivih na konačan interval. To se može predstaviti ovako za neograničene intervale s obe strane:

ili polu-beskonačne intervale:

kao moguće transformacije.

Višedimenzioni integrali

[уреди | уреди извор]

Kvadraturna pravila koja su razmatrana dosad su pravljena s ciljem primene na jednodimenzione integrale. Za računanje istih u više dimenzija, jedan pristup je izraziti višestruki integral kao ponovljeni jednodimenzioni integral koristeći se Fubinijevom teoremom. Ovaj pristup traži funkcijske proračune da rastu eksponencijalno kako se povećava broj dimenzija. Dve metode su poznate za postizanje ovoga tzv. prokletstva dimenzionalnosti.

Metode Monte Karla i kvazi metode istog su jednostavne za primenu na višedimenzionim integralima i mogu ostvariti veću preciznost za isti broj od proračuna funkcija nego metodom ponovljenih integracija koristeći se jednodimenzionim metodama.

Veliki broj korisnih Monte Karlo metoda su tzv. Markov lanac za Monte Karlo algoritme, koji sadrže Metropolis-Hejstings algoritam i Gibsovo uzimanje uzorka.

  1. ^ Weisstein, Eric W. „Cubature”. MathWorld. 
  2. ^ „Earliest Known Uses of Some of the Words of Mathematics (Q)”. jeff560.tripod.com. Приступљено 31. 3. 2018. 
  3. ^ Leader, Jeffery J. (2004). Numerical Analysis and Scientific Computation. Addison Wesley. ISBN 0-201-73499-0. 

Spoljašnje veze

[уреди | уреди извор]