Számítógép és számítástechnika használata matematikai modellezéshez Dr. Rácz Ervin egyetemi docens Óbudai Egyetem, Kandó Kálmán Villamosmérnöki Kar Villamosenergetikai Intézet
Tartalom • Mathematica alapjai • IDL alapjai • Maple alapjai • Matlab alapjai
A MATHEMATICA SZOFTVERCSOMAGRÓL
Mathematica • http://www.wolfram.com/ • kifejlesztője: – – – – –
1988-ban Kezdetben: Stephen Wolfram Később: egyre bővülő csapata Ma: Wolfram Research cég Jelenlegi verzió: Mathematica 8.
• A szoftver feladata: – A program a matematikai számítások elvégzésére alkalmas. – A mai modern matematika eszközeinek és alkalmazásainak a számítőgép erejével történő összekapcsolása
• Használói: – – – –
Kutatóintézetek – kutatásban Egyetemek – oktatásban (kutatás + szemléltetés) Cégek, vállalatok – mérnöki feladatok megoldásában Matematikusok, fizikusok, mérnökök,...
Mathematica • Koncepció: – A szoftverbe kézikönyvek és táblázatok tucatjait programozták bele. – A szoftverrel olyan problémák oldhatók meg „könnyűszerrel”, amelyek kézzel akár hónapokig tartanának vagy esetleg lehetetlenek volnának.
• Szerkezetének alapjai:
– Nagyon logikus és átgondolt bonyolult műveletek, problémák – pl. integrálszámítás vagy differenciálegyenletek megoldása – mindössze egy-egy parancs segítségével elvégezhetők – Több mint félezer beépített parancs – Jó programozhatóság – Saját algoritmusok, rutinok készíthetősége és felvehetősége a programkönyvtárba a rutinok közé – Nem egy lezárt rendszer, hanem egy olyan jól működő váz, amely az igényeknek megfelelően tetszés szerint bővíthető
Mathematica • Speciális alkalmazásorinetáltság: – Előre megírt segéd-programcsomagok mellékelve: • Statisztikai, algebrai, geometriai, optika, ..., differenciálegyenletek csomag • Wolfram SystemModeler (modellezés az eredetihez való nagyfokú hasonlóságot megtartva komoly szimbolikus komponensekkel és számítási motorokkal) • Wolfram Finance Platform (munkafolyamatok szinte határtalan számíthatósága: árazás, vélemény analizálás, kockázat analízis, vállalati rendszer fejlesztés, interaktív beszámolók) • Wolfram webMathematica (dinamikus, interaktív számítások és szemléltetések hozzáadása saját weboldalakhoz; automatikus, személyreszabott eredmények minden bemeneti adathoz) • Wolfram gridMathematica (a Mathematica beépített párhuzamosság-kezelő képességének kiterjesztése, parallel tasking több processzoron, klaszteren vagy hálón) • Wolfram Workbench (kódszerkesztés, navigáció, projekt management)
• Minden csomag jól dokumentált, remek kézikönyvvel és helppel
Szakkönyv • Saját kiadású szakkönyvek: – A Journey into partial differential equations: • • • • • •
Szerző: William O. Bray kiadó: Jones & Bartlett Learning Kiadás éve: 2012 ISBN: 9780763772567 (keménykötésű) 316 oldal A Mathematica legújabb verziója alapján
Differenciálegyenletek megoldása • Dsolve: – Parancs differenciálegyenletek megoldására – Példa: Dsolve[y’[x]==x, y[x], x] Dsolve[D[y[x],x]==x, y[x], x] Eredményől kapjuk: {{y[x] -> x^2/2 + C[1]}}
• NDsolve: – Parancs differenciálegyenlet numerikus megoldására – Példa: Ndsolve[{y’[x] == 2x, y[0] == 0}, y[x], {x,-3,3}] – Megoldás: InterpolatingFunction formátum hatalmas táblázat, ahol az egyenlet közelítő megoldásainak értékei találhatók meg.
AZ IDL SZOFTVERCSOMAGRÓL
IDL • http://www.exelisvis.com • kifejlesztője: – Exelis Visual Information Solution, Inc. , eredetileg Research Systems, Inc. – IDL = Interactive Data Language – Olyan program csoport ill. csomag, amelyet eredetileg NASA missziók (pl. Mariner, International Ultraviolet Explorer) adatainak analízisére, értékelésére fejlesztettek ki.
• A szoftver feladata: – Eredetileg egy-, két- vagy háromdimenziós adatcsomagok analízise
• Használói: – Kutatók, tudósok – Mérnökök – Kb. 150 000 legális, bejegyzett felhasználó használja világszerte
IDL • Elérhető platformok: – Linux, Unix/Solaris, Windows, Macintosh rendszerek – Terminálokon, kijelzőkön, printereken is létezik
• Szoftverről: – Feladatorientált rutinok program csomagja – Olyan számítógép nyelvvé fejlődött, amelyet bármely számítógép használó megérthet – Ötvözi és tartalmazza a magasszintű FORTRAN, C, C++ nyelvek programozhatóságát, sokoldalúságát és teljesítményét – Az • Interaktivitás • Grafikus display • Array-orientált (sor vagy vektor orientált) működés jellemzi.
– Jelenlegi aktuális utolsó verzió: IDL 8.1
IDL • Jellemzők: – – – – – – – – – – – – – – – –
Gyors válasz és közelítések (algoritmusok) Azonnali hozzáférés minden változóhoz (RAM-ban tárolva) Azonnali hozzáférés minden forráskódhoz Optimalizált vektor operációk Dinamikus változók és memória allokáció Igény szerinti összeállítás, befordítás, és rutinok linkelése, hívása Sokoldalú beépített nyomtató és rajzoló rutinok Interaktív napló vezetés Parancs hívás/szerkesztés Parancs szkriptek Adatstruktúrák Flexibilis paraméter specifikációk és szubrutin hívások Struktúrált szintaxis Teljes integráció a Windows rendszerhez Objektum-orientált programozás Matematikai és adat analízis, speciális interaktív rutinok
IDL • Összehasonlítás a Mathematica-val, Maple-vel és a Matlab-bal: – A Mathematika, Maple és Matlab nagyon alkalmas matematikai számításokra és matematikai struktúrák megjelenítésére – A Mathematica és a Maple szimbolikus manipulációt és szimbolikus egyenlet megoldást is felkínál a felhasználóknak, míg az IDL nem. – A Mathematica, Maple, és Matlab jobban a matematikai analízis és matematikai problémák megoldása felé orientáltak, míg az IDL az adat analízisekre optimalizált rendszer. – IDL előnyei: • • • • • • • •
Kép megjelenítések Kép analízis és kép kiértékelés Teljesen programozhatóság, magasszintű programnyelv, Számítások, adatkezelések, és megjelenítések egyszerre lehetségesek Felhasználó által írt rutinok rendszerbe integrálása Beépített naplózás Csillagászok részére specializált
IDL • IDL alkalmazás csomagokról – Létezik az interaktív IDL szoftverek egy óriási nagy, felhasználók által írt publikus könyvtára, ami jelenleg kb. 10 000 programot tartalmaz. – Az IDL forráskódjai alkalmazás csomagok részére automatikusan elérhetők. – IDL ideálisan alkalmas a web-en keresztül való szoftverek felhasználók általi kicserélésére – Az egyes platformok közötti transzfer kódok magabiztosan használhatók és automatikusan elérhetők (pl. Solaris munkaállomásokról Macintosh laptopra való áttéréskor)
IDL • IDL környezet: – Dinamikusan létrehozhatók, módosíthatók, törölhetők adat elemek – A memória kiterjeszthető, ameddig szükésges – Tetszőleges változó nevek adhatók, a változó azonnal „vektorizálódik” – Remek help!! – Fő programok vagy procedurák, szubrutinok ill. szkriptek írhatók. A szubrutinok a fő programból meghívhatók. (hurkok, tömbök, stb...) – Reprodukálhatóság (menthetőség, pontosság) – Újrahívás-központú mini scriptek használata
A MAPLE SZOFTVERCSOMAGRÓL
MAPLE • http://www.maplesoft.com/ • A Maple: – Egy hatékony metematikai program személyi számítógépekre, melynek segítségével algebrai és formális matematikai műveletek végezhetőek el. – Képes továbbá numerikus analízis feladatok elvégzésére és az eredmények sokoldalú grafikus megjelenítésére. – A Maple munkafelülete alkalmas technikai dokumentációk készítésére, munkafelületén szöveg, matematikai kifejezések és grafikonok egyaránt megférnek. – Nagy erőssége az egyenletmegoldó képesség, és az, hogy jól kezeli a formális matematikai számításokat.
MAPLE • Történet: – 1980, Waterloo-i Egyetem (Kanada) – A kutatók kipróbálták, és rengeteg különböző ötlettel álltak elő, hogy létrehozzanak egy folyamatosan fejlődő rendszert. – Bemutatva rendszerként: 1982-ben egy konferencián – 1983: több mint 50 egyetemen használták – Waterloo Maple, Inc. Alapítása – 1989: első grafikus kezelőfelület – 1999: Maple 6 (numerikus csomaggal) – 2003: Maple 9 (jelenlegi interfésszel, JAVA alapon) – 2008: Maple 12 – 2009: Maple 13 – jelenleg: Maple 16
MAPLE • Használatáról: – Egyszerű számítások – sorokban – Parancsok - sorokban – Ciklikus és feltételes utasítások – tömbökben – Procedúrák – tömbökben – Előre megírt procedúrák és csomagok vannak, de ezek autmatikusan nem töltődnek be, hanem a használatkor kell meghívni őket – Csomagok: • LinearAlgebra – lineáris algebra • Combinat - kombinatorika • Networks – gráfelmélet • Numtheory – számelmélet – Az egyéni programok elmenthetők, újra betölthetők és továbbfejleszthetők • Kiterjesztések: .mws, .mpl