Home / LinuxUser / 2003 / 05 / Anwendungen

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Aufmacher Artikel

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

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

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

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

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

Abbildung 5: Neuronales Netz Maplet

Abbildung 6

Abbildung 6: Operation Research Maplet

Abbildung 7

Abbildung 7: Periodensystem-Maplet

Abbildung 8

Abbildung 8: Element Platin Maplet

Tip a friend    Druckansicht Bookmark and Share
Kommentare

1285 Hits
Wertung: 128 Punkte (9 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...