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

  • Gnomogramm
  • Programm-Code übersichtlich formatieren
    Manchmal reicht es nicht aus, Quelltext korrekt kompilieren zu können. Dieser Artikel zeigt, wie Sie mit Hilfe von Highlight Programm-Code ansehnlich und übersichtlich formatieren und weiterverwenden.
  • Opera 5.0 unter Linux
    Traurig aber wahr: Linux-Anwender werden noch ein Weilchen auf die Java-Unterstützung in Opera warten müssen. Trotzdem ist der Browser unter Linux eine Alternative. Wir haben uns das Programm in der endgültigen Version 5.0 angesehen.
  • out of the box
    Schreiben Sie gelegentlich Shell-Skripte, in denen Sie Benutzereingaben abfragen wollen? Das Tool dialog stellt Ihnen vielfältige Eingabemechanismen zur Verfügung.
  • Mit YAD komfortable Dialoge für Shell-Skripte schreiben
    Moderne Dialog-Programme bieten mehr als nur ein schnelles Eingabefenster für Daten. YAD verfügt über nicht weniger als ein Dutzend Grundfunktionen.
Kommentare

Infos zur Publikation

LU 01/2015: E-Books im Griff

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

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 3 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...
ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.