ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Mathematica - Wikipédia

Mathematica

A Wikipédiából, a szabad enciklopédiából.

Mathematica
Fejlesztő: Wolfram Research
Legfrissebb stabil kiadás: 6.0.1 / 2007. július 5.
Legfrissebb fejlesztői kiadás: latest preview date = n/a /
Operációs rendszer: többplatformos
Kategória: matematikai programcsomag
Licenc: kereskedelmi
Weboldal: Mathematica homepage

A Mathematica széles körben használt matematikai programcsomag, megálmodója Stephen Wolfram, terjesztője az általa alapított Wolfram Research cég. A Mathematica hatékony programozási nyelv is, amely a kifejezés-átírásra (term-rewriting) alapozva számos programozási paradigma emulálására alkalmas.

Tartalomjegyzék

[szerkesztés] Áttekintés

Wolfram 1986-ban kezdett dolgozni a programon, és 1988-ban bocsátotta ki az első változatot. A jelenleg aktuális változat az 5.2-es, amit 2005. július 12-én bocsátottak ki.

A Mathematica programozási nyelv a kifejezés-átíráson alapul, de a funkcionális programozás, a listakezelés, a mintaillesztés és a procedurális programozás egyaránt megvalósítható benne, bár általában a funkcionális program a leghatékonyabb.

A Mathematica rendszer három fő részből áll.

A C nyelven írt mag (kernel) végzi a tényleges számításokat, az utasítások értelmezését.

Az eredményeket a felhasználói felület közli. A mag és a felhasználói felület (vagy bármely más kliens, például a felhasználó által írt programok) közötti kommunikáció a MathLink protokollt használja, gyakran akár hálózaton keresztül is. Több felhasználói felület kapcsolódhat egyetlen maghoz, és egy felhasználói felület kapcsolódhat több maghoz.

A harmadik fő részt a csomagok (tulajdonképpen programkönyvtárak) alkotják; ezek a Mathematica nyelvén írt kiegészítő programok, amelyek közül néhányhoz a licenc megvásárlásával juthatunk, számos továbbit pedig találhatunk ingyenesen a hálózaton, illetve megvásárolhatunk más cégektől.

Eltérően más matematikai programcsomagoktól, amilyen például a Maxima vagy a Maple, a Mathematica a tárolt szabályokat mindaddig alkalmazni próbálja az adott kifejezés átalakítására, amíg ez lehetséges, tehát egy fix pontot keres. Másszóval a Mathematica egy végtelen kiértékelő rendszer.

[szerkesztés] Példák

Az alábbi Mathematica utasítássorozat annak a 6×6-os mátrixnak a determinánsát számolja ki, amelynek az i, j-edik eleme i×j-vel egyenlő:

 In[1]:= Det[Array[Times, {6, 6}]]
 Out[1]= 0

Tehát egy ilyen mátrix determinánsa 0.

Az alábbiakban numerikusan kiszámoljuk az ex = x2 + 2 egyenlet gyökét az x = -1 pontból kiindulva.

 In[2]:= FindRoot[Exp[x] == x^2 + 2, {x, -1}]
 Out[2]= {x -> 1.31907}


[szerkesztés] Több programozási paradigma

A Mathematicában több programozási paradigma is használható egy feladat megoldására. Tekintsük a következő egyszerű példát: táblázatot akarunk készíteni az 1 és 5 közötti számokból álló párok legnagyobb közös osztójából. A beépített GCD[] függvény visszatéríti két egész szám legnagyobb közös osztóját.

A GCD[] függvényt az Array[] függvénnyel használva jutunk a legtömörebb megoldáshoz:

In[3]:= Array[GCD, {5, 5}]
Out[3]= {{1, 1, 1, 1, 1}, {1, 2, 1, 2, 1}, {1, 1, 3, 1, 1}, {1, 2, 1, 4, 1}, {1, 1, 1, 1, 5}}

Legalább három további megoldást is adhatunk:

In[4]:= Table[GCD[x, y], {x, 1, 5}, {y, 1, 5}]
Out[4]= {{1, 1, 1, 1, 1}, {1, 2, 1, 2, 1}, {1, 1, 3, 1, 1}, {1, 2, 1, 4, 1}, {1, 1, 1, 1, 5}}

Egy APL-stílusú megközelítés:

In[5]:= Outer[GCD, Range[5], Range[5]]
Out[5]= {{1, 1, 1, 1, 1}, {1, 2, 1, 2, 1}, {1, 1, 3, 1, 1}, {1, 2, 1, 4, 1}, {1, 1, 1, 1, 5}}

Az Outer[] függvény a tenzorszorzat általánosítása, Range[] pedig a ióta operátor megfelelője.

Egy procedurális megközelítés:

In[6]:= 
  l1 = {}; (* Inicializálás.  Kezdetben l1 üres lista. *)
  Do[l2 = {};
     Do[l2 = Append[l2, GCD[i, j]], {j, 1, 5}];
     l1 = Append[l1, l2], (* l1-hez csatoljuk a már felépített l2 részlistát  *)
    {i, 1, 5}
  ]

In[7]:= l1
Out[7]= {{1, 1, 1, 1, 1}, {1, 2, 1, 2, 1}, {1, 1, 3, 1, 1}, {1, 2, 1, 4, 1}, {1, 1, 1, 1, 5}}

Ez a megoldás lényegesen hosszabb, mint az előzők.

[szerkesztés] A kifejezések közös reprezentációja

A Mathematica egyik vezérelve, hogy a benne reprezentálható objektumok szinte kivétel nélkül azonos szerkezetűek. Például a x4+1 kifejezés lényegében úgy jelenik meg, ahogyan szokásosan írjuk:

In[8]:= x^4 + 1
Out[8]= 1+x4

Ha azonban alkalmazzuk FullForm parancsot:

In[9]:= FullForm[x^4 + 1]
Out[9]= Plus[1, Power[x, 4]]

világosabban látszik a belső reprezentáció alakja.

A Mathematicában minden objektum kifejezésnek vagy egy (általában többszörösen összetett) függvény helyettesítési értékének tekinthető, ezért alakja ilyen: fej[e1, e2, ...], ahol az argumnetumok további kifejezések (és ami lehetséges, hogy másképp jelenik meg, vagy másképpen lehet bevinni). Például a fenti kifejezés feje Plus, az olyan szimbólumok pedig, mint x tulajdonképpen Symbol["x"] alakúak. A listák szerkezete is ilyen, itt a fej List.

Ez az elv az alapja annak, hogy listáktól teljesen különböző szabályos kifejezéseken is elvégezhessük a listaműveleteket.

In[10]:= Expand[(Cos[x] + 2 Log[x^11])/13][[2, 1]]
Out[10]= 2/13

A megfordításra is gyakran szükségünk lehet – a listák ugyanúgy módosíthatók, mint a szabályos kifejezések:

In[11]:= Map[Reverse, f[{2, x}, {3, x}, {4, x}]
Out[11]= f[{x,2},{x,3},{x,4}].

[szerkesztés] Felhasználói felületek

Az alapértelmezésként használt Mathematica felhasználói felületnek számos grafikai képessége van – beleértve a képletek szép megjelenítését (prettyprinting) –, és a felhasználóval egy jegyzetfüzeten keresztül kommunikál. A mag által küldött eredményeket (beleértve a grafikaiakat és a hangzókat is) hierarchikusan szervezett cellákba teszi (hasonlóan ahhoz, ahogyan például a Maple is teszi). A jegyzetfüzet formázható, szakaszokra osztható. A program 3.0 változatától kezdve a jegyzetfüzetek is kifejezésekként vannak reprezentálva, a mag ezeket is manipulálhatja. Mivel a felhasználói felület szövegszerkesztési képességei fontosak, ezért ma már elérhető ingyenesen a MathReader program, amelyikkel a Mathematica jegyzetfüzetek – amelyek tulajdonképpen szöveges állományok – olvashatók.

Létezik néhány további felhasználói felület is, mint például a JMath vagy a MASH, de a Mathematica felhasználói felület a legnépszerűbb.

[szerkesztés] Kapcsolat más alkalmazásokkal

A MathLink protokoll nemcsak a Mathematica mag és a felhasználói felület közötti, hanem a mag és tetszőleges más alkalmazások közötti kommunikációhoz is használható. A Wolfram Research cég ingyenesen terjeszt egy olyan fejlesztői programot, amely arra szolgál, hogy C programozási nyelven írt programokat összekapcsoljon a Mathematica magjával a MathLink-en keresztül, valamint a J/Link-et, amely hasonló, egyszerűen használható csatoló program a Java programozási nyelvhez. Ha a J/Link-et használjuk, akkor megkérhetjük a Mathematica magját, hogy az végezze a számolásokat, továbbá egy Mathematica program betölthet tetszőleges Java osztályt, manipulálhat Java objektumokat, és meghívhat módszereket (metódusokat), ily módon Mathematicából Java grafikus felhasználói felületeket építhetünk.

[szerkesztés] Mathematica a világhálón

A Wolfram Research cég egy webMathematica nevű programot is gyárt, ami lehetővé teszi egyszerű webes interfészek fejlesztését a Mathematicához.

A Sloane Enciklopédia:

http://www.research.att.com/~njas/sequences/?q=&sort=0&fmt=0&language=english&go=Search a Mathematica és a Maple rendszert használja a leggyakrabban a matematikai programcsomagok közül sorozatok kiszámítására; mindkét nyelv saját adatbázissal rendelkezik az Sloane Enciklopédiában.

A Google a:" filetype:nb *.* "keresőkifejezésre (nb:Mathematica notebook ) kb. 32000 találatot ad, ezek közül választva, (a szoftver birtokában ) és futtatva lehet gyakorlatot szerezni a Mathematica használatában.

Konkrétabb keresés:

filetype:nb fibonacci (340 találat)

http://www.google.hu/search?num=20&hl=hu&newwindow=1&client=firefox-a&channel=s&rls=org.mozilla%3Ahu%3Aofficial&q=filetype%3Anb++fibonacci+&btnG=Keres%C3%A9s&meta=

A szoftvert is le lehet időnként tölteni szabadon, de időkorláttal!

Letöltés nélkül, vagy az időkorlát lejárta után az ingyenes Mathematica Notebook Reader -rel tanulmányozhatjuk mások numerikus, vagy grafikus munkáját, eredményeit.

MathReader 4.0 itt letölthető (8,62 MB) :http://www.tucows.com/preview/205497

[szerkesztés] Külső hivatkozások


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -