ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

Octave

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

./octave_icon.png Octave {en} ist eine interaktive Skriptsprache zur Lösung von Problemstellungen aus dem Bereich der numerischen Mathematik. Die Syntax von Octave ist weitgehend mit der des bekannten proprietären Mathematikprogramms Matlab identisch. Octave kann auch komplexe Grafiken in 2D und 3D ausgeben. Zur grafischen Darstellung können verschiedene Funktionsplotter verwendet werden. Mit QtOctave ist eine einfache Entwicklungsumgebung für Octave verfügbar. Einsatzgebiete von Octave sind unter anderem:

  • Allgemeine Berechnungen mit Vektoren und Matrizen

  • Matrixoperationen wie Indizierung und Slicing, Bildung der Inverse, Zerlegungen und Eigenwerte

  • Lösung linearer Gleichungssysteme

  • Entwicklung und Simulation von regelungstechnischen Systemen

  • Datenauswertung und Darstellung der Ergebnisse in Diagrammform

Installation

Octave wird in kleineren, zeitlich oft relativ dicht aufeinander folgenden Schritten entwickelt. Daher gibt es häufig neue Versionen, bei denen sich jedoch oft nur Kleinigkeiten ändern. Man hat also selbst die Wahl entweder die Version aus den Ubuntu-Quellen zu benutzen, oder die neueste Version selbst zu kompilieren.

Installation aus den Ubuntu-Quellen

Um mit Octave arbeiten zu können, müssen folgende Pakete installiert [1] werden:

  • octave3.2 (universe)

  • octave3.2-doc (universe, optional, Dokumentation der Skriptsprache, liegt nach der Installation im Ordner /usr/share/doc/octave3.0-doc)

  • octave-epstk (universe, optional, Benötigt um EPS-Dateien zu erstellen)

  • gnuplot (universe, optional, Der Standard-Plotter Gnuplot für 2D- und 3D-Grafiken)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install octave3.2 octave3.2-doc octave-epstk gnuplot 

sudo aptitude install octave3.2 octave3.2-doc octave-epstk gnuplot 

PPA

Das aus den offiziellen Paketquellen stammende GNU Octave hinkt aufgrund der Veröffentlichungspolitik von Ubuntu - je nach eingesetzter Ubuntu-Version - immer etwas dem aktuellen Stand hinterher. Die folgende Anleitung beschreibt, wie GNU Octave vorzeitig durch eine aktuellere Version ersetzt werden kann.

Ubuntu 12.04 (LTS)

Um eine Version von GNU Octave aus einem "Personal Package Archiv" (PPA) zu installieren, muss zuerst eine zusätzliche Paketquelle aktiviert werden. Folgende Quelle kann hinzugefügt werden:

Adresszeile zum Hinzufügen des PPAs:

  • ppa:dr-graef/octave-3.6.precise

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen bietet die Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung vom Benutzer/Team dr-graef.

Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.

Nach der Aktualisierung der Paketquellen können die folgenden Pakete installiert werden:

  • octave (ppa)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install octave 

sudo aptitude install octave 

Octave selbst kompilieren

Wer die allerneueste Version von GNU Octave benutzen möchte, kann das Programm selbst kompilieren. Dazu müssen jedoch zunächst einige Pakete installiert werden:

  • libqhull-dev (universe)

  • libginac-dev (universe)

  • libhdf5-serial-dev (universe)

  • libfftw3-dev

  • gfortran

  • libumfpack5.4.0 (universe)

  • libreadline6-dev

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install libqhull-dev libginac-dev libhdf5-serial-dev libfftw3-dev gfortran libumfpack5.4.0 libreadline6-dev 

sudo aptitude install libqhull-dev libginac-dev libhdf5-serial-dev libfftw3-dev gfortran libumfpack5.4.0 libreadline6-dev 

Jetzt lädt man das Paket der neuesten (stabilen) Version von der Download-Seite {dl} herunter und entpackt [3] die Dateien ins Homeverzeichnis. Anschließend kann Octave kompiliert [4] werden.

Benutzung von Octave

Zwar findet man unter Lucid einen Starter für das Programm im GNOME-Menü unter "Anwendungen -> Entwicklung -> GNU Octave", selbiger öffnet jedoch lediglich ein Terminal, weil Octave standardmässig über die Kommandozeile ausgeführt wird, wo die entsprechenden Befehle direkt eingegeben werden. Nach einem Druck auf wird die soeben eingegebene Zeile sofort interaktiv verarbeitet und evtl. eine Ausgabe erzeugt. Es gibt jedoch auch die Möglichkeit, Octave über eine grafische Oberfläche zu verwenden. Diese bietet noch einige Zusatzfunktionen.

interaktiver Text-Modus

Das installierte Programm wird im Terminal [2] mit dem Befehl octave gestartet. Bei der Arbeit in diesem interaktiven Modus wird jeder Befehl einzeln eingegeben und das Ergebnis wird sofort angezeigt.

In folgendem einfachen Beispielaufruf wird eine Matrix und ein Vektor definiert und anschließend eine Multiplikation durchgeführt:

octave:1> A = [1 3 5; 2 4 6; 7 8 1];
octave:2> b = [0.5; 3.5; 7];
octave:3> c = A*b
c =

   46.000
   57.000
   38.500 

Die genaue Anweisungs-Syntax und viele hilfreiche Berechnungsbeispiele finden sich in den Links. Aufgrund der hohen Kompatibilität kann aber auch jedes MATLAB Buch hilfreich sein.

Erstellung und Aufruf von Skripten

Bei größeren Berechnungen ist es meist sinnvoller, die Befehle in einer Textdatei abzuspeichern, anstatt alles manuell einzugeben. Diese Skripte haben sowohl unter Matlab als auch bei Octave die Endung .m und können direkt aus dem interaktiven Modus von Octave oder z.B. mit einem Editor aufgerufen werden.

Dazu muss Octave allerdings im Verzeichnis des Skripts gestartet sein, oder das Arbeitsverzeichnis von Octave manuell mit dem Befehl cd Ordner verändert werden. Zum Aufruf gibt man nur den Namen des Skripts ohne Endung ein. In diesem Beispiel wird Berechnung.m im Unterordner Skripte aufgerufen:

octave:1> cd Skripte
octave:2> Berechnung 

Funktionen, die in einem Skript des Arbeitsverzeichnisses definiert sind, stehen darüber hinaus automatisch zur Verfügung und müssen nicht gesondert geladen werden.

Für den einmaligen Aufruf eines Skripts aus dem Terminal [2] kann Octave der Dateiname auch direkt als Startparameter übergeben werden:

octave Skripte/Berechnung.m 

Graphische Ausgabe

Mit Octave lassen sich mathematische Elemente, beispielsweise Funktionen auch sehr einfach grafisch ausgeben. Dazu wird ein sog. Funktionenplotter verwendet. Der Standardplotter unter Octave (aber auch bei vielen anderen Linux-Programmen) ist Gnuplot. Mit diesem Programm können sowohl 2D- als auch 3D-Grafiken ausgegeben werden.

Grafiken werden durch den Aufruf des Befehls plot (für 2D-Grafiken) oder mesh (für 3D-Grafiken) angezeigt. Durch weitere Parameter lassen sich verschiedene Eigenschaften, wie Linienstärke und Form (z.B. als einzelne Punkte) oder Farbe auswählen. Bei 2D-Objekten kann auch ein Gitternetz mit Hilfslinien eingeblendet werden. Außerdem kann man die Achsen beschriften und dem Bild einen Titel zuweisen.

./octave_2d_quantal.png./octave_3d_quantal.png
2D-Ausgabe einer Funktion3D-Ausgabe einer Funktion
x = -10:.1:10;
y = sin(x).*exp(-abs(x));
plot(x,y);
grid;
x = -3 : .1 : 3;
y = -3 : .1 : 3;
[xx, yy] = meshgrid(x, y);
z = exp(-xx.^2 - yy.^2);
mesh(x, y, z);

Graphische Benutzeroberflächen

Es befindet sich eine eigene, echte graphische Oberfläche "Octave GUI" in Entwicklung (vgl. offizielle Octave-FAQ, nicht zu verwechseln mit dem proprietären "GUI Octave"). Diese soll bald fester Bestandteil von Octave werden. Alle derzeit existierenden Lösungen setzten hingegen auf der Shell auf und werden in den offiziellen FAQ kritisiert, da sie verglichen mit einer reinen Textoberfläche in aller Regel nur kosmetischen Mehrwert bieten.

Aufruf durch gedit

Mit Hilfe des Plugins Externe Werkzeuge kann ein Octave-Skript direkt aus gedit heraus aufgerufen werden. Dazu muss diese Erweiterung zuerst im Menüpunkt Einstellungen von gedit aktiviert werden. Die richtige Konfiguration und Benutzung kann dem Bildschirmfoto entnommen werden.

unskaliert

In Ubuntu 9.10 hat sich der dargestellte Dialog hingegen etwas verändert, so dass nun ein großes Textfeld zu sehen ist. Dort würde man schlicht die beiden folgenden Zeilen eintippen:

1
2
#!/bin/sh
octave -q $GEDIT_CURRENT_DOCUMENT_NAME

Falls die korrekte Syntax-Hervorhebung nicht automatisch aktiviert wurde, findet man sie in der Kategorie Skripte/Wissenschaftlich -> Octave.

QtOctave

./qtoctave_icon.png QtOctave ist eine relativ junge, aber schon recht ausgereifte Benutzeroberfläche für Octave, die viele nützliche Funktionen bietet (Das Projekt wird derzeit nicht weiterentwickelt):

  • Integrierter Skript-Editor

  • Befehls-History und

  • Variablen-Anzeige

  • Datei-Manager für das Arbeitsverzeichnis

  • EasyPlot zum schnellen und einfachen Plotten

  • Export der Ausgabe in die Formate EPS, PDF, PNG

Damit sollten auch ehemalige MATLAB-Anwender zufrieden gestellt werden. Bei dem frühen Entwicklungsstadium muss allerdings noch mit einigen Fehlern gerechnet werden. Bislang steht das Programm nur in englischer Sprache zur Verfügung.

Die offizielle Octave-FAQ warnt allerdings davor, dass QtOctave mit der aktuellen octave-Version nicht kompatibel ist und auch nicht weiterentwickelt wird.

Installation

QtOctave ist in den Paketquellen zu finden. Es muss deshalb lediglich folgendes Paket installiert [1] werden:

  • qtoctave (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install qtoctave 

sudo aptitude install qtoctave 

Nach der Installation kann man das Programm aus dem GNOME-Menü über "Anwendungen -> Bildung -> Qtoctave" aufrufen.

Erweiterungen

Octave-Forge

Octave-Forge {en} stellt eine enorme Menge an nützlichen Zusatzpaketen für Octave zur Verfügung. Die Fülle der Erweiterungs-Möglichkeiten reicht von A wie Audio-Verarbeitung bis Z wie Zenity-Integration. Zusatzpakete können über die offiziellen Ubuntu Paketquellen (oftmals veraltet!) oder auch leicht direkt aus der GNU Octave Eingabeaufforderung (Prompt) heraus nach- und auch wieder deinstalliert werden. Die Installation eines heruntergeladenen Pakets in den Home-Ordner kann mit folgendem Octave-Befehl vorgenommen werden:

octave:1> pkg install name_des_pakets.tar.gz 

Um ein Zusatzpaket wieder zu deinstallieren, geht man wie folgt vor:

octave:1> pkg uninstall name_des_pakets 

Ausführliche Informationen zur manuellen In- und Deinstallation von Zusatzpaketen sind hier nachzulesen.

Alternative Plotter

EpsTk

Dieser alternative Plotter erstellt hochwertige Postscript-Dateien anstelle einer graphischen Anzeige. Die Installation erfolgt über folgendes Paket:

  • octave-epstk (universe)

Nach der Installation kann der Plotter über eigene Funktionen aufgerufen werden, beispielsweise eplot(x,y) anstelle von plot(x,y). Deren Verwendung wird in der beiliegenden Dokumentation {en} genau erklärt, die sich im Ordner /usr/share/doc/octave-epstk findet.

Ausblick

Neben dem Paket für QtOctave steht auch ein neues Paket mit dem Namen octave-pfstools zur Verfügung. Dieses Paket erlaubt die Verwendung der pfs-Tools {en} im Zusammenspiel mit Octave und Gnuplot. Bei den Psf-Tools handelt es sich um Werkzeuge zur Erstellung und Manipulation von sog. HDR-Bildern (oder auch Videos). Diese haben einen wesentlich höheren Kontrast und viel mehr Farbnuancen als normale digitale Bilder. Vermutlich wird diese Technik im Zusammenhang mit der grafischen Ausgabe von Octave genutzt werden. Nähere Informationen zu HDR unter Linux findet man in diesem {de} und in diesem Artikel {de} .

Tutorials

ubuntuusers.local › WikiOctave