Octave
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
GNU Octave 🇬🇧 ist eine interaktive Skriptsprache zur Lösung von Problemstellungen aus dem Bereich der Numerische_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 Funktionenplotter verwendet werden. Neuere Versionen bringen eine komplette Entwicklungsumgebung mit. 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¶
Um mit Octave arbeiten zu können, müssen folgende Pakete installiert [1] werden:
octave (universe)
octave-doc (universe, Dokumentation der Skriptsprache, liegt nach der Installation im Ordner /usr/share/doc/octave-doc)
gnuplot (universe, Gnuplot für 2D- und 3D-Grafiken)
Befehl zum Installieren der Pakete:
sudo apt-get install octave octave-doc gnuplot
Oder mit apturl installieren, Link: apt://octave,octave-doc,gnuplot
Des Weiteren gibt es noch eine ganze Reihe von Erweiterungen für Octave für verschiedene Anwendungsgebiete in den Paketquellen. Eine Übersicht erhält man, wenn man in der Ubuntu Paketsuche 🇬🇧 nach dem Suchbegriff "octave" sucht.
Benutzung¶
Octave kann über eine grafische Oberfläche oder auch im Terminal ausgeführt werden. Die grafische Oberfläche bietet noch einige Zusatzfunktionen.
Graphische Ausgabe¶
Mit Octave lassen sich mathematische Elemente, beispielsweise Funktionen, auch sehr einfach grafisch ausgeben. Dazu wird ein Funktionsplotter 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, 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.
Interaktiver Text-Modus¶
Das installierte Programm wird im Terminal [5] mit dem Befehl octave gestartet. Bei der Arbeit in diesem interaktiven Modus wird jeder Befehl einzeln eingegeben. Nach einem Druck auf ⏎ wird die soeben eingegebene Zeile sofort interaktiv verarbeitet und evtl. eine Ausgabe erzeugt.
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 kann Octave der Dateiname auch direkt als Startparameter übergeben werden:
octave Skripte/Berechnung.m
Suchpfad anpassen¶
Arbeitet man viel mit Octave-Skripten, möchte man eventuell ein Skript-Verzeichnis festlegen, aus dem die Skripte direkt aufgerufen werden können.
Dazu muss man die Skripte in ein Verzeichnis z.B. nach ~/octave-scripts legen und die Datei ~/.octaverc anlegen mit folgendem Inhalt:
addpath("~/octave-scripts")
Die Skripte aus diesem Verzeichnis sind dann direkt (ohne die Endung .m) aufrufbar, egal, in welchem Verzeichnis man sich gerade befindet. Für obiges Beispiel würde nun also folgendes funktionieren, egal in welchem Verzeichnis man sich gerade befindet:
octave:1> Berechnung
Aufruf durch gedit¶
Octave-Skripte können direkt in gedit inklusive Syntax-Hervorhebung bearbeitet und direkt aus Gedit heraus aufgerufen werden. Dazu muss man zunächst unter "Einstellungen → Erweiterungen" den Punkt "Externe Werkzeuge" aktivieren. Danach kann die Erweiterung in Gedit unter "Externe Werkzeuge verwalten" aktiviert werden. Die richtige Konfiguration und Benutzung kann dem Bildschirmfoto entnommen werden.
Im Textfeld tippt man die folgenden Zeilen ein:
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 "Ansicht → Hervrohebungsmodus → Octave".
Erweiterungen¶
Octave-Forge¶
Octave-Forge 🇬🇧 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 entweder über die offiziellen Paketquellen (oftmals veraltet!) oder auch leicht direkt aus der Octave-Eingabeaufforderung (Prompt) heraus nach- und auch wieder deinstalliert werden. Die Installation eines heruntergeladenen Archivs ⮷ in das Homeverzeichnis kann mit folgendem Octave-Befehl vorgenommen werden:
octave:1> pkg install ARCHIVNAME.tar.gz
Um ein Zusatzpaket wieder zu deinstallieren, geht man wie folgt vor:
octave:1> pkg uninstall ARCHIVNAME
Ausführliche Informationen zur manuellen In- und Deinstallation von Zusatzpaketen sind in der Dokumentation 🇬🇧 nachzulesen.
Links¶
Homepage von Octave 🇬🇧 - mit FAQ und Wiki
Octave-Forge 🇬🇧 - Zusatzpakete für Octave
Tutorials¶
GNU Octave Beginner's Guide 🇬🇧 (PDF) 2011
Einführung in GNU Octave 🇩🇪 (PDF) - 05/2003
Octave/MATLAB 🇩🇪 - Kurzes Tutorial