Euler-féle töröttvonal-módszer

© 2010 Szalkai István

Ez a program egy dy/dx = f(x, y) alakú egyenlettel megadott (elsőrendű explicit) közönséges differenciálegyenletet old meg numerikusan az Euler-féle töröttvonal módszerrel. A módszer lényege, hogy kiindulunk egy adott (x, y) pontból, majd a differenciálegyenlet iránymezeje mentén lépkedünk, adott lépésközzel.

Rendszerkövetelmények

A program .NET alapú, emiatt minden elterjedt operációs rendszer alatt fut a megfelelő környezet telepítése esetén:

Microsoft Windows: a .NET Framework 4 telepítése szükséges
Linux/Mac OS X: a Mono telepítése szükséges

A program használata

A differenciálegyenlet megadása

A dy/dx címkével jelzett szövegmezőbe egy x-et és y-t tartalmazó matematikai kifejezést írhatunk, amely megadja dy/dx = f(x, y) értékét,
pl. sin(x)/ctg(y) + 2xy - 6.5.

A szintaxis kis- és nagybetűkre nem érzékeny. A kifejezést a következő elemekből állíthatjuk össze:

Változók x, y
Beépített konstansok random (0 és 1 közötti valós véletlenszám), i, e, pi, inf (végtelen), nan (nem értelmezett kifejezésérték)
Numerikus konstansok pl. 2, -3, 1.42219, 1.32419e-08 (normálalak)
Zárójelek (, )
Logikai operátorok & (ÉS), | (VAGY), # (XOR), ~ (NEM)
Relációs operátorok =, <> (nem egyenlő), <, >, <=, >=
Aritmetikai operátorok +, -, *, /, % (maradékképzés), ^ (hatványozás)
Alapfüggvények abs (abszolútérték), arg (komplex szám argumentuma), conj (konjugált), sign (előjel), sqr (négyzetreemelés), sqrt (négyzetgyök), exp (ex), ln
Trigonometrikus függvények sin, cos, tan/tg, cot/ctg
Inverz trigonometrikus függvények asin/arcsin, acos/arccos, atan/atg/arctan, acot/arccot/actg/arcctg
Hiperbolikus függvények sinh/sh, cosh/ch, tanh/th, coth/cth
Inverz hiperbolikus függvények asinh/arsinh/arsh, acosh/arcosh/arch, atanh/artanh/arth, acoth/arcoth/arcth
Egyéb függvények floor (alsó egészrész), ceil (felső egészrész), frac (törtrész), round (kerekítés egész számra), real/re (valós rész), imag/im (képzetes rész)

Amint az a fenti táblázatból is látszik:

Töröttvonalak kirajzoltatása

Az eszköztáron található ceruza eszközre váltva és a képre kattintva új töröttvonalat (vagyis közelítő megoldást) rajzoltathatunk ki egy adott pontból. A program figyelembe veszi a töröttvonal kiszámításakor a megadott lépésközt (két szomszédos pont x irányú távolságát), ill. lépésszámot (hány pontból áll a töröttvonal egyik fele). Egyszerre max. 10 töröttvonal rajzolható ki.

A megrajzolt töröttvonalakat a radír eszközzel törölhetjük.

A kép mozgatásához a kéz eszközt kell kiválasztani, majd kattintással és húzással mozgatható a koordinátarendszer. A kép az egér görgőjével vagy a PageUp/PageDown gombokkal nagyítható.

A töröttvonalak hátterében kirajzolódik az iránymező, amelynek felbontását - a nyilak hosszát - az Iránymező rácsmérete feliratú szövegmező segítségével állíthatjuk.

Exportálás fájlba

A kirajzolt ábrát többféle formátumban is elmenthetjük:
Példa: az y' = xy / (x^2-1) egyenlet megoldásának egy animációja: