Maple (szoftver)
Ez a lap vagy szakasz tartalmában elavult, korszerűtlen, frissítésre szorul. Frissítsd időszerű tartalommal, munkád végeztével pedig távolítsd el ezt a sablont! |
Maple | |
Fejlesztő | Maplesoft Inc. |
Legfrissebb stabil kiadás | 2023 (stabil verzió, 2023. március 9.)[1] |
Legfrissebb fejlesztői kiadás | 18 (2014. március 5.) +/- |
Programozási nyelv | C, Java, Maple |
Operációs rendszer | multi-platform |
Kategória | algebrai program |
Licenc | kereskedelmi, zárt forráskódú |
A Maple weboldala |
A Maple egy hatékony matematikai szoftver csomag PC-re, 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 egyenlet megoldó képesség, és az, hogy jól kezeli a formális matematikai számításokat.
Története
[szerkesztés]A Maple első koncepciója 1980 novemberében alakult ki, a Waterlooi egyetemen. Az egyetem kutatói egy olyan számítógépet akartak megvenni, ami elég erős ahhoz, hogy fusson rajta a macsyma. Ehelyett elhatározták, hogy kifejlesztik saját algebrai rendszerüket, ami elérhető a kutatók, és diákok számára. A kezdeti fejlesztés nagyon gyorsan haladt, az első korlátozott kiadása 1980 decemberében jelent meg. A kutatók kipróbálták, és rengeteg különböző ötlettel álltak elő, hogy létrehozzanak egy folyamatosan fejlődő rendszert. A Maple-t először egy konferencián mutatták be 1982-ben. A neve kanadai mivoltára utal. 1983 végére már több mint 50 egyetem számítógépeire volt telepítve a program. Megalapították a Waterloo Maple Inc.-t, mely fő céljai a szoftver osztályozása, illetve, hogy legyen egy részlege, ahol a folyamatos fejlesztés folyik.
Verzió történet
[szerkesztés]- Maple 1.0: 1982. január
- Maple 1.1: 1982. január
- Maple 2.0: 1982. május
- Maple 2.1: 1982. június
- Maple 2.15: 1982. augusztus
- Maple 2.2: 1982. december
- Maple 3.0: 1983. május
- Maple 3.1: 1983. október
- Maple 3.2: 1984. április
- Maple 3.3: 1985. március
(első nyilvánosan is elérhető verzió) - Maple 4.0: 1986. április
- Maple 4.1: 1987. május
- Maple 4.2: 1987. december
- Maple 4.3: 1989. március
(első grafikusan használható kezelőfelületet) - Maple V: 1990. augusztus
- Maple V R2: 1992. november
- Maple V R3: 1994. március 15.
- Maple V R4: 1996. január
- Maple V R5: 1997. november 1.
- Maple 6: 1999. december 6.
(numerikus NAG csomag) - Maple 7: 2001. július 1.
- Maple 8: 2002. április 16.
- Maple 9: 2003. június 30.
(új Java nyelvű általános interfészt) - Maple 9.5: 2004. április 15.
- Maple 10: 2005. május 10.
- Maple 11: 2007. február 21.
- Maple 11.01: 2007. július
- Maple 11.02: 2007. november
- Maple 12: 2008. május
- Maple 12.01: 2008. október
- Maple 12.02: 2008. december
- Maple 13: 2009. április
- Maple 13.01: 2009. július
- Maple 13.02: 2009. október
- Maple 14: 2010. április
- Maple 14.01: 2010. október 28.
- Maple 15: 2011. április 13.
- Maple 15.01: 2011. június 21.
- Maple 16: 2012. március 28.
- Maple 16.01: 2012. május 16.
- Maple 17: 2013
- Maple 18: 2014
- Maple 2015: 2015
- Maple 2016: 2016
- Maple 2016.1: 2016. április 20.
- Maple 2016.1a: 2016. április 27.
- Maple 2017: 2017. május 25.
- Maple 2017.1: 2017. június 28.
- Maple 2017.2: 2017. augusztus 2.
- Maple 2017.3: 2017. október 3.
- Maple 2018.0: 2018. március 21.
Maple termékskála
[szerkesztés]A legújabb technológiákat felsorakoztató termékei a matematikai alapokon nyugvó feladatokat egyszerűbbé, eredményesebbé és hatékonyabbá teszik, mint azok eddig lehettek.
A Maplesoft terméklistája a Maple™, MapleSim™, MapleNet™ és a MapleTA™ szoftverekből áll:
- Maple egy fejlett matematikai problémamegoldó és programozói szoftver,
- MapleNet Web alapú infrastruktúrát kínál, mely lehetővé teszi a Maple számítási képességeinek kihasználását egyszerű böngészőn keresztül
- MapleTA azok számára kínál megoldásokat, akik készíteni, szolgáltatni és értékelni kívánnak matematikai Web alapú teszteket és alkalmazásokat
Maple 15 funkciói
[szerkesztés]A több mint 25 éves élvonalbeli kutatás és fejlesztés eredményeként, a Maple egyesíti a világ egyik legnagyobb teljesítményűnek mondott matematikai számítási motorját az intuitív, "kattintó-barát" felhasználói felülettel. A több mint 270 új matematikai funkció és a már meglévő algoritmusokon végrehajtott több mint ezer fejlesztés segítségével az összetett problémákat a korábbiakhoz képest gyorsabban lehet megoldani.
Jelentős fejlesztések történtek a következő területeken:
- Párhuzamos munkafolyamatok: Lehetőséget kínál a párhuzamos számítás kihasználására, több processzoros (magos) rendszerek, nagyobb számítógép csoportok támogatásával, melyek lehetővé teszik, hogy a problémákat hamarabb kezelje (megtalálja), mint valaha. Maple-lel kihasználhatják a CUDA-kompatibilis grafikus kártyában rejlő hatalmas számítási teljesítményeket így, drámaian felgyorsítóak kulcsfontosságú számítások elvégzése.
- Felhasználói felület: Intelligens dokumentum környezetben lehetőséget kínál a fejlesztő megoldásaink, vizsgálja matematikai fogalmakat, és megosztja eredményeket.
- Számítási algoritmusok: Magában foglalja a legújabb, világ színvonalú algoritmusokat, mind szimbolikus és numerikus számításban. Jelentősen a javult a teljesítménye, továbbá támogatja az új alkalmazási területek is.
- Vezérlési tervezés: Maple számos és kiterjedt eszközt nyújt a lineáris rendszerekkel dolgozóknak a DynamicSystems csomag használatával. A Maple.MapleSim és a MapleSim Control Design Toolbox, egy nagyon hatékony környezetet teremt lineáris és nemlineáris szabályozás kialakítására.
- Fizika: Fizika kutatásában és az oktatásában is jól használható. Pl.: Kinematika, dinamika, tenzor számítások, a számítástechnika, zárt formájú megoldások közönséges és parciális differenciálegyenletek, differenciálgeometria, absztrakt vektor algebra, a speciális funkciók, elektrodinamika, az általános relativitáselmélet, a kvantummechanika és a Feynman-diagramok. Előrelépések differenciálegyenletek megoldásának bevezetéséhez, a Bell funkciókhoz, és új algoritmusokhoz differenciál geometriába.
- Pénzügyi modellezés: Az új pénzügyi csomag rendkívül gazdag a feladatok pénzügyi modellezésének területén a kockázatelemzés, portfólió kezelés, mennyiségi elemzés és modell validálás.
- Kapcsolatok: Képes csatlakozni az internetre és más termékekhez is az eszközlánc segítségével.
Alapfunkciók
[szerkesztés]Maple fájlkiterjesztések | |
Fájlkiterjesztés | .mws és .mpl |
Fejlesztő | Maplesoft |
Formátum típusa | szövegfájl |
Weboldal | www.maplesoft.com/products/maple/ |
Maple fájlok
[szerkesztés]A program elmenthető és újra betölthető, továbbfejleszthető fájlokkal dolgozik. Két gyakran előforduló fájl kiterjesztése van: név.mws
és néw.mpl
. Az előbbi régebbi, utóbbi pedig a fejlettebb verziókban fordul elő. Mindkét formátum meglehetősen elterjedt.[2]
Parancssor
[szerkesztés]Interaktív parancssoros felületen a prompt a > jel. Az Enter hatására új parancs kezdődik. Ha hosszú parancsot akarunk megadni, az áttekinthetőség megkönnyítése érdekében kezdhetünk új sort a parancson belül a SHIFT+ENTER kombinációval. Munka közben hasznos a CTRL+DEL kombináció, amellyel az aktuális parancs eredményét, illetve magát a cellát tudjuk törölni. Az aktuális parancs elé CTRL+K-val, mögé CTRL+J-vel szúrhatunk be új parancssort, illetve SHIFT+CTRL+K-val a parancson belül a képlet elé, SHIFT+CTRL+J-vel a parancson belül a képlet mögé írhatunk megjegyzést. A kijelölt, vagy ha nincs kijelölve semmi, akkor az aktuális parancsot a CTRL+pont segítségével húzzuk beljebb, és CTRL+vessző segítségével húzhatjuk a másik irányba.
Értékadás
[szerkesztés]Adhatunk értéket betűknek, illetve kifejezéseknek a := segítségével.
Parancs | Eredmény |
---|---|
a:=60; | a:=60 |
het:=7; | het:=7 |
2a; | 2a |
2*a; | 120 |
sina; | sina |
sin(a); | |
%; | sin(60) |
A ; a parancs lezárása, és az eredménye kiírására szolgál. A :-tal is elvégzi a műveletet, de nem írja ki. A *-jelet nem szabad kihagynunk, és a beépített függvények argumentumát zárójelbe kell tenni. A % az előző értéket adja vissza, így ha egy hosszú eredményt kapunk, nem kell bemásolni, hogy tovább számoljunk vele, elég ha ezt használjuk. Ahány % van egymás mellett, annyival az azelőtti eredményt adja meg. Az értékek addig bennmaradnak a memóriában, míg nem töröljük őket. Globálisan ezt a restart; paranccsal tehetjük. Ha csak egy értéket szeretnénk törölni, azt e módon tehetjük:
Parancs | Eredmény |
---|---|
x:=3; | x:=3 |
x; | 3 |
x:='x'; | x:= x |
x; | x |
Számológép
[szerkesztés]A Maple használható nagy teljesítményű számológépként is. Jól kezeli a paramétereket. Egyszerűsít, illetve ha kell, kifejt. Van pár beépített szimbólum, mint például a Pí vagy az Euler-féle szám. Ezekkel, mint szimbólumokkal tud számolni, így külön meg kell kérnünk, ha a közelítését akarjuk kiíratni. Ha a parancsokat nagybetűvel írjuk, csak kiírja azt, míg kisbetűvel el is végzi.
Parancs | Művelet | Eredmény |
---|---|---|
simplify(cos ^2(x)+sin^2(x)); | egyszerűsít | 1 |
expand((x+5)^2 ); | kifejt | |
pi; | pi | |
evalf(Pi,10); | közelíti a pi-t 10 számjegy pontossággal | 3.141592653 |
27 mod 4 | kiszámolja mennyi a maradék | 3 |
sum(1/n^2, n=1..infinity); | kiírja a műveletet | |
sum(1/n^2, n=1..infinity); | elvégzi a műveletet |
Egyenletek
[szerkesztés]Az egyenletek megoldása a solve paranccsal történik, de az egyenlet után meg kell adni, mi az ismeretlen. Az fsolve paranccsal tizedestört alakban kapjuk meg az eredményt. Elnevezhetjük az egyenletet és az eredményt is, melyeket megkülönböztet egymástól. Ha paraméteresen adtunk meg egy egyenletet, de be szeretnénk helyettesíteni, akkor azt az eval-lal tehetjük. Mivel paraméterrel is tud számolni, meg kell hogy különböztesse az ismeretlent, így az egyenlet után meg kell adni, mi szerint oldja meg.
Parancs | Eredmény |
---|---|
egyenlet:=a*x^2+b*x+c=0; | egyenlet:= |
gyokok:=solve(egyenlet,x); | |
gyokok[2]; | |
eval(egyenlet,a=0,b=1,c=-2); | 2 |
Függvénykirajzolás
[szerkesztés]A plot paranccsal kirajzolhatjuk a függvényt egy koordináta-rendszeren, melynek mi adjuk meg a paramétereit, az alábbi módon:
plot(cos(x) , x=-5..5 , y=-1..1 );
Plot3d paranccsal 3 dimenzióban tudjuk kirajzolni, a két változós függvényeinket.
Deriválás, integrálás
[szerkesztés]A Maple képes a deriválásra (diff) és az integrálásra (int) is. Mivel több változóval képes számolni, meg kell adni neki, hogy mi szerint deriváljon, illetve integráljon.
Parancs | Eredmény |
---|---|
diff(x^3+3*x^2-11,x); | |
diff(x^3+3*x^2-11,x); | |
diff(arctan(x*y),y); | |
int(cos(3*x-5),x); | |
int(cos(3*x-5),x); | |
int(2*x^2,x=0..3); | 18 |
Listák, halmazok, sorozatok
[szerkesztés]A Maple segítségével definiálhatunk listákat, halmazokat, illetve sorozatokat is.
Parancs |
---|
lista:=[1,2,3]; |
halmaz:={1,2,3}; |
sorozat:=1,2,3; |
A lista elemeit [] között soroljuk fel, és számít a sorrendjük. A halmazok esetében, melyek elemeit {} között adjuk meg, ez nem igaz. Ezek átalakíthatóak egymásba. Az op parancs leveszi a zárójeleket a széléről.
Parancs | Művelet |
---|---|
{op(lista)}; | listából halmaz |
[op(halmaz)]; | halmazból lista |
[sorozat]; | sorozatból lista |
A listák tagjait módosíthatjuk, illetve hivatkozhatunk rájuk tagonként. Listákat megadhatunk képlettel is, a seq paranccsal.
Parancs | Eredmény |
---|---|
lista[2]; | 2 |
lista[2]:=4:lista; | [1,4,3] |
lista2:=[seq(i^2,i=1..4)]; | lista2:=[1,4,9,16] |
Halmaz, avagy lista elemszámára a nops() paranccsal kérdezhetünk rá.
Help
[szerkesztés]Ha ?-et rakunk a parancs elé, előhívjuk a help funkciót, amelyben van egy rövid ismertető a parancsról, és annak használatáról.
Összetettebb műveletek
[szerkesztés]A Maple képes hosszabb, programszerű műveleteket is végrehajtani.
Ciklikus és feltételes utasítások
[szerkesztés]Ha egy utasítást vagy utasítások egy sorozatát csak egy bizonyos feltétel teljesülése esetén akarunk végrehajtani, akkor feltételes utasítást használunk. Ennek alakjai:
if feltétel then utasítások end if;
if feltétel then utasítások1 else utasítások2 end if;
if feltétel1 then utasítások1 elif feltétel2 then utasítások2 ... end if;
if feltétel1 then utasítások1 elif feltétel2 then utasítások2 ... else utasítások end if;
A ciklus utasítás egy utasítássorozat ismételt végrehajtását teszi lehetővé. A Maple két típusát használja. Az első az ún. from-to típusú ciklus:
for ciklusváltozó from honnan by mennyivel to meddig do utasítások end do;
A másik típus, mikor egy feltételtől függ a ciklusok száma. Ez a while típusú.
Példa egy feltételes ciklikus utasításra:
while n>1
do
if
n mod 2 = 0 then
n:=n/2
else
n:=3*n+1
end if;
printf("%d",n);
end do;
Ez az úgynevezett szirakúzai problémára egy megoldóciklus.
A logikai utasítások itt is léteznek, azaz van and, or, és a többi.
Procedúrák
[szerkesztés]Az előző pontban, mint láttuk, az értéket előre meg kell adni, és utána tudjuk lefuttatni az alapján a ciklusunkat. Tehát új számnál újra le kell futtatnunk az egészet. Egy procedúra abból áll, hogy egy ilyen ciklust elnevezünk valaminek, paraméterekkel, és az új lefutáshoz már csak azt kell meghívnunk, és az általunk leellenőrizendőnek vélt változóval behelyettesíteni. A proc utáni zárójelbe az általunk megadandó változót kell írnunk, a kívánt algoritmust kell megadnunk, és lezárni a folyamatot. A local paranccsal a helyi változókat(amik csak a procedúrán belül kapnak értéket) kell deklarálni.
A procedúra definíciója | A procedúra meghívása egy paraméterrel | Eredmény |
---|---|---|
szirakuzai:=proc(m)
local k;
k:=m;
while k>1
do
if
k mod 2 = 0
then
k:=k/2
else
k:=3*k+1
end if;
printf("%d\n",k);
end do;
end proc;
|
szirakuzai(34);
|
17
52
26
13
40
20
10
5
16
8
4
2
1
|
A futtatás utána már egy beépített függvényként lehet hivatkozni a procedúrára. Kilépés után mindez érvényét veszti, nem mentődik el.
Csomagok
[szerkesztés]A Maple-ben sok csomag van, amiben előre megírt procedúrák és sok más segíti a munkánkat. De ezek sokszor nem kellenek, és sok memóriát foglalnak, így nem töltődnek be a program indításával, hanem nekünk kell betöltenünk őket, ha szükségünk van rájuk. A csomagokat with(); paranccsal tudjuk betölteni. Ha ;-őt használunk, kiírja a csomagban szereplő összes parancsot, míg a :-nál csak megnyitja a csomagot.
Pár gyakran használt csomag:
Az ide kapcsolódó csomag neve LinearAlgebra. Ügyeljünk a kis-nagybetűkre. Számos parancs található ebben a csomagban, ezek közül 1-2 fontosabb szerepel itt.
Parancs | Művelet |
---|---|
Matrix(1,2,3,[4,5,6],7,8,9); | egy 3*3-as mátrix létrehozása, a sorok szerint |
A.B; | mátrixszorzás |
Transpose(M); | az M mátrix transzponáltja |
Determinant(M); | az M mátrix determinánsa |
MatrixInverse(M); | az M mátrix inverze |
Eigenvalues(M); | az M mátrix sajátértéke |
Eigenvectors(M); | az M mátrix sajátvektorai |
CharacteristicPolynomial(M,x); | az M mátrix karakterisztikus polinomja |
GaussianElimination(M); | az M mátrix Gauss-eliminációja |
DotProduct(<1,2>,<3,4>); | skalárszorzat |
CrossProduct(<1,2>,<3,4>); | vektoriális szorzat |
A combinat paranccsal töltődik be a csomag.
Fontosabb parancsok:
Parancs | Művelet |
---|---|
binom(x,y); | x alatt az y |
choose({1,2,3,4},2); | felsorolja az összes lehetséges 2 elemű kombinációt |
permute({1,2,3,4},2); | felsorolja az összes lehetséges 2 elemű variációt |
fibonacci(x); | x-edik Fibonacci-szám |
networks szóval lehet meghívni a csomagot.
Főbb parancsai:
Parancs | Művelet |
---|---|
new(G); | új gráf létrehozása |
addvertex({1,2,3,4},G); | csúcsok hozzáadása |
addedge([{1,2},{3,4}],G); | élek hozzáadása |
draw(G); | a gráf kirajzolása |
adjacency(G) | illeszkedési mátrix |
complement(G); | komplementergráf |
isplanar(G); | síkba rajzolható-e? |
Csak címkézett csúcsokat adhatunk meg, hogy hivatkozhassunk rájuk az élek megadásánál. Ezeknél fel kell tüntetni azt is, mely gráfhoz adjuk ezeket hozzá.
Csomag neve:numtheory.
Fontosabb parancsok:
Parancs | Művelet |
---|---|
isprime(x); | x prím-e? |
ithprime(x); | x-edik prímszám |
nextprime(x); | x után a következő prímszám |
ifactor(x); | x kanonikus alakja |
divisors(x); | x pozitív összes osztója |
phi(x); | Euler-féle függvény |
isolve(ax+b,x); | egészek körében oldja meg az egyenletet |
msolve(x^2=1,3); | kongruenciákat old meg |
Jegyzetek
[szerkesztés]- ↑ Waterloo, Canada; Mar. 9, 2023: Maplesoft today announced a new release …, 2023. március 9. (Hozzáférés: 2023. július 19.)
- ↑ A Google kereső a fibonacci.mws kifejezésre legalább 295 találatot ad.
Források
[szerkesztés]Külső hivatkozások
[szerkesztés]- (angolul) Hivatalos weboldal
- (angolul) Waterloo Maple