This is documentation for Mathematica 4, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

 Documentation /  Mathematica /  Das Mathematica Buch /  Eine praktische Einführung in Mathematica /  Dateien und externe Operationen /

Mathematica-Ausgabe in externe Dateien einbindenMathLink

1.11.10 Ausführen externer Programme

Obwohl vieles allein mit Mathematica sehr gut gemacht werden kann, gibt es dennoch einiges, das zweifellos besser von externen Programmen erledigt wird. Mit Mathematica können Sie die externen Programme kontrollieren oder die von ihnen erzeugte Ausgabe analysieren.

Auf den meisten Computersystemen ist es möglich, externe Programme direkt von Mathematica aus ausführen zu lassen. Mathematica kommuniziert mit den externen Programmen über Interprozeß-Kommunikationsmechanismen, wie zum Beispiel Unix-Pipes.

In den einfachsten Fällen besteht die einzige von Ihnen benötigte Kommunikation darin, reinen Text zu senden und zu empfangen. Sie können Eingabe in Mathematica vorbereiten und diese dann als Standard-Eingabe an das externe Programm übergeben. Sie können auch die Standard-Ausgabe des externen Programmes nehmen und sie als Eingabe für Mathematica verwenden.

Im allgemeinen erlaubt Ihnen Mathematica, mit externen Programmen ausgetauschte Datenströme genauso wie Dateien zu behandeln. Anstelle des Dateinamens geben Sie die externe Anweisung zur Ausführung, mit vorangestelltem Ausrufezeichen.

Einige Methoden zur Kommunikation mit externen Programmen

Dies füttert den Ausdruck x^2 + y^2 als Eingabe für die externe Anweisung lpr, die bei einem typischen Berkeley Unix-System die Ausgabe an einen Drucker schickt.

In[1]:= x^2 + y^2 >> "!lpr"

Wird in einer textorientierten Benutzeroberfläche am Anfang einer Zeile ! gesetzt, so wird der Rest der Zeile als eine externe Anweisung ausgeführt. squares ist ein externes Programm, das Zahlen und deren Quadrate druckt.

In[2]:= !squares 4

Dies führt die externe Anweisung squares 4 aus und liest dann Zahlen aus deren Ausgabe.

In[3]:= ReadList["!squares 4", Number, RecordLists->True]

Out[3]=

Mathematica-Ausgabe in externe Dateien einbindenMathLink