Pakiet Maple
http://fatcat.ftj.agh.edu.pl/~ciacho/maple.pdf
Krzysztof Jankowski
e-mail:
ciacho@gmail.com
Rafał Janik
e-mail:
rino@fatcat.agh.edu.pl
Spis treści
1
Wstęp
1
2
Maple - interfejs
3
2.1
Standardowy arkusz . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.2
Klasyczny arkusz . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.3
Linia Poleceń . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
3
Składnia
4
3.1
Podstawowe informacje . . . . . . . . . . . . . . . . . . . . . . . .
4
3.2
Reguły . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
4
Podstawowe funkcje
6
4.1
Pakiety Maple’a
. . . . . . . . . . . . . . . . . . . . . . . . . . .
6
4.2
Funkcje podstawowe . . . . . . . . . . . . . . . . . . . . . . . . .
7
4.3
Operacje na liczbach calkowitych . . . . . . . . . . . . . . . . . .
7
5
Obliczenia symboliczne
8
5.1
Wielomiany . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
5.2
Różniczkowanie i całkowanie . . . . . . . . . . . . . . . . . . . . .
9
5.3
Rozwiazywanie równan i układów równan . . . . . . . . . . . . .
9
6
Wykresy
10
6.1
Plot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
6.2
Plot3d() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
7
Programowanie w Maple
12
7.1
Wyrażenie warunkowe IF . . . . . . . . . . . . . . . . . . . . . .
12
7.2
Pętle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
7.3
Procedury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
8
Korzystanie z Pomocy
13
9
Współpraca Maple z innymi programami
14
10 Podsumowanie
14
Streszczenie
Praca
dotyczy
pakietu
Maple.
Przedtawione
i
opisane
zostały
podstawowe możliwosci pakietu, interfejs użytkownika ,wspólpraca z
innymi programami. Na przykładach zostało zaprezentowane działanie
najpopularniejszych funkcji, tworzenie wykresów, a także omówione
zostały różnice między obliczeniami symbolicznymi a numerycznymi.
Opisana została składnia i reguły w pakiecie oraz podstawowe zasady
programowania w Maple.
1
Wstęp
Pakiety obliczeniowe to programy niezwykle pomocne w większości prac
naukowo-technicznych. Obliczenia można wykonywać zarówno na liczbach jak
i na symbolach. Obliczenia wykonywane na liczbach nazywane są obliczeniami
numerycznymi, symboliczne to operacje matematyczne wykonywane na wyrażeniach
matematycznych.
Przykłady obliczeń symbolicznych
• uproszczenie równania
6x + x
5
− 9x
daje wynik
x
5
− 3x
• obliczenie pochodnej
sin(2x
3
)
daje wynik
6x
2
cos(2x
3
)
Wśród programów służących do obliczeń symbolicznych wyróżnić możemy
następujące pakiety:
• Matlab - firmy MathWorks. Program, którego domeną nie są obliczenia
symboliczne, ale obliczenia numeryczne oparte na macierzach. Posiada
dodatkowy moduł do obliczeń symbolicznych (Symbolic Math Toolbox)
opracowany przez producentów Maple’a.
• MuPAD - opracowany na Uniwersytecie w Paderborn w Niemczech nieodpłatny,
dla instytucji niekomercyjnych.
• MAXIMA - na licencji GPL.
• Derive - firmy Texas Instruments.
• Mathematica - opracowana przez Stephena Wolframa.
• Maple - firmy Waterloo Maple Inc (Maplesoft).
W zakresie obliczeń symbolicznych największe możliwości są oferowane przez
dwa ostatnie programy: Mathematica i będący tematem pracy - Maple. Maple
powstał w 1981 na uniwersytecie w Waterloo w Kanadzie za sprawą Symbolic
Computation Group. Od 1988 jest on rozwijany oraz sprzedawany komercyjnie
przez Waterloo Maple Inc. Maple to kompletne środowisko do rozwiązywania
zaawansowanych problemów matematycznych w którym znależ ć można urozmaicony
zestaw sposobów wizualizacji matematycznej. Dzięki rachunkowi symbolicznemu,
Maple pozwala na rozwiązywanie matematycznych problemów w sposób dokładny,
w odróżnieniu do obliczeń numerycznych, w których wyniki są przeważnie przybliżonymi
rozwiązaniami. W chwili obecnej Maple dominuje wśród programów symbolicznych
ponieważ jest najlepiej ze wszystkich pozostałych pakietów potrafi odwzorować
sposób liczenia przez ludzi. Pakiet pozwala użytkownikowi zapomnieć o długich,
żmudnych i narażonych na błędy obliczeniach i przekształceniach. Poprzez zaawansowane
uproszczenia, przekształcenia i przybliżenia wyrażenia przedstawiane są w prosty
sposób, a wyniki otrzymywane są praktycznie bezbłędnie. W obliczeniach symbolicznych
zachowany jest matematyczny punkt widzenia, dzięki czemu zyskujemy szersze
spojrzenie na charakter i przebieg rozwiązania. Dzięki szerokiej gamie różnorodnych
procedur graficznych można łatwo i efektownie przygotować wizualizacje wyników,
a mnogość funkcji i prostota składni pozwala szybko otrzymać rozwiązania,
które to mogą z kolei zostać automatycznie przekształcone na kod w języku
FORTRAN, JAVA, bądż C. Wbudowane funkcje programu Maple zorganizowane
są w pakiety. Znależ ć można wśród nich:
• funkcje dopasowujące krzywe do zbioru punktów takie jak sklejki, metoda
najmniejszych kwadratów czy interpolacja wielomianowa,
• funkcje statystyczne (wartość średnia, odchylenie standardowe, regresja
liniowa, współczynniki korelacji,
• funkcje rozwiązujące równania różniczkowe zwyczajne i cząstkowe,
• funkcje wykonujące przekształcenia całkowe
• narzędzia do badania przebiegu zmienności funkcji jednej zmiennej,
• funkcje z dziedziny optymalizacji,
• operacje macierzowe
• funkcje kombinatoryki
• funkcje finansowe takie jak procent składany, wartość zaktualizowana, amortyzacja;
• funkcje algebry liniowa
• funkcje elementarne i specjalne
• funkcje na liczbach zespolonych
• funkcje związane z logiką
• funkcje związane z geometrią
• funkcje teorii grafów
• funkcje teorii grup
• funkcje teorii liczb
• funkcje grupy Galois
• funkcje algebry Liego
• funkcje szeregów potęgowe
Ponadto Maple udostępnia kilkanaście tysięcy stałych, mających głownie zastosowanie
w obliczeniach chemicznych i fizycznych. Kolejnym udogodnieniem jest automatyczna
konwersja jednostek we wszystkich obliczeniach. Przekształcenia oraz uzyskane
wyniki obliczeń posiadają standardowa notację matematyczną, nadającą się bezpośrednio
do publikacji. Wyniki, kolejne obliczenia, grafika oraz komentarze są ujęte w
postaci arkusza. Arkusze mogą być formatowane w dowolny sposób a następnie
eksportowane do LaTeX-a. Firma Waterloo Maple Inc ciągle unowocześnia swoje
produkty (w chwili pisania artykułu na rynku pojawił się Maple wersja 11
), za sprawą czego produkt jest coraz bardziej przyjaznym środowiskiem dla
użytkownika.
2
Maple - interfejs
W Maple wyróżniamy trzy rodzaje interfejsu:
• Standardowy arkusz
• Klasyczny arkusz (Classic Worksheet)
• Wiersz polecen (Command-Line)
2.1
Standardowy arkusz
Standardowy arkusz pozwala na tworzenie elektronicznych publikacji. Możemy
umieszczać w nim obliczenia i komentarze. Dzięki specjalnym opcjom możemy
ukrywać komentarze, pozostawiając sam kod- dzięki czemu użytkownik może się
skoncentrować na przedstawianym problemie.
Rysunek 1: Widok arkusza standardowego Maple
2.2
Klasyczny arkusz
Klasyczny arkusz ma mniejsze wymagania sprzętowe, dzięki czemu działa na
starszych komputerach.
2.3
Linia Poleceń
Wiersz poleceń używany jest do rozwiązywania większych zadań.
3
Składnia
3.1
Podstawowe informacje
Wszystkie instrukcje przekazywane do programu Maple są wprowadzane po
znaku zgłoszenia (który znajduje się po lewej stronie ekranu) jest to pierwsza
rzecz, którą powinniśmy wiedzieć rozpoczynając prace z programem. Dane wejściowe
Rysunek 2: Widok arkusza klasycznego
Rysunek 3: Widok Lini Polecen Maple
i instrukcje w programie MAPLE oznaczane są kolorem czerwonym, wyniki -
kolorem niebieskim, natomiast komunikaty błędów - różowym.
Dane, które wprowadzamy do programu muszą się kończyć znakiem : lub ; .
Znak : informuje Maple‘a, aby wykonał wcześniejszą instrukcje bez wyświetlania
wyników na ekranie, natomiast znak ; spowoduje wykonanie poprzedzających
go instrukcji i wypisanie wyników. Przykład: x:=13; y:=23; Maple zapamiętał
teraz obie zmienne: x = 13 oraz y = 23. Można teraz wykonać dowolną funkcje
operującą na naszych zmiennych x i y. Np. dodawanie x + y, w wyniku czego
wyswietlone zostanie 36.
Kolejnym istotnym znakiem w programie Maple jest znak specjalny backslash
. Jest tzw. znak kontynuacji, jeżeli wynik nie mieści się w jednej linii to każda
linia jest zakończona tym znakiem, np. wypisanie wyniku operacji:
> 99
99
;
369729637649726772657187905628805440595668764281741102430\
259972423552570455277523421410650010128232727940978889548\
326540119429996769494359451621570193644014418071060667659\
301384999779999159200499899
3.2
Reguły
Maple posiada wiele logicznych i łatwych do zapamiętania reguł. Standardowe
operacje arytmetyczne to: dodawanie, odejmowanie, mnożenie, dzielenie potęgowanie.
Program Maple rozpoznaje każdy ciąg znaków i cyfr nie rozpoczynający się
od cyfry jako zmienną. Nazwy zmiennych nie mają ograniczonej długości, choć
oczywiste jest to, aby były intuicyjne i łatwe do zapamiętania dla użytkownika.
Jednakże, w pakiecie Maple istnieją tzw. zmienne standardowe, których nazwy
są zastrzeżone. Oznacza to, że użytkownik nie może nazwać własnej zmiennej
nazwą, która została zarezerwowana dla zmiennych wbudowanych. Należą do
nich między innymi Pi (π), I (jednostka urojona), infinity (nieskończoność),
gamma (stała Euler’a). Zmienne nie mogą również przyjmowac nazw funkcji
wbudowanych(np funkcji trygonometrycznych- próba przypisania wartości sin
zakończy się komunikatem o błędzie ” Error, attempting to assign to ‘sin‘ which is
protected”). Program Maple wykonuje wszystkie obliczenia możliwie najdokładniej
i najbardziej ściśle. Dzieje się tak dzięki temu, że wszystkie możliwe obliczenia
są wykonywane za pomocą rachunku symbolicznego, a nie numerycznego, który
niesie ze sobą błędy związane z przybliżaniem wyniku. Po wpisaniu
> 10 ∗ P i + 100;
użytkownik otrzyma wynik
10π + 100
a nie wartość wyrażenia. W celu uzyskania wyniku należy zastosować funkcje
evalf(2*Pi + 10), która oblicza wynik wyrażenia (131,4159265). Wywołanie evalf(2*Pi
+ 10 , 3) poskutkuje ustawieniem precyzji na 3 miejsce po przecinku (wynikiem
będzie teraz 131,416). Jak widać z przykładu argumenty funkcji muszą zostać
ujęte w nawiasy ”()”, podobnie jak w C, Javie i i większości innych języków
programowania. Kwadratowe nawiasy ”[ ]” służą do tworzenia tabeli, a także do
odwoływania się do jej elementów, np tablica:=[11,22,33,44,55] tworzy pięcioelementową
tablicę a tablica[3] wskazuje na 3 element tablicy, a zatem na 33. Należy przy tym
pamiętać, że indeksy tablicy zaczynają sie od 1. W przeciwieństwie do większości
języków programowania w Maple nie ma rozróżnienia na zmienne globalne i
lokalne - wszystkie stworzone zmienne są przechowywane do czasu zakończenia
sesji. O szczegółach odnośnie zmiennych informuje funkcja about(nazwa zmiennej),
dla przykładu:
> a := 1.1;
> about(a);
zostanie wyświetlone:
1.1:
All numeric values are properties as well as objects.
Their location in the property lattice is obvious,
in this case float.
Poprzez użycie ”%” odwołać się można do wcześniejszej wartości u nas byłoby
to odwołanie do 1.1. Do kasowania nadanej wartości zmiennej stosuje się zapis
zmienna:=’zmienna’. Obliczenia w Maple są dokonywane automatycznie po każdorazowym
wciśnięciu klawisza ENTER. Można jednak przejść do następnej linii (komendy)
nie otrzymując wyników ”na bieżąco” wciskając na raz klawisze Shift+ENTER
zamiast pojedynczego klawisza ENTER. W celu zakończenia sesji i wyjścia z
programu należy użyć polecenia:
> quit;
bądż też użyć kombinacji klawiszy Ctrl D.
4
Podstawowe funkcje
4.1
Pakiety Maple’a
Możliwości Maple są niezwykle duże - oprócz dużej funkcjonalności, dokonywania
obliczeń z niezwykle dużą precyzją, program udostępnia tysiące funkcji matematycznych.
Funkcje te organizowane są w pakietach, które to dołącza się komendą with(”nazwa pakietu”).
Oto przykłądy kilku podstawowych pakietów:
• combinat: combinatorial functions
• DEtools: differential equation tools
• difforms: differential forms
• Gauss: create domains of computation
• GaussInt: Gaussian integers
• geom3d: three-dimensional Euclidean geometry
• geometry: two-dimensional Euclidean geometry
• grobner: Grobner bases
• group: permutation and finitely-presented groups
• liesymm: Lie symmetries
• linalg: linear algebra
• logic: Boolean logic
• networks: graph networks np:Newman-Penrose formalism
• numtheory: number theory
• orthopoly: orthogonal polynomials
• padic: p-adic numbers
• plots: graphics package
• powseries: formal power series
• projgeom: projective geometry
• simplex: linear optimization
• stats: statistics
4.2
Funkcje podstawowe
Do najbardziej popularnych funkcji należą:
• abs(x) -wartość bezwzględna liczby x
• sqrt(x) -pierwiastek kwadratowy z x
• exp(x) -funkcja wykładnicza ex
• ln(x) -logarytm naturalny x
• log[n](x) -logarytm x przy podstawie n
• log10(x) -logarytm x przy podstawie 10
• min(x1,x2,x3...) -zwraca najmniejsza wartość spośród wymienionych x1,x2,x3...
• max(x1,x2,x3,...) -zwraca największa wartość spośród wymienionych x1,x2,x3...
4.3
Operacje na liczbach calkowitych
Maple jest bardzo przydatny do operacji na liczbach całkowitych. Polecanie
ifactor pozwala rozłozyć liczbę na czynniki pierwsze, na przykład:
> if actor(137016957);
(3)(7)(11)(17)(23)(37)(41)
Innymi przydatnymi funkcjami na liczbach całkowitych sa:
• Igcd(x1,x2, ... ,xn) - najwiekszy wspólny dzielnik liczb x1,x2, ... ,xn.
• Ilcm(x1,x2, ... ,xn) - najmniejsza wspólna wielokrotnosc liczb x1, x2, ...
,xn.
• Isprime(x) - sprawdza czy liczba x jest liczba pierwsza
Maple ma tez wiele wbudowanych funkcji wspomagajacych działania na ułamkach.
Oto kilka z nich:
• Ceil(x), floor(x) zwracają najmniejsza i najwieksza liczbe całkowita wieksza,
mniejsza badz równa x.
• Round(x) zaokragla liczbę x.
• numer(x) zwraca licznik ułamka x
• denom(x) zwraca mianownik ułamka x
Maple dostarcza także wiele funkcji operujących na wyrażeniach algebraicznych,
logarytmicznych, trygonometrycznych:
• expand(wyrażenie) rozwija wyrażenie, np. wywołanie
> expand(sin(x + y));
sin(x)cos(y)+cos(x)sin(x)
• normal(wyrażenie) upraszcza wyrażenie redukując wyrazy podobne, np.
po wpisaniu
> normal((x + z) ∗ (y + z) − (z − y)
2
)
otrzymamy wynik:
xy + xz + 3zy − y
2
• degree(wielomian)zwraca stopień wielomianu
• collect(w,x) grupuje współczynniki wielomianu w stojące przy tej samej
potędze zmiennej x, np:
> collect(x ∗ a + 4 ∗ a ∗ x
2
− 2 + 2 ∗ x
2
− x + 1, x);
da w rezultacie
−1 + (4a + 2)x
2
+ (a − 1)x
Nieraz zdarza się nam mieć równanie z parametrem. Dzięki Maple rozwiązywanie
takiego równania jest niezwykle proste, wystarczy zastosować funkcję subs(x1=a1,
x2=a2,. . . ,f), dzięki której łatwo obliczyć można wartość f z warunkami x1
= a1, x =a2, ... gdzie xi sa zmiennymi (parametrami) wyrazenia w, a a1 ich
wartościami. Przykład:
> f := (x + a)
2
+ (x − 2 ∗ a)
2
;
> subs(a = 3, w);
(x + 3)
2
+ (x − 6)
2
Wynik wyrażenia otrzymamy podając do subs() x i jego wartość tak samo, jak
parametr.
> subs(a = 3, x = 1, f );
41
5
Obliczenia symboliczne
Maple został stworzony jako pakiet do obliczeń symbolicznych. Potrafi działać
na symbolach i wyrażeniach, optymalizuje je, przekształca do najprostszej postaci.
Obliczenia symboliczne sprawdzają się w rozwiązywaniu obliczeń algebraicznych,
matematycznych problemów, takich jak całkowanie, rozwiązywanie równań różniczkowych
czy układów równań liniowych. Obliczenia symboliczne w Maple są wykonywane
m.in. na wyrażeniach zawierających ułamki proste, logarytmy, funkcje trygonometryczne,
a także na wielomianach.
5.1
Wielomiany
Do dzielenia wielomianów o współczynnikach wymiernych wykorzystuje się
funkcję divide(Wielomian1,Wielomian2,’q’), zwracającą wartość logiczna ”true”,
jeśli dzielenie jest wykonalne, jeśli nie - ”false”. Parametr q jest opcjonalny, po
wywołaniu funkcji z parametrem, zostaje do niego zapisany wynik dzielenia.
> divide(x
3
− 3x
2
+ 2x + 2, x + 2,
0
q
0
);
(1)
do q zapisany zostany wynik dzielenia
q = x
2
− 3 ∗ x + 2.
Inne operacje symboliczne na wielomianach:
• rem(W1,W2,x,’q’) - zwraca resztę z dzielenia dwóch wielomianów W1 i W2
jednej zmiennej x. Podobnie jak wyżej parametr q jest opcjonalny i jego
użycia działa analogicznie.
• Sort(W1) - sortuje wielomian W1 wg stopnia.
5.2
Różniczkowanie i całkowanie
Do znajdowania pochodnych i całkowania funkcji obliczenia symboliczne są
o wiele lepsze od numerycznych, wyniki są znacznie dokładniejsze, pozbawione
błędów jakimi obarczone są obliczenia numeryczne. Do wyznaczenia pochodnej
z funkcji f zmiennej x uzywamy funkcji diff(f,x), np:
> dif f (sin(x
2
), x);
2cos(x
2
)x
Z kolei int(f,x) oblicza całkę wyrażenia f, będącego funkcją zmiennej x, np:
> int(exp(x) + cos(x), x);
exp
x
+ sin(x)
Całkę oznaczona wyznaczamy dodając przedział całkowania [a,b] w sposób
x=a..b:
> int(exp(x) + cos(x), x = 0..2);
−1 + e
2
+ sin(2)
5.3
Rozwiazywanie równan i układów równan
Maple ma wbudowana funkcje solve() umożliwiającą rozwiązanie równań..
Wyznacza ona symboliczne rozwiazanie danego równania. Dla równań stopnia
wyższego niż 3 znajdowanie rozwiązań w sposób numeryczny przestaje być już
możliwe. Przykład: ustalając równania r1,r2,r3:
> r1 := x + y + z = 6;
> r2 := z − y = 8;
> r3 := (x + 3 ∗ z) = −10 ∗ y;
znajdujemy rozwiązanie wywołując solve() w nastepujacy sposób:
> solve(r1, r2, r3, x, y, z);
x = 2, y = -2, z = 6
6
Wykresy
Po krótkim przybliżeniu powyższych funkcji dotyczących rachunku symbolicznego
i numerycznego czas przedstawić graficzne możliwości. Do rysowania wykresów
funkcji służą polecenia plot() dla funkcji jednej zmiennej i plot3d() - dla funkcji
dwóch zmiennych.
6.1
Plot()
Najprostszy przykład użycia plot():
> f := x− > exp(x);
> plot(f (x), x = −2..2);
Funkcje plot można wywoływać z parametrami po przecinkach w sposób
plot(f(x),x=-2..2,parametr1=wartosc1,parametr2=wartosc2,...) Przykłady parametrów:
Rysunek 4: Przykład użycia plot
• axes - ustawienie osi. ”typ” moze byc
– frame (z dołu i z lewej strony),
– boxed (wokół),
– normal (posrodku),
– none (bez osi).
• color - ustawienie koloru wykresu (aauamarine, black, blue, navy. coral,
cyan, brown, gold, green, gray, grey, khaki, magenta, maroon, orange, pink,
plum, red, sienna, tan, turquoise. violet, wheat, white, yellow;)
• coords – ustawienie układu współrzednych, w którym ma byc wykres, np:
– cartesian (prostokatny),
– polar (biegunowy),
– logarithmic (logarytmiczny);
Jeśli chcemy nanieść więcej funkcji na jeden wykres wystarczy wpisać je w
nawiasy klamrowe po przecinkach:
> plot(sin(x), cos(x), x = 0..2 ∗ P i);
Rysunek 5: Przykład plot() dla dwóch funkcji
Jeżeli chcemy każdej funkcji nadać osobne atrybuty to należy zapisać je
w nawiasach kwadratowych po przecinku, np. color=[red, green]. Rysowanie
punktów odbywa się poprzez wywołanie plot() ze współrzędnymi w postaci
[[x1,y1], [x2,y2], ...], a następnie po przecinku należy zaznaczyć, że chodzi jedynie
o punkty: style = point.
> plot([[1, −1], [2, −0.5], [3, −0.7], [4, 0], [5, 1], [6, 1.5], [7, 1]], style = point);
Rysunek 6: Przyklad plot() rysującej punkty
Usunięcie „style = point” spowoduje wykreślenie krzywej łączącej dane punkty.
6.2
Plot3d()
W wykresach funkcji dwóch zmiennych postępuje się analogicznie jak plot(),
np.:
> plot3d([1, x, y], x = 0..2 ∗ P i, y = 0..2 ∗ P i, coords = toroidal(10));
Rysunek 7: Przykład działania plot3d()
Wykresy wygenerowane przez plot3d() możemy obracać wokół każdej osi.
Pozostałe funkcje graficzne znajdują się w dwóch bibliotekach: plots i plottools.
Pakiet Maple udostępnia eksportowanie grafiki do wielu formatów graficznych
(BMP, CHAR, CPS, DXF, GIF, HPGL, JPEG, PCX, EPS, POV, TEK, WMF,
X11).
7
Programowanie w Maple
W programie Maple podstawowe konstrukcje są zbliżone do występujących w
większości języków programowania, ciekawą różnicą jest na przykład nietypowe
zamykanie bloków poleceń (dla if – fi, dla do – od). W tym punkcie przeanalizujemy
konstrukcję wyrażeń warunkowych, pętli i procedur.
7.1
Wyrażenie warunkowe IF
if WARUNEK1 then POLECENIE1
elif WARUNEK2 then POLECENIE2
...
else OSTATNIE POLECENIE
fi;
7.2
Pętle
• Petla for/from/by/do/od to odpowiednik tak dobrze znanej choćby z Javy
czy C++ pętli for :
for ZMIENNA from POCZATEK by KROK to KONIEC
do POLECENIA od;
• Innym przykładem jest pętla for/from/by/while/do/od
for ZMIENNA from POCZATEK by KROK
to KONIEC while WARUNEK do POLECENIE od;
rózniąca się od poprzedniej tym, że poleenia są wykonywane dopóki spełniony
będzie WARUNEK.
• Pętla warunkowa while/do/od
while WARUNEK do
POLECENIE
od;
to odpowiednik znanych między innymi z C++ i Javy pętli while.
• I ostatnia pętla for/in/do/od
for ZMIENNA in WYRAZENIE do
POLECENIE
od;
Przydatnymi poleceniami w pętlach są:
• next – przechodzi do następnego kroku pętli ignorując pozostałe polecenia
w bierzącym.
• break - przerywa wykonywanie pętli.
7.3
Procedury
W pakiecie Maple procedury tworzymy w następujący sposób:
NAZWA PROCEDURY:=proc(PARAMETR1::typ,PARAMETR2::typ,...)
polecenia
Od;
Domyślnie procedury zwracającą ostatnią obliczoną wartość, możemy jednak
wcześniej zakończyć działanie procedury uzywając polecenia return. Użytecznym
poleceniem jest error(komunikat), który przerywa wykonywanie procedury i informuje
użytkownika o napotkanym błędzie. Wywołanie tej procedur odbywa sie tak
samo jak w przypadku funkcji wbudowanych, czyli nazwa procedury(parametr1,parametr2,..).
8
Korzystanie z Pomocy
Funkcjonalność pakietu Maple jest znacznie szersza niż zostało to przedstawione.
W celu uzyskania dodatkowych informacji dotyczących funkcji, należy przed
nazwą funkcji umieścić znak zapytania „?” w sposób ?nazwa funkcji, np.:
>?int
W wyniku czego otworzy się okno:
int - Definite and Indefinite Integration
Calling Sequences
int(expression, x)
int(expression, x = a..b)
Parameters
expression - algebraic expression; integrand
x - name; variable of integration
a,b - endpoints of interval on which integral is taken
Description
...
9
Współpraca Maple z innymi programami
Pod względem współpracy z innymi programami Maple jest bardzo elastyczny.
Funkcje mogą być wywoływane z zewnętrznych bibliotek, importowane z Matlaba,
Maple nie ogranicza się jedynie programowania we własnym języku. Wspomniana
już możliwość generowania kodu w Fortranie, C i Javie okazuje się bardzo użyteczna
– użytkownik nie musi implementować całości potrzebnego kodu.
Dzięki Maple możemy w łatwy sposób stworzyć przejrzyste prezentacje. Umieszczane
w programie komentarze mogą posłużyć w póż niejszym czasie do tworzenia
publikacji, można eksportować je do róznych formatów takich jak: MathML 2.0,
HTML i XML, TEX, MS Word.
Maple działa pod różnymi systemy operacyjnymi, między innymi pod Windowsem
i dystrybucjami Linuxa.
10
Podsumowanie
Programistom Maplesoftu udało stworzyć się pakiet niezwykle użyteczny i
funkcjonalny. Na początku ściśle symboliczny wyewoluował do pakietu rozwiązującego
zarówno zaawansowane problemy matematyczne korzystając z rachunku symbolicznego,
jak i przeprowadzającego obliczenia numeryczne z bardzo dużą dokładnością.
Atutem Mapla jest nie tylko szeroka gama funkcji pomagających w obliczeniach,
możliwość ciekawej i różnorodnej wizualizacji wyników wizualizacji. Pakiet bardzo
dobrze sprawdza się w rozwiązywaniu zadań z dziedziny algebry wyższej, analizy,
kombinatoryki, statystyki a także fizyki, ekonomii i wielu innych.
Kolejnym plusem Mapla jest niewątpliwie możliwość sporządzania zaawansowanych
opracowań naukowych i artykułów, poprzez współpracę z Latexem i Wordem.
GUI jest przyjazne dla użytkownika, obsługa prosta, intuicyjna. Trudne na pierwszy
rzut oka problemy mogą być bardzo szybko rozwiązane, wbrew pozorom nie
wymaga to dogłębnego poznania pakietu. Nie należy bać sie wyzwań, Maple jest
przyjaznym dla użykowników pakietem, dobrze zorganizowany HELP oferuje
szybką pomoc.
Konkludując, Maple uwalnia użykownika od dokonywania żmudnych i narażonych
na pomyłki przekształceń, nie trzeba bać się o błędy w obliczeniach, dzięki czemu
całą uwagę można skupić na istocie problemu.
References
1. http://www.maplesoft.com/
2. http://www.cyf-kr.edu.pl/uslugi obliczeniowe/
3. The Maple Book by Frank Garvan
4. Introduction to Maple by Andr´
e Heck
5. Maple Via Calculus: a tutorial approach by Robert J. Lopez - 1994