DIFFERENCIAEGYENLETEK, MINT A MODELLEZÉS ESZKÖZEI AZ ISKOLAI MATEMATIKÁBAN KOVÁCS ZOLTÁN 1. Bevezetés A természeti jelenségeket sokszor differenciálegyenletekkel lehet leírni: a vizsgált mennyiség például az idő függvénye, s erre a függvényre valamilyen differenciálegyenletet lehet felírni. Ezek közelítő megoldása differenciaegyenletek segítségével a középiskolás matematikai ismereteket nem haladja meg, így lehetővé válik a való életből vett bonyolultabb problémák matematikai modellezése. A differenciaegyenletek megoldásában, pontosabban a vizsgált mennyiség diszkrét időpontokban vett sorozatának előállítására, használhatunk akár komputeralgebrai eszközöket, akár táblázatkezelő alkalmazásokat. Mindkét esetben lehetőségünk van a grafikus reprezentációra is. Ebben a munkában a Maxima komputeralgebrai rendszert használom, wxmaxima 0.8.2 interfésszel. A teljes munkalapok elérhetők a honlapomon: zeus.nyf.hu/~kovacsz/maxima. A differenciaegyenletek középiskolás alkalmazása már a hetvenes években felvetődött az irodalomban. Lothar Berg [2] munkája 1982-ben magyarul is megjelent (Másodrendű differenciaegyenletek, Középiskolai szakköri füzet, Tankönyvkiadó, 1982), de a szerzőnek több német nyelvű munkája is megelőzte ezt (pl. [1]). Ezekben a munkákban főleg fizikai alkalmazások szerepeltek. A technológia alkalmazása új lendületet adhat ennek a lehetőségnek ([3]). A matematik tanítása során sokszor felteszik a tanárnak a kérdést: ezt minek tanuljuk? A való életből vett problémák tárgyalása a matematika tanításának egyik kulcskérdése: az igazi motivációt sok tanuló számára ez jelenti, tartalmat ad annak az idézetnek, amelyet sok szaktanterem falán láttam kiírva: A természet a matematika nyelvén szól hozzánk. 2. Kezdetiérték probléma numerikus megoldása A következő kezdetiérték problémát akarjuk numerikusan megoldani: (1) y = f(t,y), y(t 0 ) = y 0 a [t 0, b] intervallumon. Numerikus megoldáson azt értjük, hogy a megoldást véges sok pontban approximáljuk. Ezek a pontok pl. (2) (t 0,y 0 ), (t 0 + t,y 1 ), (t 0 + 2 t,y 2 ),... (t 0 + n t,y n ), ahol t = b t 0 n. Az y (t k ) derivált értéket a következő differenciával helyettesítjük: y (t k ) y k+1 y k t 1
2 KOVÁCS ZOLTÁN Ami azt jelenti, hogy (1) helyett áttérünk a (3) y k+1 = y k + tf, y(t 0 ) = y 0 differenciaegyenletre. A kritikus pont f argumentuma (3) jobb oldalán. Használhatjuk az f(t k,y k ) (első pont módszer), f(t k+1,y k+1 ) (hátsó pont módszer), értékeket, ezek átlagát (szimmetrikus módszer) vagy akár a [t k, t k+1 ] intervallumon vett több értéknek az átlagát is. Az első pont módszer szerint (4) y k+1 = y k + tf(t k,y k ), t k = t 0 + k t, a hátsó pont módszer szerint (5) y k+1 = y k + tf(t k+1,y k+1 ), t k+1 = t 0 + (k + 1) t, míg a szimmetrikus módszer szerint (6) y k+1 = y k + t 1 2 (f(t k,y k ) + f(t k+1,y k+1 )). A továbbiakban a hátsó pont módszerrel nem foglalkozunk. Az első pont módszer egy egyszerű rekurziót határoz meg, azaz a kezdeti értékek alapján a keresett (2) sorozatot elő tudjuk állítani. A szimmetrikus módszer implicit egyenletet ad y k+1 - re. Ha ennek megoldása elemi függvényekkel nehéz vagy nem lehetséges, akkor y k+1 -t az első pont módszer szerint közelítjük: (7) y k+1 = y k + t 1 2 (f(t k+1,y k + tf(t k,y k )) + f(t k,y k )). A differenciálegyenletek numerikus megoldásának fentebb vázolt módszerét Eulermódszernek is nevezik. A következőekben példákkal illusztrálom a módszert. 3. Korlátozott növekedés Jelölje y(t) egy populáció egyedeinek számát. Semmilyen populáció nem növekedhet korlátlanul, korlátozást jelenthet az élelem hiánya, a szűk territórium, stb. Tegyük fel, hogy egy territórium B egyedszámot tud fenntartani és a populáció növekedése a B y különbséggel arányos. (Minél inkább megközelíti a populáció a maximális egyedszámot, annál kisebb a növekedés.) Ezt a növekedési folyamatot a y t = K(B y), y(0) = y 0 differencia egyenlet írja le, ahol K > 0 statisztikusan meghatározott arányossági tényező. Az egyenletet az első pont módszerrel megoldva: y k+1 = y k + t(b y k ) A sorozat előállításásnak Maxima kódja K = 0, 4, B = 2500 paraméterértékekkel, x 0 = 150 induló egyedszámmal, t = 0, 1 választása mellett 200 diszkrét időpontban: K:0.40$ B:2500$ jobb_oldal(y):=float(k*(b-y))$ dt:0.1$ N:200$
DIFFERENCIAEGYENLETEK... 3 2500 x0=150 x0=1000 2000 1500 x 1000 500 0 0 5 10 15 20 25 t 1. ábra. Korlátozott növekedés különböző induló egyedszámnál y0:150$ list:[[0,y0]]$ y:y0$ for i:1 thru N-1 do(y:y+dt*jobb_oldal(y), list:append(list, [[(i+1)*dt,y]]))$ A grafikon kirajzolása: plot2d([ discrete,list], [style,[points,3,1,3]], [xlabel,"t"],[ylabel,"y"]); Az 1. ábrán a grafikont különböző induló egyedszámmal készítettem el (150 és 1500). Talán meglepő, hogy tízszeres induló populációszám alig jelent különbséget a territórium teljes benépesítésének idejében. 4. Lineáris harmonikus oszcillátor Az egydimenziós mozgásegyenlet az egység tömegű anyagi pontra: (8) x = v, v = F ahol v a sebesség, F az egység tömegű anyagi pontra ható erők összege (m = 1). Ha az anyagi pont egyetlen rugó hatása alatt mozog, akkor a rugó erőtörvényét az F = K x Hook-törvény írja le. Az egyenlet megoldására a szimmetrikus módszert
4 KOVÁCS ZOLTÁN alkalmazzuk (9) x k+1 = x k + t 1 2 (v k + v k+1 ) v k+1 = v k + t 1 2 (F k + F k+1 ). Az implicit egyenletet elkerülendő v k+1 -t az első pont módszerrel közelítjük: (10) x k+1 = x k + t 1 2 v k + t 1 2 (v k + tf k ) = x k + tv k + 1 2 t2 F k. v k kiküszöböléséhez alkalmazzunk index transzformációt: (11) x k+2 = x k+1 + tv k+1 + 1 2 t2 F k+1. Kivonva egymásból az (10) és (11) egyenleteket: x k+2 = 2x k+1 x k + t (v k+1 v k ) + 1 2 t2 (F k+1 F k ). Helyettesítsük be v k+1 v k az (9) egyenletből: A Hook-törvényt beírva: x k+2 = 2x k+1 x k + t 2 F k+1. (12) x k+2 = x k + (2 t 2 K)x k+1. Az x k sorozatra ismét egy rekurzív szabályt kaptunk, de most a sorozat egy elemét a két előtte lévő elmből kapjuk meg. Így x 0 mellett szükségünk van x 1 értékére is, melyet a (10) egyenletből kapjuk Részlet a Maxima kódból: x 1 = x 0 + tv 0 1 2 t2 Kx 0. force(x):=float(-k*x)$ nx1:float(x0+v0*dt+1/2*dt^2*force(x0))$ listb:[[0,x0],[dt,nx1]]$ for i:1 thru N do( listb:append(listb, [[(i+1)*dt,2*listb[i+1][2]-listb[i][2]+ force(listb[i+1][2])*dt^2]]))$ A 4. ábrán ugyanazon kezdeti feltételek mellett az itt nem részletezett (de az olvasó által könnyen levezethető) első pont módszer és a szimmetrikus módszer eredménye látható. Az első pont módszer mint modell nyilvánvalóan nem elfogadható, mert az enegiamegmaradás törvénye nem teljesül. Megjegyzendő, hogy a Hook-törvény esetén (9)-ből az x k sorozat az első pont módszer alkalmazása nélkül is kifejezhető, mert egy egyszerű lineáris egyenletrendszert kapunk.
DIFFERENCIAEGYENLETEK... 5 6 elso pont szimmetrikus 4 2 0 x -2-4 -6-8 0 2 4 6 8 10 12 t 2. ábra. Harmonikus lineáris oszcillátor. Hivatkozások [1] Lothar Berg. Mechanik ohne Differentialgleichungen verwirklicht durch diskrete Modelle. Wissenschaft und Fortschritt, 28:146 149, 1978. [2] Lothar Berg. Differenzengleichungen zweiter Ordnung mit Anwendungen. VEB Deutscher Verlag der Wissenschaften, Berlin, 1979. [3] Zoltán Kovács. Difference equations as a modelling tool in school mathematics. In Proceedings of the IMEM 2009 Congress, Spisska Kapitula, ISBN 978-80-8084-471-4, pages 586 594, Catholic University in Ruzemberok, 2009. online: http://zeus.nyf.hu/ kovacsz/shortpub/index.html. Nyíregyházi Főiskola, Matematika és Informatika Intézet, 4401 Nyíregyáza, Pf. 166 E-mail address: kovacsz@nyf.hu