Einführung in Maple
1. Programmaufruf
-
Einloggen
in das Rechnersystem der Universität
-
Doppelklick auf das Maple V Symbol (Ahornblatt)
-
nach einiger Zeit erscheint der Maple-Prompt >
-
Verlassen des Programms mit >
exit; oder >
quit;
2. Interaktive Benutzung
> 1+1;
2
Maple-Befehle enden stets mit einem Strichpunkt.
> (x+1)^3;
(x+1)^3
Maple kann mit Formelsymbolen rechnen. Formeln
werden nicht automatisch expandiert.
> f := (x+1)^3;
> x := 2;
> f;
27
In Maple erfolgen Zuweisungen mit :=
Den Inhalt einer Variablen kann man ausgeben,
indem man nur ihren Namen und ;
eingibt.
> whattype(x);
integer
Den Datentyp einer Variablen kann man mit Hilfe
der eingebauten Funktion whattype(Variablenname)
erfahren.
3. Aufruf des Hilfesystems
-
Mit dem Befehl ?
kann das Hilfesystem aufgerufen werden.
-
Man kann auch in der Menüleiste "Hilfe" anklicken.
-
Mit dem Befehl ?
Stichwort
erhält man spezifische Hilfe zu "Stichwort"
4. Vordefinierte Pakete von Prozeduren
Solche Pakete können mit dem Befehl
> with(Paketname);
aktiviert werden. Wichtige Beispiele sind
-
combinat (Kombinatorik)
-
linalg
(Lineare Algebra)
-
stats
(Statistik)
-
student (Analysis
I + II)
Eine Liste aller verfügbaren Pakete erhält man mit ?
packages .
5. Abspeichern und Laden von Maple-Sitzungen
Der gesamte Ablauf einer Maple-Sitzung kann als *.mws Datei ("Maple Work
Sheet") gespeichert werden. Der zugehörige Befehl befindet sich im
Menü "file" bzw. "Datei". Eine *.mws Datei kann über dasselbe
Menü wieder eingelesen werden.
6. Datentypen
-
integer (ganze Zahlen beliebiger
Länge)
-
rational (rationale Zahlen)
-
float
("floating point numbers" als Näherung für reelle Zahlen)
-
string (Zeichenkette)
-
function (Prozedur)
-
boolean (hat nur die Werte true
oder false )
Den Datentyp einer Variablen kann man mit whattype(Variablenname)
feststellen.
Man kann ihn auch mit type(Variablenname,Datentypname)
prüfen, z.B.
> i := 1;
> type(i,integer);
true
7. Datenstrukturen
-
sequence a,b,c,a
(Folge von Elementen)
-
set
{a,b,c} (Menge von
Elementen)
-
list
[a,b,c,d] (Liste von Elementen)
-
array array[m..n]
(m=Untergrenze, n=Obergrenze)
-
table
-
record
Beispiel: (Anwendung eines Arrays)
> m := array[1..5];
> for i from 1 to 5 do m[i]:=i^3 od;
> eval(m);
[1,8,27,64,125]
Bei einem Array ist der Wert von m;
nur der Arrayname m .
Ausdrucken kann man den Inhalt eines Arrays mit dem Befehl eval(Arrayname);
Eine Liste ist eine Folge, die in [
] eingeschlossen ist. Auf das i-te
Element einer Liste kann man mit dem Auswahloperator ("selection operator")
zugreifen, z.B.
> L := [1,3,5,7];
> L[2];
3
An eine Liste
L kann man z.B. mit L
:= [op(L),x] das Element x
anhängen. Hierbei liefert op(L)
die Folge der Operanden von L
.
8. Maple-Programmierung
Eine Prozedur ist in Maple ein Objekt, auf das der Auswertungsoperator
(
) angewendet werden kann.
Beispiel: Definition einer Prozedur zur Berechnung
von Binomialkoeffizienten. Dabei soll die eingebaute Funktion für
die Fakultät verwendet werden.
> MyBinomial := proc(m,n)
z := factorial(m);
y := factorial(n)*factorial(m-n);
RETURN(z/y);
end;
Neue Zeilen bei der Eingabe kann man dabei mit <Shift>+<Enter>
erzeugen.
Die neue Funktion kann man dann folgendermassen aufrufen:
> MyBinomial(6,2);
15
9. Bedingte Verzweigungen und Schleifen
Eine bedingte Verzweigung des Programmablaufs erreicht man mit dem if-Befehl.
Seine einfachste Syntax lautet:
if LogischeBedingung
then Befehle fi;
Beispiel: Die folgende Funktion dient der rekursiven
Berechnung der Fakultät n!
> MyFactorial:=proc(n)
if n=0 then
RETURN(1) fi;
RETURN(n*MyFactorial(n-1));
end;
Es gibt auch eine Version mit einem else-Zweig:
if LogischeBedingung
then BefehleFallsBedingungTrue else BefehleFallsBedingungFalse
fi;
Einfache for-Schleifen werden erzeugt durch
for Variablenname from Untergrenze
to Obergrenze do Befehle
od;
Beispiel: Berechne die Summe
der ersten n Quadratzahlen.
> SquareSum := proc(n)
summe:=0;
for i from
1 to n do summe := summe + i^2; od;
RETURN(summe);
end;
Eine weitere sehr bequeme Version der for-Schleife
ist die folgende:
for Variablenname in Listenname
do Befehle od;
Ebenso gibt es while-Schleifen:
while
LogischeBedingung do Befehle
od;
Dabei werden die Befehle solange wiederholt bis
die logische Bedingung false
ergibt.
Letzte Änderung: 2.11.2000
<zurück
zur Vorlesung>
<zurück
zur Homepage von Martin Kreuzer>