dh-Materialien
Einführung in Maple    
 

Hinweise

 
  Benutzeroberfläche von Maple

Hauptkomponente der grafischen Benutzeroberfläche von Maple ist das jeweilige Worksheet, in dem interaktiv gearbeitet wird. Es erscheint als Fenster, in das Rechenanweisungen (Maple-Inputs) eingetragen werden. Die Maple-Engine interpretiert diese Anweisungen und liefert entsprechende Ausgaben (Maple-Outputs) zurück.

Neben der Standardversion von Maple gibt es noch die klassische Variante (Classic Worksheet Maple) für ältere Computer mit einem 32bit-Windows-Betriebssystem. Aufgrund dieser zwei Varianten gibt es auch zwei unterschiedliche Arten, Worksheets zu speichern. Man unterscheidet Standard-Worksheets (Dateiendung: mw) und Classic-Worksheets (Dateiendung: mws).

Die hier vorgestellten Übungen und Anwendungen sind (fast) ohne Einschränkungen bereits geeignet ab Maple 8. Ab Maple 14 ist es möglich, zusammen mit anderen Maple-Nutzern auf Worksheets gemeinsam zuzugreifen (MapleCloud). Hierbei kann man eigene Ressourcen allen Maple-Nutzern weltweit oder aber nur den Mitgliedern bestimmter Arbeitsgruppen zur Verfügung stellen. Derartige Arbeitsgruppen kann jeder Nutzer von Maple kreieren und verwalten.

Die folgende Abbildung zeigt ein Standard-Worksheet im Worksheet-Modus. Die Zeilen in roter Farbe (beginnend mit dem Eingabezeichen ">" ) heißen Befehlszeilen und beinhalten meist eine Rechenanweisung (Maple Input). Diese Anweisung wird ausgeführt, wenn der Textcursor irgendwo in der betreffenden roten Zeile steht und die ENTER-Taste gedrückt wird.

Worksheet Mode

Die Anweisung restart; löscht alle Einträge im Speicher von Maple. Das bedeutet, dass nach einem Restart die Situation so ist, als ob noch keine Rechenanweisung ausgeführt worden wäre.

    Vor dem Ausführen der Rechenanweisungen eines neuen Maple-Arbeitsblattes sollte immer ein Restart durchgeführt werden.

Die nächste Abbildung zeigt ein Standard-Worksheet im Dokument-Modus:

Document Mode

Bei Standard-Worksheets kann man unter Tools -> Options... -> Display selbst entscheiden, in welcher Art die Eingaben (zum Beispiel Maple Notation oder 2-D Math Notation) bzw. Ausgaben (zum Beispiel 2-D Math Notation, Maple Notation oder Character Notation) im Editorfenster erscheinen sollen.

  Ein- und Ausgaben nach oben

Beispiel:

> y:= 3 + 5;

y8 

In diesem Beispiel wird - nachdem die ENTER-Taste gedrückt worden ist - die Summe der Zahlen 3 und 5 berechnet und der Summenwert 8 der Variablen y zugewiesen.

Endet eine Rechenanweisung nicht mit einem Strichpunkt, sondern mit einem Doppelpunkt, so führt Maple diese Anweisung zwar aus, es erfolgt aber im Allgemeinen keine Ausgabe auf dem Bildschirm.

Maple-Arbeitsblätter werden „aktiv“ gemacht, indem die Befehlszeilen der Reihe nach mit der ENTER -Taste bestätigt werden. Alternativ hierzu kann man auch oben in der Symbolleiste die folgende Schaltfläche anklicken: Execute the entire worksheet

    Wird eine Rechenanweisung geändert, so werden die Änderungen erst dann wirksam, wenn die neue Rechenanweisung mit ENTER bestätigt wird.

Clickable Math

Mathematische Ausdrücke können per Mausklick bearbeitet bzw. ausgewertet werden. Hierzu werden im Context Panel zahlreiche Optionen angeboten. (Das Context Panel ersetzt ab Maple 2018 die kontext-sensitiven Menüs der vorherigen Maple-Versionen.) Einen Funktionsterm kann man beispielsweise per Klick differenzieren (Differentiate):

differentiate
Maple Worksheet

Verbundanweisungen

Rechenanweisungen können im Verbund (Execution Group) ausgeführt werden:

> x:= 2:
  y:= 5;
  s:= x + y;

hw2 

Verbundene Rechenanweisungen werden erzeugt mit der Tastenkombination SHIFT+ENTER nach jeder einzelnen Anweisung innerhalb des Verbundes.

Der Prozentoperator

Der Prozentoperator % ist ein Platzhalter für das zuletzt von Maple berechnete Rechenergebnis (nicht unbedingt für die davor stehende Maple-Ausgabe!).

Beispiel:

> a^2;

hw3 

> 3*%^2;

hw4 

Rechenergebnisse

Maple gibt Rechenergebnisse oder etwa die Lösungen von Gleichungen (sofern möglich) in symbolischer Form aus.

Beispiele:

> sqrt(6);

hw5 

> solve(3*z^2-4 = 0, z);

hw6 

Interessiert man sich für Ausgaben in numerischer Form, ist der Rechenbefehl evalf zu benutzen (evaluate using floating-point arithmetic):

> evalf(sqrt(6));

2.4494897430

Es lässt sich insbesondere am solve-Befehl demonstrieren, dass man niemals Rechenergebnisse eines Computeralgebrasystems gedankenlos und ungeprüft akzeptieren sollte (vgl. Bestimmen von Nullstellen). Eine Rechenanweisung wird von den Maple-Algorithmen unter Umständen völlig anders verarbeitet als von einem mathematisch ausgebildeten (und vielleicht kreativen) Menschen. Das bedeutet, dass die Resultate von Rechenanweisungen den eigenen Erwartungen manchmal nicht entsprechen. Da jede hinreichend komplexe Software nie fehlerfrei sein kann, muss man darüberhinaus bei genügend komplexen Aufgabenstellungen grundsätzlich immer auch mit Ausgabefehlern rechnen!

In der Regel ist es allerdings so, dass „falsche“ oder unverständliche Ausgaben auf fehlerhafte Eingaben oder nicht beachtete Randbedingungen zurückzuführen sind. Möglicherweise wundert sich jemand beispielsweise darüber, dass die Rechenanweisung sqrt(n^2); nicht das Ergebnis n liefert. Maple „weiß“ natürlich, dass dieses Ergebnis nur dann richtig ist, wenn man zuvor annimmt, dass n eine nicht-negative reelle Zahl ist.

> sqrt(n^2);

hw7 

> assume(n, nonnegative):
sqrt(n^2);

hw8 

Die angehängte Tilde (~) zeigt an, dass für die Variable n besondere Annahmen gelten. (Wenn man möchte, lässt sich die Ausgabe der Tilde unterdrücken.)

    Maple rechnet grundsätzlich im Komplexen!
Die Einschränkung auf reellwertige Rechnungen ist möglich.

Beispiele:

> sqrt(-4);
  with(RealDomain):
  sqrt(-4);

hw9

> restart;
lsg:= solve(16 = (-2)^z, z);
with(RealDomain):
lsg:= solve(16 = (-2)^z, z);

hw10 

Die Verwendung von solve veranlasst Maple dazu, die Nullstellen einer Funktion (ggf. auch mehrerer Funktionen) zu suchen. (−2)x ist im Komplexen ein wohldefinierter Funktionsterm und Maple findet anstandslos die Lösung(en) der Gleichung 16 = (−2)x, das heißt genauer: die Nullstellen der Funktion x −> (−2)x − 16. Versucht man dagegen im Reellen zu rechnen, muss Maple scheitern, denn x −> (−2)x − 16 ist auf den reellen Zahlen keine Funktion; der Variablen lsg wird kein Wert zugewiesen.

Kommentare

Kommentare werden mit einem vorangestellten # gekennzeichnet und werden von Maple nicht berücksichtigt.

> Anweisung; # Dies ist ein Kommentar.
 

  Groß oder klein? nach oben

In Rechenanweisungen muss die Groß- und Kleinschreibung beachtet werden!
Beispielsweise haben sum und Sum oder int und Int jeweils unterschiedliche Bedeutungen:

> Sum(a^2, a = 1..100);
sum(a^2, a = 1..100);

hw11 

> Int(1/x, x = 1..2);
int(1/x, x = 1..2);

hw12

Die Rechengenauigkeit wird durch den Wert der Umgebungsvariablen Digits festgelegt (nicht digits). Der Wert der interface-Variablen displayprecision bestimmt,  wieviele Nachkommastellen bei den folgenden numerischen Ausgaben angezeigt werden.

> interface(displayprecision = -1):
Digits:= 20;
0.1234567^2;
sin(0.01);
Digits:= 10;
0.1234567^2;

stichworte55

  Paletten nach oben

Zum Editieren der Rechenanweisungen können neben der Tastatur auch die Paletten (Expression, Units, Common Symbols, Matrix, Components, Greek, Arrows, Relational, Negated, Operators und andere) benutzt werden. Die Paletten ermöglichen die Eingabe einer Rechenanweisung ohne die genaue Syntax dieser Anweisung kennen zu müssen.

Beispiel: Berechnung des bestimmten Integrals π0sin(x) dx:

Anklicken des entsprechenden Integralsymbols in der Expression-Palette liefert die im folgenden Bild dargestellte Befehlszeile. Abgebildet ist hier ein Standard-Worksheet im Dokument-Modus.

Dokument-Modus

Ersetzen der Platzhalter a, b und f durch 0, π bzw. sin(x) liefert nach Bestätigen der Rechenanweisung mit ENTER das folgende Ergebnis:

Dokument-Modus

Wird ein Standard-Worksheet im Worksheet-Modus verwendet, so sieht das Ganze so aus:



 

  Packages nach oben

Maple (mathematical manipulation language) umfasst einen Kern häufig benutzter Standard-Rechenanweisungen und zusätzliche, zur Laufzeit mit dem with-Befehl ladbare Packages.

Beispielsweise gehören die Prozeduren point, triangle, coordinates und Equation zum Package geom3d.

Prozeduren von Packages können auf zwei Arten aufgerufen werden.

Möglichkeit 1:

> q:= 3*x^2 + 2*x + 4;
Student[Precalculus][CompleteSquare](q);

q := 3*x^2+2*x+4
q := 3*(x+1/3)^2+11/3 

Möglichkeit 2:

> with(Student[Precalculus]):
q:= 3*x^2 + 2*x + 4;
CompleteSquare(q);

q := 3*x^2+2*x+4
q := 3*(x+1/3)^2+11/3

Möglichkeit 1 empfiehlt sich, wenn eine Prozedur des jeweiligen Package nur einmal benötigt wird; Möglichkeit 2 wird man bevorzugen, wenn auf das jeweilige Package innerhalb des Worksheets mehrmals zugegriffen werden soll.

Im Folgenden sind einige der wichtigsten dieser insgesamt über hundert Packages aufgelistet:

CodeGeneration Tools für die Übersetzung von Maple-Code in C-, Fortran- oder Java-Code
combinat zum Lösen kombinatorischer Probleme
DEtools für das Rechnen mit Differentialgleichungen
geometry für die 2-dimensionale euklidische Geometrie
geom3d für die 3-dimensionale euklidische Geometrie
LinearAlgebra für die lineare Algebra
Logic für die zweiwertige Logik
Maplets für die Herstellung graphischer Benutzeroberflächen
numtheory für die Zahlentheorie
PDEtools für das Lösen partieller Differentialgleichungen
plots Grafikpaket
plottools für das Erzeugen und Verändern grafischer Objekte
RandomTools für die Arbeit mit Zufallsobjekten
RealDomain stellt einen reellwertigen Kontext her
ScientificConstants physikalische und chemische Konstanten
ScientificErrorAnalysis für die Fehlerrechnung
Statistics für die Statistik und die Analyse von Daten
Student spezielle Prozeduren für den Mathematikunterricht
VectorCalculus für die Vektoranalysis

Maplets-Package

Mit dem Maplets-Package ist es möglich, Maplet Applications (hier kurz Maplets genannt) zu programmieren. Maplets sind Java-basierte grafikorientierte Benutzeroberflächen, die unter anderem Fenster und Dialogelemente beinhalten. In der Standardversion von Maple lassen sich Maplets auch GUI-basiert mit dem Maplet Builder programmieren. Um Maplets unabhängig vom Maple-Programm benutzen zu können, benötigt man den Maple Application Viewer (mapleviewer.exe).


  Wie genau rechnet Maple? nach oben

Die Anzahl der Stellen, die beim Rechnen mit Gleitkommazahlen von Maple berücksichtigt werden, wird durch die Umgebungsvariable Digits bestimmt. Voreingestellter Wert: 10.
Mit der Anweisung kernelopts (maxdigits); erhält man den maximal möglichen Wert für Digits.

> kernelopts(maxdigits);

38654705646

  Darstellung der Ausgaben nach oben

Die Darstellung von Maple-Ausgaben auf dem Bildschirm bzw. beim Drucken kann durch bestimmte Variablen beeinflusst werden. Die Funktion interface dient dazu, die Werte dieser Variablen zu setzen bzw. zu bekommen.

    Die Anweisung restart; setzt alle interface-Optionen auf die voreingestellten Werte zurück.

Ist das Argument von interface von der Form name = value, dann wird der Variablen name der Wert value zugewiesen. Die Anweisung interface (name); liefert den aktuellen Wert der Variablen name zurück.

Im Folgenden wird die Bedeutung der interface-Variablen displayprecision und showassumed erläutert. Einen Überblick über alle interface-Optionen erhält man durch die Anweisung

> ?interface;

  displayprecision
  zulässige Werte: -1, 0, 1, 2, 3, ....


Mit displayprecision wird die Anzahl der anzuzeigenden Dezimalstellen bestimmt.
Voreingestellter Wert: -1. Die Anzahl der angezeigten Ziffern einer ausgegebenen Zahl entspricht dann dem Wert der Umgebungsvariablen Digits.

Beispiele:

> interface(displayprecision = 3):
evalf(Pi); # Pi (nicht pi) repräsentiert die Kreiszahl π.
z:= %*100000;
interface(displayprecision = 7):
z;

hw14 

  showassumed
  zulässige Werte: 0, 1, 2


Mit showassumed wird festgelegt, wie die Bezeichner derjenigen Variablen dargestellt werden, für die besondere Annahmen gelten sollen.
Voreingestellter Wert: 1. Die betreffenden Variablenbezeichner werden dann mit einer angehängten Tilde dargestellt. Die Anweisung interface (showassumed = 0); führt dazu, dass keine Tilde angezeigt wird.

Beispiel:

> assume(x, negative);
x;
   interface(showassumed = 0):
x;

x~
x

Seit Maple 11 gibt es die Möglichkeit, das Zahlenformat in Maple-Ausgaben zu beeinflussen. (Dies geht nur in der Standardversion von Maple, nicht in der Classic-Variante.)

Es gibt die Einstellungen None, Fixed, Currency, Scientific, Engineering, Percent und Custom.

Das Dialogfenster zum Ändern der Zahlenformatierung öffnet man durch Klicken auf Numeric Formatting im jeweiligen kontext-sensitiven Menü oder - beispielsweise bei Diagrammen - unter Format in der Menüzeile.

numeric formatting

Das Aussehen von Worksheets kann mit entsprechenden Einstellungen unter  Format > Style...  individuell verändert werden (Style Management). Alle getroffenen Einstellungen lassen sich nach getaner Arbeit unter  Format > Manage Style Sets...  als style set file speichern (Export Style Set...). Danach kann dieses User-definierte style set auf weitere Worksheets angewendet werden (Apply Current Style Set...).

  Hilfe! nach oben

Werden zu einem bestimmten Maple-Begriff zusätzliche Informationen benötigt, so kann man den Cursor (|) auf diesen Begriff setzen und danach mit der Maus auf Help > Help on ... (Strg+F2) klicken.