Anwendungen

100% Pure Ahorngrips

Kaum ein halbes Jahr auf dem Markt, bietet die Mathematik-Software Maple in Version 8 nicht nur die neue "Maplet"-Technologie als Standardpaket, sondern zeigt auch, dass sie sich nicht nur an Mathematiker wendet. Während Fachzeitschriften reihenweise die neuen mathematischen Funktionen auflisten, wollen wir hier aufzeigen, was sich hinter Maplets verbirgt und was alles im Internet auf die verschiedenen Anwender wartet.

Neben den von Herstellern als "evolutionär" bezeichneten Neuerungen in Maple-Version 8, die sich tatsächlich eher an den (mehr oder weniger fortgeschrittenen) Studenten einer naturwissenschaftlichen/mathematischen Disziplin wendet, versucht Maple besonders mit den "revolutionären" Neuerungen, anwenderfreundlich zu werden. Das merkt man schon bei der Handhabung der vielen neuen Möglichkeiten, die man nun auch schon mit wenigen Mausklicks erreicht – insbesondere der Bereich der 2D- und 3D-Grafiken läuft mit dem so genannten Plot-Builder sehr einfach ab, da sich dort viele Parameter vor der Grafikerstellung bequem einstellen lassen (siehe Abbildung 1). Auch der neue Java-basierte Weg, die Software mit dem Produkt Install Anywhere der Firma "Zero G" zu installieren, funktioniert problemlos und ist noch bequemer als der sonst oft übliche Linux-Dreisatz configure/make/make install, ja: sogar bequemer als das bei Windows übliche Setup. Was aber für den Anwender über alle Maße positiv ist, ist die Erfindung der Maplets.

Abbildung 1: Plot-Builder

Eine gute Idee

Mit der neuen Maplet-Technologie kann der Anwender ganze grafische Oberflächen und (geschachtelte) Dialoge für seine Anwendungen selbst gestalten und entwickeln. Dem Ganzen liegt eine geniale Geschäftsidee zu Grunde: Der Benutzer braucht zwar Maple, um seine Oberfläche nutzen zu können, er wird aber nicht in die Pflicht genommen, in der Maple-eigenen Sprache oder Java, auf denen die Oberflächen basieren, irgend welche Kenntnisse besitzen oder gar zu programmieren. Damit richten sich die Maplet-Erfinder gerade an Nichtprogrammierer, die sich einfache Anwendungen aus dem Internet herunterladen oder sofort loslegen wollen.

Darüber hinaus wurden die Maplets in sauberen Schichten erschaffen (siehe Abbildung 2) – das bedeutet, dass ein Designer von Maplets zwar in Berührung mit der Maple-Sprache kommt, hier aber die funktionsgewaltigen Bibliotheken nutzen kann und dabei von Java nichts wissen muss.

Abbildung 2: Schichten der Maplet-Programmierung

Dass die Maplet-Erstellung trotzdem auch dem ungeübten Programmierer zugänglich ist, soll ein kleines "Hallo-Welt"-Beispiel zeigen, welches eine einfache Box öffnet, in die ein Text eingegeben werden kann und die durch Drücken eines Knopfes wieder verlassen wird (siehe Kasten 1 und Abbildung 3).

Abbildung 3: Schichten der Maplet-Programmierung

Kasten 1: "Hallo Welt!"-Maplet

> # Für Maplets muss zuvor ein Basispaket geladen werden.
> # Beim Laden des entsprechenden Unterpakets werden
> # die vielen verfügbaren Funktionen sichtbar.
> with(Maplets[Elements]);
  [Action, AlertDialog, Argument, BoxCell, BoxColumn, BoxLayout,
        BoxRow, Button, ButtonGroup, CheckBox, CheckBoxMenuItem,
        CloseWindow, ColorDialog, ComboBox, ConfirmDialog,
        DropDownBox, Evaluate, FileDialog, Font, GridCell, GridLayout,
        GridRow, Image, InputDialog, Item, Label, ListBox, Maplet,
        MathMLEditor, MathMLViewer, Menu, MenuBar, MenuItem,
        MenuSeparator, MessageDialog, Plotter, PopupMenu,
        QuestionDialog, RadioButton, RadioButtonMenuItem, Return,
        ReturnItem, RunDialog, RunWindow, SetOption, Shutdown, Slider,
        Table, TableHeader, TableItem, TableRow, TextBox, TextField,
        ToggleButton, ToolBar, ToolBarButton, ToolBarSeparator,
        Window]
> # Das "Hallo Welt"-Maplet definieren
> HalloWeltMaplet:=Maplet([
    # Das Maplet definiert zuerst eine Zeichenkette und darauf
    # eine Eingabebox, in der ein Text editiert werden kann.
    ["Textfeld: ",TextField['TF']()],
    # Schließlich noch ein Knopf, der das Shutdown-Kommando aufruft,
    # mit dem das Maplet wieder verlassen und geschlossen wird.
    [Button("Fertig",Shutdown(['TF']))]
    ]):
> # Der Aufruf des Maplet mit Ausgabe
> Maplets[Display](HalloWeltMaplet);
                    ["Eine Texteingabe im Maplet"]

Dieses Beispiel verdeutlicht, wie schon ein einfacher Einzeiler grafische Anwenderdialoge entstehen lässt. Ein zweites Beispiel zeigt, dass man auch mit vertretbarem Aufwand das aus der Schulzeit bekannte (lästige?) Thema Kurvendiskussion auf wenige Mausklicks reduzieren kann (siehe Kasten 2 und Abbildung 4).

Abbildung 4: Kurvendiskussion-Maplet

Kasten 2: Kurvendiskussion-Maplet

> KurvendiskMaplet:=Maplet(
     # Zuerst das Maplet in ein Fenster einbetten; so lassen sich weitere
     # Funktionen wie z. B. eigene Titelleisten definieren.
     Window('title'="Kurvendiskussion",[
     ["Eine Funktion in x: ",TextField['FKT']()],
     # Beim Drücken des ersten Knopfs wird die erste Ableitung berechnet.
     # Dazu wird die Maple-eigene Funktion diff verwendet.
     # Die Ableitung wird über die Funktion TextBox als gewöhnlicher
     # Text ausgegeben.
     [Button("1. Ableitung: ",Evaluate('FFKT' ='eval(diff( FKT,x))')),
              TextBox['FFKT']('editable'='false')],
     # Beim Drücken des zeiten Knopfs wird die Ableitung der Ableitung berechnet
     # (Referenz auf die Variable FFKT). Über die Funktion MathMLViewer
     # wird das Ergebnis schön aufbereitet.
     [Button("2. Ableitung: ",Evaluate('FFFKT'='eval(diff(FFKT,x))')),
              MathMLViewer['FFFKT']()],
     # Zur Kurvendiskussion gehören noch die Nullstellen. Mit der
     # Maple-Funktion solve ist dies kein Problem.
     # Diese wandern wieder in eine Textbox.
     [Button("Nullstellen der Funktion: ",Evaluate('R0'='solve({'FKT'})')),
              TextBox['R0']('editable'='false')],
     # Die Nullstellen der Ableitung werden wieder mit MathMLViewer dargestellt.
     [Button("Nullstellen der Ableitung: ",Evaluate('R1'='solve({'FFKT'})')),
              MathMLViewer['R1']()],
     [Button("Fertig",Shutdown())]
    ])):

Eine weiter führende Anleitung mit leichten Beispielen findet man unter [4]. Dort wird Schritt für Schritt in das Thema Maplets eubgeführt, so dass sich schon sehr schnell die ersten Erfolge zeigen.

Mathematik 5? Kein Problem!

Doch auch Nichtmathematiker kommen auf ihre Kosten, wobei sich das Internet als Quelle vieler Anwendungen präsentiert. So lassen sich z. B. unter [1] Anwendungen für Chemiker, Biologen, Wirtschaftswissenschaftler, Controller, Mechaniker, Ingenieure, Prozessdesigner, Statiker, Informatiker etc. herunterladen. Die Abbildungen 5 bis 8 zeigen einige Beispiele aus den Bereichen Neuronale Netze, Operation Research und Chemie.

Abbildung 5: Neuronales Netz Maplet
Abbildung 6: Operation Research Maplet
Abbildung 7: Periodensystem-Maplet
Abbildung 8: Element Platin Maplet

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 12/2016: Neue Desktops

Digitale Ausgabe: Preis € 5,99
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Drucker Epson XP-332 unter ubuntu 14.04 einrichten
Andrea Wagenblast, 30.11.2016 22:07, 2 Antworten
Hallo, habe vergeblich versucht mein Multifunktionsgerät Epson XP-332 als neuen Drucker unter...
Apricity Gnome unter Win 10 via VirtualBox
André Driesel, 30.11.2016 06:28, 2 Antworten
Halo Leute, ich versuche hier schon seit mehreren Tagen Apricity OS Gnome via VirtualBox zum l...
EYE of Gnome
FRank Schubert, 15.11.2016 20:06, 2 Antworten
Hallo, EOG öffnet Fotos nur in der Größenordnung 4000 × 3000 Pixel. Größere Fotos werden nic...
Kamera mit Notebook koppeln
Karl Spiegel, 12.11.2016 15:02, 2 Antworten
Hi, Fotografen ich werde eine SONY alpha 77ii bekommen, und möchte die LifeView-Möglichkeit nu...
Linux auf externe SSD installieren
Roland Seidl, 28.10.2016 20:44, 1 Antworten
Bin mit einem Mac unterwegs. Mac Mini 2012 i7. Würde gerne Linux parallel betreiben. Aber auf e...