Dokumentation / Formen / Ausdruck

Ausdruck-Form

Die Ausdruck-Form ist das mathematische Herz jedes Modellus-Modells. Hier legst du die Gleichungen, Parameter, Differentialgleichungen, Rekursionen und Fallunterscheidungen fest, die die Simulation antreiben.

Ausdruck-Form auf der Tafel mit sichtbaren Gleichungen

Überblick

Eine Ausdruck-Form enthält eine oder mehrere mathematische Anweisungen, die du in einer LaTeX-ähnlichen Schreibweise in einem MathLive-Formelfeld eingibst. Jede Anweisung steht in einer eigenen Zeile. Alle Ausdruck-Formen eines Modells teilen sich ein gemeinsames Rechensystem – die Namen der Größen müssen also über alle Formen hinweg eindeutig sein.

Verwende mehrere kleine Ausdruck-Formen, nach Themen geordnet (Parameter, Gleichungen, abgeleitete Größen), damit dein Modell übersichtlich und gut lesbar bleibt.

Einen Ausdruck lesen

Enthält eine Form zwei oder mehr Gleichungen, werden sie als ein Block mit einer gemeinsamen Spalte für das Gleichheitszeichen gezeigt: Die linken Seiten stehen rechtsbündig vor dem Gleichheitszeichen, die rechten Seiten linksbündig dahinter, und der Block steht mittig auf der Karte. Ausgerichtet wird nur das Hauptgleichheitszeichen jeder Zeile – ein Gleichheitszeichen in einer Bedingung, einem Bruch oder in Klammern bleibt, wo es ist. Eine Form mit nur einer Gleichung sieht aus wie bisher. Die Ausrichtung betrifft nur die Darstellung: Das Modell speichert weiterhin eine einfache Zeile pro Gleichung.

Drei Ausdruck-Formen mit ausgerichteten Gleichungen und Farben nach Bedeutung

Jeder Teil eines Ausdrucks ist nach seiner Bedeutung eingefärbt:

Kann das Modell eine Zeile nicht lesen, steht das direkt auf der Karte und versteckt sich nicht hinter einem Tooltip. Die Zeile ist rot geschrieben und von einem Band durchzogen, die Karte bekommt einen roten Rahmen, damit du sie auch von der anderen Seite der Tafel aus erkennst, und ein Feld am unteren Rand der Karte erklärt den Grund, in der Sprache, in der auch der übrige Editor geschrieben ist. Fehlt in der Zeile etwas – ein Wert, eine Klammer –, wird an der richtigen Stelle ein gepunkteter Platzhalter in die Zeile gezeichnet, so wie ein noch leeres Feld einer Formelvorlage; liegt das fehlende Stück in einem Bruch oder einer Wurzel, wird stattdessen dieser Bruch oder diese Wurzel unterstrichen, weil sich die Stelle nicht genauer benennen lässt als durch das Zeichen, das sie umschließt. Ein Zeichen, das dort nicht stehen kann, wo es geschrieben wurde, wird an seiner Stelle unterstrichen. Das Feld öffnet sich, sobald du dich der Karte zuwendest – mit dem Mauszeiger darüber, wenn die Karte ausgewählt ist oder der Cursor darin steht – und enthält nur die Hinweise, ohne Überschrift und ohne vorangestellten Zeilennamen: Zeigst du auf einen Hinweis, leuchtet die zugehörige Zeile auf, und ein Klick darauf setzt den Cursor dorthin. Zeilen werden schon beim Schreiben geprüft und nicht erst, wenn du die Karte verlässt – außer der Zeile, in der gerade der Cursor steht: Solange du an einer Zeile schreibst, ist sie halb fertig, also bleibt sie in Ruhe, bis du sie verlässt.

Die Farben stehen für eine Farbfamilie, nicht für einen festen Farbton. Jede wird aus den Design-Tokens --math-* gelesen und dann an die Karte angepasst, auf der sie steht: Der Farbton bleibt, die Helligkeit verschiebt sich, bis sich der Text klar vom Hintergrund abhebt, und gleichzeitig wird die Farbe kräftiger. Eine weiße Karte bekommt tiefe, satte Farben, eine schwarze oder dunkelgraue Karte helle; änderst du die Farbe der Karte, wird der Ausdruck sofort neu eingefärbt. Jede Farbe hält mindestens den Kontrast ein, den die Richtlinien zur Barrierefreiheit verlangen, und die Operatoren bleiben eine Stufe zurückhaltender als die Variablen. Cursor und Auswahlmarkierung folgen derselben Regel, ebenso die Textfarbe der Karte, mit der Klammern, Bruchstriche und Wurzelzeichen gezeichnet werden: Sie bleibt genau so, wie du sie gewählt hast, und wird nur aufgehellt, wenn die Karte sie sonst verschlucken würde. Nichts davon gelangt ins Modell: Ein gespeicherter oder herauskopierter Ausdruck trägt nie eine Farbe.

Werkzeugleiste

Werkzeugleiste der Ausdruck-Form mit Farbauswahl, Vorlagenauswahl und Schaltfläche zum Löschen

Die Werkzeugleiste erscheint, wenn du eine Ausdruck-Form auswählst. Sie bietet:

Arten von Anweisungen

Jede Zeile einer Ausdruck-Form wird als eine dieser Arten von Anweisungen gelesen:

Art Syntax Beispiel Beschreibung
Parameter name = value g = 9.8 Ein konstanter Wert. Hängt weder von anderen Größen noch von der unabhängigen Variablen ab.
Funktion name = expression E = ½·m·v² Ein berechneter Wert, der von anderen Größen oder der unabhängigen Variablen abhängt.
Differentialgleichung dx/dt = expression dx/dt = v Gewöhnliche Differentialgleichung erster Ordnung. Braucht einen Anfangswert in den Eigenschaften der Form.
Rekursion x_{n} = expression x_{n} = x_{n-1} + v·Δt Schrittweise Definition. Der Index legt fest, um wie viele Schritte zurückgegriffen wird.
Fallunterscheidung name = \begin{cases}...\end{cases} v = { 0 & t=0 \\ a·t & otherwise } Abschnittsweise Definition. Es braucht mindestens zwei Zweige.
Funktion mit Argument f(t) = expression h(t) = v₀·t - ½·g·t² Schreibweise mit ausdrücklichem Argument (nur Darstellung; verhält sich wie eine Funktion).
Anzeige expression F = ma Nur eine sichtbare Beschriftung. Wird vom Rechner nicht berechnet.

Rechenoperatoren

Operator LaTeX Taste Beschreibung
Addition++Summe zweier Ausdrücke
Subtraktion--Differenz zweier Ausdrücke
Multiplikation\cdot*Ausdrückliche Multiplikation (Malpunkt ·)
Implizite Multiplikation2x2xKoeffizient, gefolgt von einem Namen oder einer Klammer
Division in der Zeile//Schreibweise a/b in einer Zeile
Bruch\frac{a}{b}/ (an der Stelle des Zählers)Bruch mit Bruchstrich, sauber gesetzt
Potenz^{n}^Potenzieren
Fakultätx!!Nachgestellte Fakultät für nichtnegative ganze Zahlen
Quadratwurzel\sqrt{x}\sqrtQuadratwurzel
Negation-x-Vorzeichenwechsel

Hinweis zur Fakultät: Die Fakultät wird nachgestellt geschrieben (n!) und ist für nichtnegative ganze Zahlen gedacht.

Vergleichsoperatoren

Werden in den Zweigen einer Fallunterscheidung (\begin{cases}) verwendet:

Operator LaTeX Bedeutung
==Gleich
>>Größer als
<<Kleiner als
≥\ge oder \geqGrößer oder gleich
≤\le oder \leqKleiner oder gleich
≠\neqUngleich

Bedingungen lassen sich verketten (z. B. 0 < x < 1) oder mit \lor (ODER) und \land (UND) verknüpfen. Das Schlüsselwort \text{otherwise} wirkt als Sonst-Zweig.

Eingebaute Funktionen

Kategorie Funktion LaTeX Argumente
TrigonometrischSinus\sin\left(x\right)1
Kosinus\cos\left(x\right)1
Tangens\tan\left(x\right)1
Kotangens\cot\left(x\right)1
Sekans\sec\left(x\right)1
Kosekans\csc\left(x\right)1
ArkusfunktionenArkussinus\arcsin\left(x\right)1
Arkuskosinus\arccos\left(x\right)1
Arkustangens\arctan\left(x\right)1
HyperbolischSinus hyperbolicus\sinh\left(x\right)1
Kosinus hyperbolicus\cosh\left(x\right)1
Tangens hyperbolicus\tanh\left(x\right)1
LogarithmischNatürlicher Logarithmus\ln\left(x\right)1
Zehnerlogarithmus\log\left(x\right)1
Zwei ArgumenteMaximum\max\left(a, b\right)2
Minimum\min\left(a, b\right)2
Modulo\mod\left(a, b\right)2
HilfsfunktionenVorzeichensign\left(x\right)1 – liefert -1, 0 oder 1
Zufallswertrnd\left(x\right)1 – zufällige Kommazahl in [0, x]
Ganzzahliger Zufallswertirnd\left(x\right)1 – zufällige ganze Zahl in [0, x]
Ganzzahliger Teilint\left(x\right)1 – schneidet die Nachkommastellen ab
Rundenround\left(x\right)1 – rundet auf die nächste ganze Zahl
SonstigeDeterminante\det\left(x\right)1
Alle Funktionsaufrufe verwenden die Begrenzer \left( und \right). Einfache Klammern sind in Funktionsaufrufen nicht gültig. Das Formelfeld fügt sie automatisch ein.

Konstanten

NameLaTeXWert
Pi\pi3.14159…
Eulersche Zahle oder \E2.71828…
g ist keine eingebaute Konstante. Lege sie als Parameter fest: g = 9.8.

Besondere Schreibweisen

Differenz (Δ)

SyntaxBedeutung
\Delta xx(aktuell) − x(vorher). Für die unabhängige Variable: die Schrittweite.
\Delta\left(expr\right)Differenz, angewendet auf einen Teilausdruck.

Indizes (Verweise auf Schritte)

SyntaxBedeutung
x_{n-1}Wert von x aus der vorigen Iteration
x_{n}Aktuelle Iteration (linke Seite einer Rekursion)
x_0Anfangswert von x (einzelne Ziffer, ohne Klammern)
x_{0}Anfangswert (Schreibweise mit Klammern)

Indizierte Größen (Verweise auf Elemente)

Eine Größe kann für viele Werte auf einmal stehen – etwa für die Oszillatoren einer Welle –, indem sie über einen Elementindex statt über die Zeit definiert wird. Der Index ist an die Zuweisung gebunden und wird deshalb nie zu einer Variablen des Modells:

y\left[i\right] = A\cdot\cos\left(k\cdot i - \omega\cdot t\right)
SyntaxBedeutung
y\left[i\right] = …Definiert y über Elementindizes; der Ausdruck wird für jedes abgefragte Element einmal ausgewertet
y\left[3\right]Element 3 von y
y\left[i\right]Element i, wobei i ein beliebiger Ausdruck ist
s = y + zÜberlagerung: Auch s ist indiziert und wird elementweise addiert

Das ist ein dritter Indexraum neben den beiden oben: y_3 liest y bei Iteration 3 und y\left(3\right) liest y beim Wert 3 der unabhängigen Variablen, während nur die eckigen Klammern ein Element lesen. Eine indizierte Größe hat keinen einzelnen Wert; sie wird deshalb über ihre Elemente gelesen und nicht als Zahl angezeigt.

Ein Oszilloskop-Objekt liest sie: Trage die indizierten Größen in seine Wellen ein, und jede wird über sein Raster gezeichnet, eine Spur pro Zeile. Zwei so addierte fortschreitende Wellen – eine mit -\omega\cdot t, eine mit +\omega\cdot t – ergeben eine stehende Welle mit festen Knoten. Ein Klavier stellt selbst eine bereit: den Akkord, den es gerade hält, ein Element pro Abtastwert.

Ein Objekt Mechanische Welle arbeitet stattdessen mit einer gewöhnlichen Größe. Trag in seine Zeile Welle eine Größe ein, die das Modell selbst berechnet – y=A\cdot\sin\left(\omega\cdot t\right) –, und die Kette wiederholt, was diese Größe getan hat: Bei jeder Iteration bekommt der erste Oszillator den Wert, den die Größe gerade angenommen hat, und gibt seinen bisherigen an den nächsten weiter. So hält die Kette die letzten Werte des Durchlaufs, die ältesten am fernen Ende, und die Bewegung wandert im Lauf der Simulation an ihr entlang. Sie hält einen Wert pro Oszillator, also bestimmt Abtastwerte auch, wie weit sie zurückreicht. Schreibst du einen Namen, den das Modell nicht definiert, geht das Objekt den umgekehrten Weg: Es berechnet seine Welle aus Amplitude, Frequenz, Ausbreitungsgeschwindigkeit und Phase und übergibt dem Modell unter diesem Namen, was sein Referenzoszillator gerade tut. Der Name wird zu einer Größe des Modells – er steht in jeder Liste der Größen, so wie ein Name, den das Modell zuweist –, also kannst du ihn über der Zeit darstellen, in einer Definition verwenden (z=2\cdot y) und zur Anzeige eines anderen Objekts addieren (s=forward+back). Ein Name, den das Modell definiert, gehört dem Modell – eine Zuweisung, über die Zeit oder über Elementindizes, wird gelesen und nicht überschrieben –, und ein Objekt, das du von der Tafel nimmst, nimmt seine Größe mit.

Einheiten angeben

Hänge an jede Anweisung Einheiten an, die nur angezeigt werden:

v = 10 \quad\textcolor{gray}{\mathrm{m/s}}

Einheiten dienen nur der Darstellung – die Rechenmaschine prüft und rechnet sie nicht um.

Namen mit Punkt (Verweise auf untergeordnete Formen)

Verweise auf Größen von Formen innerhalb eines Bezugssystems: body.x, particle.velocity.

Tastenkürzel

Das MathLive-Formelfeld kennt diese Tastenkürzel für eine schnelle Eingabe:

AktionTastenkürzelErgebnis
Vorlagenpalette öffnen ⌘. (macOS) · Ctrl+. (Windows/Linux) Wähle eine mathematische Vorlage aus der kompakten Palette
Potenz (Hochstellung) ^ x^2
Tiefstellung (Index) _ x_{t-1}
Vorzeichenwechsel ~ -x
Fakultät ! n!
Quadratwurzel # \sqrt{x}
Delta % \Delta x
Betrag | \left|x\right|
Ungleich <> x \ne y
Größer oder gleich >= x \ge 1
Kleiner oder gleich <= x \le 1
Bedingung (abschnittsweise) \ \begin{cases} 1 & t=0 \\ y & t\ge2 \end{cases}
Oder ⌥v (macOS) · Alt+v (Windows) x>0 \lor x<5
Und ⌥^ (macOS) · Alt+^ (Windows) x>0 \land x<5
Vorlage Differential ⌥/ (macOS) · Alt+/ (Windows) \frac{dx}{dt}
Abrunden ⌥_ (macOS) · Alt+_ (Windows) \lfloor x \rfloor
Aufrunden ⌘_ (nur macOS) \lceil x \rceil
Bruch ⌘/ (macOS) · Ctrl+/ (Windows) \frac{a}{b}
Malpunkt * a \cdot b
Neue Zeile (neue Anweisung) Enter —
Hinausspringen / nächster Platzhalter Tab —

Vorlagenauswahl

Ausgewählte Ausdruck-Form mit sichtbarer Werkzeugleiste

Drücke beim Bearbeiten ⌘. unter macOS oder Ctrl+. unter Windows/Linux, um die Vorlagenpalette zu öffnen. Du kannst sie auch über die Schaltfläche in der Werkzeugleiste öffnen.

Schreibweise für Integrale

Integrale kannst du in LaTeX-Schreibweise eingeben, etwa \int_{a}^{b} f\left(x\right)\,\mathrm{d}x. Für den ganzzahligen Teil einer Zahl verwende die Hilfsfunktion int\left(x\right).

Eigenschaften

Eigenschaften der Ausdruck-Form

Wenn eine Ausdruck-Form ausgewählt ist, zeigt der Eigenschaftenbereich:

EigenschaftBeschreibung
Unabhängige VariableDie Variable, über die iteriert wird (Standard: t)
SchrittweiteDer Zuwachs pro Iteration (Δt)
Anfangswert / EndwertWertebereich der unabhängigen Variablen
AnfangswerteStartwerte für Differentialgleichungen und Rekursionen
SzenarienMehrere Sätze von Anfangswerten, um Parameter zu variieren

Beispiele

Einfache Kinematik

g = 9.8
v₀ = 20
θ = 45
vx = v₀·\cos\left(θ\right)
vy = v₀·\sin\left(θ\right) - g·t
\frac{dx}{dt} = vx
\frac{dy}{dt} = vy

Bevölkerungswachstum (Rekursion)

r = 0.05
P_{n} = P_{n-1}·\left(1 + r\right)

Abschnittsweise definierte Geschwindigkeit

v = \begin{cases} 0 & t = 0 \\ a·t & 0 < t < 5 \\ a·5 & \text{otherwise} \end{cases}