Dr. rer. nat.

Befehle

MathTool kennt die folgenden Befehle:

approx(F(x1, …, xn)): Approximiert den Ausdruck F(x1, …, xn).

Beispiel: approx(3^0.5) liefert die Ausgabe

1.7320508075688772

ccnf(F(x1, …, xn)): Liefert die kanonische konjunktive Normalform des logischen Ausdrucks F(x1, …, xn).

cdnf(F(x1, …, xn)): Liefert die kanonische disjunktive Normalform des logischen Ausdrucks F(x1, …, xn).

clear(): Leert die gesamte Konsole. Bereits definierte Variablen und Funktionen bleiben jedoch erhalten.

def(x = x0): Weist einer gültigen Variable x den konstanten Wert x0 zu.

def(F(x1, …, xn) = G(x1, …, xn)): Definiert eine Funktion F in den Variablen x1, …, x_n durch den Ausdruck G(x1, …, xn). Selbstverständlich werden vordefinierte Funktionen wie sin(), tan(), exp(), etc. nicht überschrieben.

Beispiel: Nach der Eingabe def(f(x, y) = x^2 + sin(x*y)) kennt MathTool die so definierte Funktion f. Die nachfolgende Eingabe f(u^3, u*v^4) liefert dann etwa die Ausgabe

u^6+sin(u^4*v^4).

defvars(): Gibt die Liste aller Variablen aus, denen ein fester Wert mittels Befehl def() zugewiesen wurde.

deffuncs(): Gibt die Liste aller Funktionen aus, die während der aktuellen Sitzung vom Benutzer mittels Befehl def() definiert wurden.

euler(n): Gibt die ersten n Stellen der Eulerschen Zahl e aus. Das Ergebnis wird nicht gerundet.

Beispiel: euler(20) liefert die Ausgabe

2.71828182845904523536

Die Zahl n darf hier aus Speichergründen maximal 100000 betragen.

eigenvalues(A): Gibt die Eigenwerte der quadratischen Matrix A aus, sofern diese berechenbar sind.

eigenvectors(A): Gibt Eigenvektoren der quadratischen Matrix A aus, gruppiert nach den entsprechenden Eigenwerten von A, sofern diese berechenbar sind.

expand(F(x1, …, xn)): Löst alle enthaltenen Klammern bei Multiplikationen auf (multipliziert alle Terme aus).

Beispiel: expand(x+(a+b)*(c+d+e)) liefert die Ausgabe

x+a*c+a*d+a*e+b*c+b*d+b*e

latex(F(x1, …, xn) = … = G(x1, …, xn)): Generiert den Latex-Code für die mathematische Zeichenkette F(x1, …, xn) = … = G(x1, …, xn).

pi(n): Gibt die ersten n Stellen der Kreiszahl Pi aus. Das Ergebnis wird nicht gerundet.

Beispiel: pi(20) liefert die Ausgabe

3.14159265358979323846

Die Zahl n darf hier aus Speichergründen maximal 100000 betragen.

plot2d(F1(x), …, Fn(x), x, x1, x2): Zeichnet den Graphen der Funktionen F1, …, Fn im Intervall x1 <= x <= x2. Der Zoomfaktor kann hier (fast) beliebig groß und beliebig klein werden.

plotimplicit2d(F1(x, y) = F2(x, y), x, y, x1, x2, y1, y2): Zeichnet die Lösungsmenge der Gleichung F1(x, y) = F2(x, y) in zwei Variablen im Rechteck x1 <= x <= x2, y1 <= y <= y2. Hier kann in den Graphen weder hinein- noch herausgezoomt werden, ebenso kann das Koordinatensystem nicht verschoben werden.

plotimplicit3d(F1(x, y, z) = F2(x, y, z), x, y, z, x1, x2, y1, y2, z1, z2): Zeichnet die Lösungsmenge der Gleichung F1(x, y, z) = F2(x, y, z) in drei Variablen im Quader x1 <= x <= x2, y1 <= y <= y2, z1 <= z <= z2. Der Zoomfaktor liegt hier zwischen 0.1 und 10.

plot3d(F1(x, y), …, Fn(x, y), x, y, x1, x2, y1, y2): Zeichnet die Graphen der Funktionen F1, …, Fn im Rechteck x1 <= x <= x2, y1 <= y <= y2. Der Zoomfaktor liegt hier zwischen 0.1 und 10.

plotcurve2d([F1(t); F2(t)], t, t1, t2): Zeichnet die ebene Kurve, welche durch die Komponentenfunktionen F1 und F2 parametrisiert wird, für t1 <= t <= t2. Der Zoomfaktor liegt hier zwischen 0.1 und 10. Manchmal kann es vorkommen (etwa beim Zeichnen von Kurven, welche sehr „unglücklich“ parametrisiert wurden), dass nicht die ganze Kurve, sondern nur ein Teil von ihr gezeichnet werden (etwa für t1 <= t <= t‘ für ein t‘ <= t2).

plotcurve3d([F1(t); F2(t); F3(t)], t, t1, t2): Zeichnet die räumliche Kurve, welche durch die Komponentenfunktionen F1, F2 und F3 parametrisiert wird, für t1 <= t <= t2. Der Zoomfaktor liegt hier zwischen 0.1 und 10. Auch hier gilt dasselbe wie im Falle von plotcurve im Zweidimensionalen, dass manche „schlecht“ parametrisierten Kurven nicht komplett gezeichnet werden können.

plotpolar(F1(t), …, Fn(t), t, t1, t2): Zeichnet die Graphen der Funktionen F1, …, Fn für t1 <= t <= t2, wobei t den Winkel und Fi(t) den Radius in Polarkoordinaten angeben. Der Zoomfaktor liegt hier zwischen 0.1 und 10.

plotcylindrical(F1(r, t), …, Fn(r, t), r, t, r1, r2, t1, t2): Zeichnet die Graphen der Funktionen F1(r, t), …, Fn(r, t) für r1 <= r <= r2 und t1 <= t <= t2 in Zylinderkoordinaten, wobei r den Radius und t den Winkel angibt. Dabei muss der Radius nichtnegativ sind und die Winkeldifferenz t2 – t1 aus technischen Gründen maximal 20π betragen. Der Zoomfaktor liegt hier zwischen 0.1 und 10.

plotspherical(F1(u, v), …, Fn(u, v), u, v, u1, u2, v1, v2): Zeichnet die Graphen der Funktionen F1(u, v), …, Fn(u, v) für u1 <= u <= u2 und v1 <= v <= v2 in Kugelkoordinaten, wobei u den Winkel in der x, y-Ebene und v den Winkel zur z-Achse angibt. Dabei müssen die Winkeldifferenzen u2 – u1 und v2 – v1 aus technischen Gründen maximal 20π betragen. Der Zoomfaktor liegt hier zwischen 0.1 und 10.

plotsurface([F1(s, t); F2(s, t); F3(s, t)], s, t, s1, s2, t1, t2): Zeichnet die räumliche Fläche, welche durch die Komponentenfunktionen x = F1(s, t), y = F2(s, t) und z = F3(s, t) parametrisiert wird, für s1 <= s <= s2 und t1 <= t <= t2. Der Zoomfaktor liegt hier zwischen 0.1 und 10.

plotvectorfield2d([F1(x, y); F2(x, y)], x, y, x1, x2, y1, y2): Zeichnet das Vektorfeld [F1(x, y); F2(x, y)] für x1 <= x <= x2 und y1 <= y <= y2. Der Zoomfaktor kann hier (fast) beliebig groß und beliebig klein werden.

regressionline(P1, …, Pn): Berechnet die Gleichung der Regressionsgeraden für die Punkte P1, …, Pn, 2 <= n, und zeichnet diese, falls möglich. Die Punkte Pi müssen, nach Vereinfachung, von der Form [a;b], d.h. also (2×1)-Matrizen sein.

solve(F1(x) = F2(x)): Bestimmt die algebraischen Lösungen der Gleichung F1(x) = F2(x) in x, falls möglich. Beachten Sie, dass sich nicht jede Gleichung algebraisch lösen lässt. Gleichungen der Form exp(x) – x = 3 besitzen beispielsweise keine Lösung, die sich mittels algebraischer Ausdrücke oder elementarer Funktionen in geschlossener Form hinschreiben lässt. Bei solchen Eingaben würde MathTool keine (exakte) Lösung liefern.

Beispiel: Die Gleichung x^18 – 3*x^6 – 11 = 0 soll gelöst werden. Der Befehl solve(x^18 – 3*x^6 – 11 = 0) liefert die Lösungen

x_1 = ((11/2+117^(1/2)/2)^(1/3)+(11/2-117^(1/2)/2)^(1/3))^(1/6)

x_2 = -((11/2+117^(1/2)/2)^(1/3)+(11/2-117^(1/2)/2)^(1/3))^(1/6).

Approximiert lauten diese x1, 2 ≈ ±1.1777403511345441. Letzteres wird durch den Befehl solve mit entsprechendem Suchbereich geliefert.

solve(F1(x, a1, …, an) = F2(x, a1, …, an), x): Bestimmt die algebraischen Lösungen der Gleichung F1(x, a1, …, an) = F2(x, a1, …, an) in x (in Abhängigkeit von Parametern a1, …, an), falls möglich.

solve(F1(x) = F2(x), x1, x2): Bestimmt die numerischen Lösungen der Gleichung F1(x) = F2(x) im Bereich x1 <= x <= x2.

solve(F1(x) = F2(x), x1, x2, n): Bestimmt die numerischen Lösungen der Gleichung F1(x) = F2(x) im Bereich x1 <= x <= x2. Hierbei wird das Intervall [x1, x2] in n gleiche Teile unterteilt und in jedem Teilintervall wird höchstens eine Lösung ermittelt. Höheres n kann zwar potentiell mehr Lösungen liefern, verlängert dafür aber die Berechnungszeit. Diese Funktion kann dann nützlich sein, wenn der Benutzer über bestimmte Kenntnisse bezüglich der Lösungen der Gleichung F1(x) = F2(x) verfügt.

solvediffeq(F1(x, y, y‘, y“, …, y(n)) = F2(x, y, y‘, y“, …, y(n)), x, y): Liefert eine Lösung der Diferentialgleichung F1(x, y, y‘, y“, …, y(n)) = F2(x, y, y‘, y“, …, y(n)).

solvediffeq(F(x, y, y‘, y“, …, y(k)), x, y, n, x0, x1, y0, y1, …, yn-1): Liefert eine numerische Lösung der Diferentialgleichung y(n) = F(x, y, y‘, y“, …, y(k)), y(x0) = y0, …, y(n-1)(x0) = yn-1 mit k <= n im Bereich x_0 <= x <= x1. Für die numerische Berechnung wird das Intervall [x0, x1] in 1000 gleiche Teile unterteilt und in der Konsole werden alle 1001 Funktionswerte an den betreffenden Stellen ausgegeben.

Beispiel: solvedeq(-y,t,y,2,0,10,1,0) liefert eine numerische Lösung der Differentialgleichung y“(t) = -y(t), y(0) = 1, y'(0) = 0 im Bereich 0 <= t <= 10. Hierbei werden 1000 Funktionswerte von y(t) ausgegeben; die Schrittweite beträgt daher 0.01.

table(F(x1, …, xn)): Liefert eine Wahrheitswertetabelle für den logischen Ausdruck F(x1, …, xn). Beträgt die Anzahl der in F vorkommenden Veränderlichen jedoch mehr als 20, so wird aus Platzgründen die Tabellenberechnung nicht durchgeführt.

tangent(F(x1, …, xn), x1 = a1, …, xn = an): Liefert die Gleichung der Tangentialebene an den Graphen von F im Punkte (x1, …, xn) = (a1, …, an).

Beispiel: tangent(x^3+x/2+3,x=2) liefert die folgende Gleichung:

Y=12+(25*(x-2))/2.

Zusätzlich werden beide Graphen (der von x^3+x/2+3 und von 12+25*(x-2)/2) gezeichnet.

taylordiffeq(F(x, y, y‘, y“, …, y(k)), x, y, n, x0, y0, y1, …, yn-1, m): Liefert das Taylorpolynom m-ten Grades von der Lösung der Diferentialgleichung y(n) = F(x, y, y‘, y“, …, y(k)), y(x0) = y_0, …, y(n-1)(x0) = yn-1 mit k <= n.

Beispiel: taylordeq(-y,t,y,2,0,1,0,10) liefert das Taylorpolynom 10. Grades von der Lösung der Differentialgleichung y“(t) = -y(t), y(0) = 1, y'(0) = 0. Die exakte Lösung ist gegeben durch y(t) = cos(t), als Potenzreiche ausgedrückt also

y(t) = cos(t) = 1 – t^2/2! + t^4/4! – t^6/6! + …

Dementsprechend lautet die Ausgabe dann

1 + t^4/24 + t^8/40320-(t^2/2 + t^6/720 + t^10/3628800).

undeffuncs(f1, …, fn): Entfernt die Funktionen f1, …, fn aus dem Speicher.

undefallfuncs(): Entfernt alle vom Benutzer definierten Funktionen aus dem Speicher.

undefvars(x1, …, xn): Gibt die Variablen x1, …, xn wieder frei.

undefallvars(): Gibt alle vom Benutzer mit einem festen Wert belegten Variablen wieder frei.

undefall(): Gibt alle Variablen wieder frei und entfernt alle Funktionen, die im Laufe dieser Sitzung definiert wurden.

Alle Konsolenbefehle, die während einer Sitzung eingegeben wurden, werden gespeichert und können mit Pfeiltasten abgerufen werden (Pfeiltaste UP = vorheriger Befehl, Pfeiltaste DOWN = nächster Befehl).