Karsai János
Typotex
A rögzített pillanatokban ható impulzusok vizsgálatára készített programcsomag alapvető szerepet kap a könyv során. Használatát mutatjuk be az alábbiakban.
Parancsösszefoglaló
Az IDESolve
program rögzített időpillanatokkal rendelkező impulzív rendszerek közelítő megoldását végzi több kezdeti értékből kiindulva. A program számára a rendszert az
![]() [D] | (4.2.1) |
alakban adjuk meg (az impulzus alakja eltér az elméleti megfontolásokban használttól). A rendszer megoldásához meg kell adni az egyenletet, az impuzusok
[D]NDSolve
program oldja meg (lásd a differenciálegyenletek számítógépes vizsgálatának módszereivel foglalkozó fejezetet). Az impulzusok
[D]InterpolatingFunction
objektumokból álló lista lesz.
A program indítása az alábbi módon történik:
IDESolve[xdotlist,varlst,timelst,Impulse,x0lst,{t,t0,t1},option] |
Az egyes paraméterek jelentése:
|
Az Impulse
függvény megadása az
[D]
Impulse[i_,timelst_,xlst_]:= ... |
ahol
|
A függvény definíciója tetszőleges globális változót tartalmazhat, de változóit a fentiek szerint kell megadni. Például, az
[D]
[D]
A program használata
A program használatát egy példán keresztül mutatjuk be. Itt a rendszerek megoldását csupán technikai szempontból vizsgáljuk, a matematikai problémákkal később foglalkozunk.
4.2.1. Példa. Impulzívan gerjesztett oszcillátor
Tekintsük az ismert harmonikus oszcillátort
[D]
amelyre impulzív külső erő hat minden
[D]
Az impulzusok leírása Mathematica-ban:
[D]
az impulzusok időpillanatai,
[D]
azonos nagyságú impulzusok, és az impulzusfüggvény:
[D]
amely additív, az x
listához
[D]An[[i]]
-t hozzáadja. A paraméterek
[D]An
impulzustömb) használhatók. A rendszer független változója t, és a
[D]x0list
változóban tárolunk.
[D]
[D]
Az IDESolve
program most már indítható:
[D]
A megoldásként kapott lista elemei InterpolatingFunction
objektumok. Az első, {1,0} kezdeti feltételekhez tartozó megoldás sol[[1]]
:
[D]
A második, {0,1} kezdeti feltételekhez tartozó megoldás sol[[2]]
:
[D]
Megjegyzés
Más alakú impulzusok is könnyen megadhatók. Például az
[D]*
vektorok esetén a koordinátánkénti szorzást jelenti) fékezett oszcillátoroknál alkalmazzuk.
[D]
Megjegyzés
Ha csak egy kezdeti feltételt adunk meg, akkor is kettős listát, például {{0.5,0.5}}, kell használnunk. Ezzel kapcsolatban emlékeztetnünk kell még arra is, hogy az
[D]
[D]
4.2.2. Példa. Impulzív lehalászás
Tekintsük a korlátozó feltételek közötti (logisztikus) szaporodás egyenletét:
A Mathematica utasítások:
[D]
A populáció minden
[D]
[D]
az impulzusok időpillanatai,
[D]
az azonos nagyságú impulzusok, és az impulzusfüggvény ugyanaz, mint az előző példában:
[D]
A rendszer független változója t, és a
[D]
[D]
Indítsuk az IDESolve
programot:
[D]
Ábrázoljuk a megoldásokat együtt:
[D]