Az integrálás alapjai
A programot Szépszó Gabriella írta.
A matematikai háttér:
A program egy adott f(x) függvény integrálásával foglalkozik, egy (a,b) intervallumon.
A program használata, mûködése és részei:
A program több kisebb segédprogramból áll, melyek az alábbiak:
SUBROUTINE BEOLV(a,b,nmax,eps,old)
Ez az eljárás az adatok beolvasására szolgál,
bekérjük az integrálási intervallum alsó és
felsõ határát - a-t és b-t. Ezután
meg kell adni, azt hogy az integrálás közelítése
során hány kis részre osszuk az (a,b)-t: nmax.
Még meg kell adni azt, hogy a kiszámított végsõ
érték és az utolsó elõtti érték
mennyire térhet el egymástól, ez az eps változó.
Végül egy kezdeti értéket kell adni, hogy már
az elsõ kiszámított adatot is legyen mihez hasonlítani,
ezt nevezzük old-nak.
SUBROUTINE FGV(n,x,f)
Itt az f(x) függvényt határozzuk meg, ezt a a
program szövegbe kell beírni. Ez jelenleg az x^2 függvény.
f(1)=x*x <<< itt kell beállítani a függvényt!
SUBROUTINE TRAPEZ(a,b,n,s)
Az itt megadott a,b a beolvasásnál megadott intervallumhatárok.
Az n a felosztott intervallum részintervallumainak száma.Az
m azt jelenti, hogy a megadott f(x) függvényünk
hány komponensû. Jelen esetben 1.
Közelítõ számolás: s=(0.5)*(b-a)*(fa+fb)
s az integrál közelítõ értéke. Az n=1-nél nem csinálunk semmilyen közelítést, hanem a szokásos egyszerû trapézos szabályt alkalmazzuk: fa az f függvény a helyen felvett értéke, a b a b helyen. Ha n nem 1, akkor az it 2(n-2) alakú, és bevezetünk egy változót, amivel majd x értékét növeljük, x az (a,b) eleme.Az f függvény x helyen felvett értékeit (persze x-et közben bizonyos szabály szerint folyamatosan növeljük) összeadjuk.
SUBROUTINE ITER(s)
Beolvasást ez végzi.
BEOLV(a,b,nmax,eps,old)
Ez itt egy hátultesztelõs ciklus, amiben addig futtatjuk a TRAPEZ
nevû eljárást, amíg ötször el nem végeztük
ezt, vagy pedig elértük azt a számot, amit a beolvasásánál
megadtunk a részintervallumok számára vonatkozólag.
Ha ez is rendben van, akkor megvizsgáljuk, hogy hol áll a közelítés.
Ha a két egymás utáni megoldás az eps-hez viszonyítva
kellõen megközelítette egymást, akkor valószínûleg
közel van a megoldáshoz, és kiíratjuk az eredményt.
Ha túl sok lépést tettünk (azaz sokáig nem
teljesül a ciklusból való kilépés feltétele)
, akkor messzire kerültünk a megoldástól.
write(*,*)"Túl sok lépésig jutottunk."
Próbafuttatás:
x^2 függvényre számoltam!
Az intervallum kezdõértéke: 4
Az intervallum végpontja: 9
A kis intervallumok száma: 5
A pontosság: 2
A kezdõérték: 4
Ha jól csináltad akkor ezt kell kapnod: 1375.93506
A programot itt találod: integralas.for