Einführung in Julia#

Im Gegensatz zu Matlab kann die frei verfügbare Sprache Julia in verschiedenen Entwicklungsumgebungen (auch engl. integrated development environment, kurz IDE) ausgeführt werden, enthält aber nicht automatisch alle Pakete, welche für das Bearbeiten der Aufgaben aus diesem Onlinebuch benötigt werden. Im Folgenden soll eine kurze Übersicht über die Installation der Sprache Julia, zwei mögliche IDEs und die Installation benötigter Pakete gegeben werden.

Installation der Programmiersprache Julia#

Die Installation der Sprache Julia selbst erfolgt am einfachsten über die Website der Entwickler (Stand Dezember 2023: https://julialang.org/downloads/). Dort kann der passende Installer für verschiedene Betriebssysteme ausgewählt werden (z. B. 64-bit-installer des current stable release für Windows-64-bit-Systeme). Nachdem man diesen heruntergeladen und ausgeführt hat, ist die Sprache Julia und eine einfache Julia-Kommandozeile zum Ausführen von Julia-Befehlen (Letzteres als Programm bzw. App Julia, siehe Abbildung 1) verfügbar. Diese Kommandozeilenapplikation wird auch REPL (= read-evaluate-print-loop) genannt.

Test der Installation#

Starten Sie die Julia-REPL über das Icon auf dem Desktop (Abbildung 1), im Startmenü, oder im Installationsordner und führen sie den Befehl println(''Hello World'') aus. Als Ausgabe sollte Hello World erscheinen. Julia ist somit erfolgreich und lauffähig installiert.

../_images/pic_Julia_REPL.png
Abbildung 1: Julia-REPL zur direkten Eingabe von Julia-Befehlen.

Installation benötigter Julia-Pakete#

Für die in diesem Onlinebuch vorgestellten Aufgaben sind eine Hand voll zusätzliche Pakete (z. B. für Differentialgleichungs-Löser oder Plotting) zu installieren. Dies geht am einfachsten über die Julia-Kommandozeile (Abbildung 1, diese wurde als Programm bzw. App bei der Julia-Installation installiert).

In der Julia-Kommandozeile können Pakete mit dem Befehl import Pkg; Pkg.add(''Paketname'') installiert werden, wobei Paketname durch den entsprechenden Paketnamen zu ersetzen ist.

Die für die Aufgaben zusätzlich benötigten Pakete sind folgende:

  • DifferentialEquations

  • Plots

  • DataInterpolations

  • LsqFit

  • NLsolve

  • Polynomials

  • LaTeXStrings

  • QuadGK

  • Dierckx.

Für jedes der Pakete muss einmal obiger Befehl ausgeführt werden, also beispielsweise import Pkg; Pkg.add(''DifferentialEquations'') und die erfolgreiche Installation abgewartet werden.

Nach Installation dieser Pakete sollte das Bearbeiten der Aufgaben in diesem Onlinebuch grundsätzlich in einer der unten genannten Entwicklungsumgebungen möglich sein (Je nachdem wie Sie programmieren besteht natürlich die Möglichkeit, dass Sie weitere Pakete benötigen).

Entwicklungsumgebungen#

Um komfortabel mit Julia-Dateien (Endung .jl) arbeiten zu können, benötigt man eine Entwicklungsumgebung. Zwei mögliche IDEs mit Julia-Unterstützung sind Visual Studio Code (eine klassische, aber kompakte IDE) oder Jupyter Notebook (insbesondere für alle, die sowieso schon eine Python- und/oder Anaconda-Installation auf ihrem Rechner haben).

Julia in Visual Studio Code#

VS Code ist eine kostenlose Entwicklungsumgebung von Microsoft, welche unter anderem die Sprache Julia über ein Erweiterungspaket unterstützt. Nach dem Download und der Installation von VS Code kann in der linken Seitenleiste unter dem Punkt Extensions (Symbol mit vier Quadraten) nach dem Stichwort „Julia“ gesucht werden. Unter den Treffern sollte das Paket Julia: Julia Language Support sein, welches installiert werden kann.

Über den Explorer in der linken Seitenleiste kann zum Ordner mit gespeicherten Julia Dateien navigiert werden, welche mit einem einfachen Klick betrachtet und mit einem doppelten Klick geöffnet werden können (Unterschied: Nach einem Doppelklick bleibt die Datei als Reiter oben geöffnet, auch wenn eine andere ausgewählt wird, bei einfachem Klick erscheint der Dateiname im Reiter kursiv und beim Klick auf eine weitere Datei bleibt erstere nicht offen).

Alternativ kann eine neue Datei angelegt werden und Code geschrieben oder in diese hinein kopiert werden.

Beim ersten Öffnen einer Julia-Datei nach dem Start der Entwicklungsumgebung wird jeweils einmal der Julia Language Server gestartet, erkennbar an einer Mitteilung in der unteren Leiste links. Ist der Start abgeschlossen, steht an gleicher Stelle eine Information zur aktuellen Julia-Version, z. B. v1.8.

Vor dem Bearbeiten der Aufgaben aus diesem Onlinebuch müssen die dafür nötigen Pakete installiert werden. Dies kann entweder über die Julia-Kommandozeilen-App oder ein Julia-Terminal innerhalb von VS Code geschehen.

Nach der Paketinstallation und beim Öffnen einer Julia-Datei indiziert VS Code die Pakete, erkennbar an einer Mitteilung in der unteren Leiste, links. Dies kann unter Umständen mehrere Minuten in Anspruch nehmen.

Sind alle nötigen Pakete installiert und indiziert, kann eine geöffnetes Julia-Datei mit dem Play-Knopf oben rechts gestartet werden (alternativ auf dem Pfeil daneben Julia: Execute active File in REPL wählen). Text-Ausgabe erscheint während bzw. nach der Ausführung im Terminal am unteren Fensterrand, etwaige Plots werden in einem neuen Reiter geöffnet.

Julia in Jupyter Notebook#

Jupyter Notebook ist eine auf der Programmiersprache Python basierende Notebook-Umgebung, für die auch Julia-Unterstützung installiert werden kann.

Eine einfache Anleitung zur Installation von Jupyter Notebook über Anaconda und die Einbindung von Julia findet sich unter: https://jupyter.org/try.

Hinweis: Jupyter Notebook arbeitet mit .ipynb-Dateien und nicht mit .jl-Dateien. Am einfachsten ist die Verwendung, indem man Jupyter Notebook startet, unter New\(\to\)Julia eine neue Datei mit Julia-Kernel erstellt und startet und den auszuführenden Code in diese einfügt. Falls im Code andere Dateien (z. B. ein selbstgeschriebener Löser in einer .jl-Dateien) eingebunden werden (erkennbar an include-Statements im Code), müssen diese Dateien sich im gleichen Verzeichnis befinden, in dem die aktuelle .ipynb-Datei ausgeführt wird. Alternativ kann der Inhalt der einzubindenden Dateien anstelle des include-Statements in den Hauptquellcode eingefügt werden.

Mit dem Paket Pluto.jl bietet Julia auch eine eigene Alternative zu Jupyter Notebook.