100% Pure Ahorngrips

Anwendungen

01.05.2003
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
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

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

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 6 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...