dh-Materialien
Einführung in Maple    
 

Hinweise zur Funktionsweise von Maple


 

 

Benutzeroberfläche von Maple nach oben

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.

Seit der Version 9 gibt es neben dem Classic Worksheet Maple das Java-basierte Maple Standard. Die Standardversion von Maple bietet eine komfortablere Oberfläche, ist aber - abhängig von der Programmversion und von den Eigenschaften Ihres Computers - möglicherweise langsamer als die klassische Variante. 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 zur Zeit neueste Programmversion ist Maple 2017. Die hier vorgestellten Übungen und Anwendungen sind (fast) ohne Einschränkungen geeignet ab Maple 8. Die meisten dieser Übungen funktionieren auch mit älteren Maple-Versionen.

    Unter Maple 9.5 bis Maple 2017 abgespeicherte Standard Worksheets lassen sich mit Maple 8 (oder noch älteren Programmversionen) nicht öffnen! Mit unter Maple 9.5 bis Maple 2017 abgespeicherten Classic Worksheets ist dagegen die Abwärtskompatibilität (mit gewissen Einschränkungen) gegeben.

Classic Worksheets

Die folgende Abbildung zeigt das typische Aussehen eines Classic Worksheets. Classic-Worksheets (verfügbar unter Windows und UNIX) haben das von früher gewohnte Aussehen und benötigen weniger Speicherplatz.

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 Cursor (|) irgendwo in der betreffenden roten Zeile steht und die ENTER-Taste gedrückt wird.

 Classic Worksheet

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.

Standard Worksheets

Die nächsten Abbildungen zeigen Standard Worksheets, das erste im sogenannten Dokument-Modus, das zweite im Worksheet-Modus.

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.

Document Mode

Worksheet Mode

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.


 

Ein- und Ausgaben nach oben

Beispiel:

> y:= 3 + 5;

8

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.
Anschließend wird das Rechenergebnis als Maple-Ausgabe (Maple Output) in blauer Schrift angezeigt.

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.

Kontext-sensitive Menüs

Wenn man mit der rechten Maustaste auf ein von Maple erzeugtes Objekt oder einen Ausdruck klickt, öffnet sich ein kontext-sensitives Menü. Die dort angebotenen Aktionen sind abhängig von den Eigenschaften des jeweiligen Objektes. Einen Funktionsterm kann man beispielsweise differenzieren (Differentiate), und zwar einfach per Mausklick (Clickable Math).

Beispiel:

differentiate

Maple Worksheet

Arbeitet man mit der Standardversion von Maple im Dokument-Modus, so hat das entsprechende Worksheet das folgende Aussehen:

Maple Worksheet

Verbundanweisungen

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

y:= 5   z:= 7

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:

> y:= x^2

y:= x2

> 3*%^2;

3x4

Rechenergebnisse

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

Beispiele:

> sqrt(6);

sqrt(6)

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

2*sqrt(3)/3, -2*sqrt(3)/3

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

> evalf (sqrt(6));

2.449489743

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(x^2); nicht das Ergebnis x liefert. Maple „weiß“ natürlich, dass dieses Ergebnis nur dann richtig ist, wenn man zuvor annimmt, dass x eine nicht-negative reelle Zahl ist.

> sqrt(x^2);

sqrt(x^2)

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

x~

Die angehängte Tilde (~) zeigt an, dass für die Variable x 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:

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

2*I
undefined

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

lsg

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

Sum(a^2,a = 1 .. 100)

338350

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

Int(1/x,x = 1 .. 2)
ln(2)

Der vordefinierte Bezeichner für die Kreiszahl ist Pi (und nicht pi).

Die Rechengenauigkeit wird durch den Wert der Umgebungsvariablen Digits festgelegt (nicht digits).

> Digits:= 20;
  evalf (Pi);

3.1415926535897932385


 

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 int(sin(x),0,Pi) :

Anklicken des entsprechenden Integralsymbols in der Expression-Palette (in Maple 18 findet man dieses Symbol in der Calculus-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);

268435448


 

Darstellung der Maple-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.

Beispiel:

> interface (displayprecision = 3):
  evalf (Pi);
  z:= %*100000;

> interface (displayprecision = 7):
  z;

  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
 



 

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+F1) klicken.


 Home   Back   Top