Einführung in Maple

 

1. Programmaufruf

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

4. Vordefinierte Pakete von Prozeduren

Solche Pakete können mit dem Befehl
> with(Paketname);
aktiviert werden. Wichtige Beispiele sind

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

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

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  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>