Mathematica als Taschenrechner

Man kann im Dialog elementare Rechnungen wie im Taschenrechner ausführen lassen.

Ein Beispiel: durch [SHIFT]-[RETURN] erhält man das Ergebnis.

7^25

1341068619663964900807

Mathematica kann automatisch beliebig große Zahlen (mit den üblichen Einschränkungen durch Speicherpatz und Rechengeschwindigkeit) berechnen .

7^250

18815250448759004797747440398770460753278965824274520564699796772813240860593715176907610212 ... 455072863886866361465162101062196720299016151483118251038883996011300645825474625761742043131249

Unter Verwendung der "palettes" kann die mathematische Standardbezeichnung verwendet werden.

7^250

18815250448759004797747440398770460753278965824274520564699796772813240860593715176907610212 ... 455072863886866361465162101062196720299016151483118251038883996011300645825474625761742043131249

Mathematica kann die Eigenwerte einer Matrix berechnen.

Eigenvalues[({{4, 5, 6}, {1, 2, 3}, {7, 8, 9}})]

{3/2 (5 + 29^(1/2)), 3/2 (5 - 29^(1/2)), 0}

Es können Eigenwerte und Eigenfunktionen berechnet werden.

Eigensystem[({{4, 5, 6}, {1, 2, 3}, {7, 8, 9}})]

{{1/2 (15 + 3 29^(1/2)), 1/2 (15 - 3 29^(1/2)), 0}, {{-1/23 + 1/46 (15 + 3 29^(1/2)), -25/23 ... 9^(1/2)), 1}, {-1/23 + 1/46 (15 - 3 29^(1/2)), -25/23 + 1/23 (15 - 3 29^(1/2)), 1}, {1, -2, 1}}}

Eine wichtige Eigenschaft von Mathematica ist es, mit Zahlen und mit Formeln rechnen zu können ("Formelmanipulation").

Mit Mathematica kann man parameterabhängig eine Gleichung lösen.

Solve[x^(1/2) + a == 2x + b, x]

{{x1/8 (1 + 4 a - (1 + 8 a - 8 b)^(1/2) - 4 b)}, {x1/8 (1 + 4 a + (1 + 8 a - 8 b)^(1/2) - 4 b)}}

Es kann können mit Mathematica unbestimmte Integrale gelöst werden (innerhalb der behandelbaren Funktionsklasse), wobei eine gewisse Vorsicht in der Überprüfung der der Ergebnisse angemessen ist.

∫x^(1/2) (a + x + 1/x)^(1/2) x

(x^(1/2) (a + 1/x + x)^(1/2) (2 (a + 2 x) (1 + a x + x^2)^(1/2) - (-4 + a^2) Log[a + 2 (x + (1 + a x + x^2)^(1/2))]))/(8 (1 + a x + x^2)^(1/2))

Mit  Mathematica können 2D und 3D Grafiken erzeugt werden.

Ein 2D-Plot einer Funktion:

Plot[Cos[x] + Sin[1.3x], {x, 0, 50}]

[Graphics:HTMLFiles/index_16.gif]

⁃Graphics⁃

Ein 3D-Plot einer Funktion in x und y, die Option "PlotPoints→30" spezifiziert die Auflösung. .

Plot3D[Sin[x y^3], {x, 0, 2.5}, {y, 0, 2.5}, PlotPoints30]

[Graphics:HTMLFiles/index_19.gif]

⁃SurfaceGraphics⁃

Umfangreichere Berechnungen

Über die Taschenrechner-Funktionalität hinaus lassen sich umfangreichere Berechnungen in kurzer Notation durchführen.

Erzeugung einer  200×200 - Matrix aus Zufallszahlen. Mit dem Semikolon am Ende wird die Ausgabe (aus Platzgründen) unterdrückt.

m = Table[Random[], {100}, {100}] ;

Berechnung und grafische Darstellung aller Eigenwerte der Zufallsmatrix (Auf aktuellen PC Rechnezeit im Sekundenbereich).

ListPlot[Abs[Eigenvalues[m]]]

[Graphics:HTMLFiles/index_23.gif]

⁃Graphics⁃

Mathematica kann große Zahlen behandeln, hier die Fakultät von 500.

500 !

12201368259911100687012387854230469262535743428031928421924135883858453731538819976054964475 ... 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Mathematica kann numerische Berechnungen mit vorgegebener Präzision durchführen, z.B. die Berechnung von pi auf 1000 Stellen.

N[π, 1000]

3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825 ... 253490428755468731159562863882353787593751957781857780532171226806613001927876611195909216420199

Mathematica kann Polynome faktorisieren:

Factor[x^100 + y^100]

(x^4 + y^4) (x^16 - x^12 y^4 + x^8 y^8 - x^4 y^12 + y^16) (x^80 - x^60 y^20 + x^40 y^40 - x^20 y^60 + y^80)

Mathematica kann Ausdrücke vereinfachen, wobei es unterschiedliche Sichtweisen geben kann, was "einfach" ist. Gegebenenfalls muß die gewünschte Form näher spezifiziert werden. Das Zeichen % steht für den vorangegangenen Ausdruck.

Simplify[%]

x^100 + y^100

Algorithmen in Mathematica

Mathematica enthält eine umfangreiche Sammlung an Algotithmen.

Mathematica kann Nullstellen und Integrale numerisch berechnen.

FindRoot[Cos[x] 2x + Log[x], {x, 1}]

{x0.632411}

NIntegrate[Log[x + 2Sin[x]], {x, 0, 2}]

1.28392

NSolve[x^5 - 7x^3 + 8x + 3 == 0, x]

{{x -2.41729}, {x -0.837507}, {x -0.454967}, {x1.42646}, {x2.28331}}

Mathematica enthält state-of-the-art-Algorithmen zur Faktorisierung von natürlichen Zahlen. Als Ergebnis erhält man eine Liste von Faktoren und Exponenten.

FactorInteger[2^110 - 1]

{{3, 1}, {11, 2}, {23, 1}, {31, 1}, {89, 1}, {683, 1}, {881, 1}, {2971, 1}, {3191, 1}, {201961, 1}, {48912491, 1}}

Erzeungung einer  2D - Tabelle:

m = Table[3^i + x^j, {i, 3}, {j, 4}]

{{3 + x, 3 + x^2, 3 + x^3, 3 + x^4}, {9 + x, 9 + x^2, 9 + x^3, 9 + x^4}, {27 + x, 27 + x^2, 27 + x^3, 27 + x^4}}

Anzeige in Matrix-Form:

MatrixForm[m]

( {{3 + x, 3 + x^2, 3 + x^3, 3 + x^4}, {9 + x, 9 + x^2, 9 + x^3, 9 + x^4}, {27 + x, 27 + x^2, 27 + x^3, 27 + x^4}} )

Berechnung des Nullraumes einer Matrix:

NullSpace[m]

{{x + x^2, -1 - x - x^2, 0, 1}, {x, -1 - x, 1, 0}}

Mathematica kann Differentialgleichungen numerisch und symbolisch (innerhalb bestimmter Funktionsklassen) lösen.

Hier löst Mathematica eine nichtlineare Differentialgleichung numerisch. Das Ergebnis liegt in Form einer Interpolationsfunktion ("interpolating function") vor.

NDSolve[{x ' '[t] + 2 x[t]^3 == Sin[t], x[0] == x '[0] == 0}, <br />     ... bsp;             x, {t, 0, 50}]

{{xInterpolatingFunction[{{0., 50.}}, <>]}}

Das Ergebnis kann dann grafisch dargestellt werden. Durch  /. wird die berechnete Lösung eingesetzt.

ParametricPlot[Evaluate[{x[t], x '[t]}/.%], {t, 0, 50}]

[Graphics:HTMLFiles/index_50.gif]

⁃Graphics⁃

Weitere Berechnungen

Mathematica kann Eigenwerte auch parameterabhängig berechnen.

v = Eigenvalues[{{3, 1}, {4, b}}]

{1/2 (3 + b - (25 - 6 b + b^2)^(1/2)), 1/2 (3 + b + (25 - 6 b + b^2)^(1/2))}

Die Mathematica-Ausgaben könen als Eingaben für weitere Berechnungen verwendet werden.

2D-Darstellung der parameterabhängigen Eigenwerte.

Plot[Evaluate[v], {b, -5, 5}]

[Graphics:HTMLFiles/index_55.gif]

⁃Graphics⁃

Nullstellenberechnung dazu:

Solve[First[v] == 0, b]

{{b4/3}}

Parameterabhängige Potenzreihendarstellung von Funktionen:

Series[Sin[x + b]/x, {x, 0, 10}]

Sin[b]/x + Cos[b] - 1/2 Sin[b] x - 1/6 Cos[b] x^2 + 1/24 Sin[b] x^3 + 1/120 Cos[b] x^4 - 1/7 ... in[b] x^7)/40320 + (Cos[b] x^8)/362880 - (Sin[b] x^9)/3628800 - (Cos[b] x^10)/39916800 + O[x]^11

Prinzahlen und Kurvenanpassungen.

Liste der ersten 100 Prinzahlen.

Table[Prime[i], {i, 100}]

{2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, ... , 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541}

Kurvenanpassung zu den Primzahlen:

Fit[%, {Log[x], x, x^2}, x]

4.98804 x + 0.00846197 x^2 - 10.789 Log[x]

Addition der angpaßten Funktionswerte:

Sum[%, {x, 1, 100}]

24128.3

Zum Vergleich die Originalwerte:

Sum[Prime[i], {i, 1, 100}]

24133

Darstellung der Differenzen zwischen Summen der Originalwerte und Summe der angepaßten Werte bis 100:

ListPlot[Table[Sum[Evaluate[Fit[Table[Prime[i], {i, imax}], {Log[x], x, x^2}, x], {x, imax}]] - Underoverscript[∑, i = 1, arg3] Prime[i], {imax, 2, 100}], PlotJoinedTrue]

[Graphics:HTMLFiles/index_70.gif]

⁃Graphics⁃

Umwandlung von Ausdrücken.

Komplexere Ausdrücke können in verschiedenen Frmen dargestellt werden. Mathematica bietet eine Reihe von Funktionalitäten zur Konvertierung.

Ein gegebener Ausdruck, der umgeformt werden soll:

e = (x - 1)^3 (2 + x) / ((1 + x) (x - 3)^3)

((-1 + x)^3 (2 + x))/((-3 + x)^3 (1 + x))

Zerlegung in eine Summe, wobei Zähler und Nenner gekürzt werden, der verbleibende Ausdruck im Nenner nicht ausmultipziert ist:

Expand[e]

-2/((-3 + x)^3 (1 + x)) + (5 x)/((-3 + x)^3 (1 + x)) - (3 x^2)/((-3 + x)^3 (1 + x)) - x^3/((-3 + x)^3 (1 + x)) + x^4/((-3 + x)^3 (1 + x))

ExpandAll multipliziert zusätzlich den Nenner aus.

ExpandAll[e]

-2/(-27 + 18 x^2 - 8 x^3 + x^4) + (5 x)/(-27 + 18 x^2 - 8 x^3 + x^4) - (3 x^2)/(-27 + 18 x^2 - 8 x^3 + x^4) - x^3/(-27 + 18 x^2 - 8 x^3 + x^4) + x^4/(-27 + 18 x^2 - 8 x^3 + x^4)

Mit Together erhalten wir einen Ausdruck mit Hauptnenner.

Together[%]

(-2 + 5 x - 3 x^2 - x^3 + x^4)/((-3 + x)^3 (1 + x))

Apart ergibt die Partialbruchzerlegung:

Apart[%]

1 + 10/(-3 + x)^3 + 29/(2 (-3 + x)^2) + 55/(8 (-3 + x)) + 1/(8 (1 + x))

Factor ergibt durch Faktorierung den Anfangsausdruck.

Factor[%]

((-1 + x)^3 (2 + x))/((-3 + x)^3 (1 + x))

Zusammenfassungen können bezüglich verschiedener Variabler von Interesse sein:

Ein algebraischer Ausdruck in zwei Variablen:

v = Expand[(3 + 2 x)^3 (x + 2 y)^2]

27 x^2 + 54 x^3 + 36 x^4 + 8 x^5 + 108 x y + 216 x^2 y + 144 x^3 y + 32 x^4 y + 108 y^2 + 216 x y^2 + 144 x^2 y^2 + 32 x^3 y^2

Zusammenfassen bezüglich x:  

Collect[v, x]

8 x^5 + 108 y^2 + x^4 (36 + 32 y) + x^3 (54 + 144 y + 32 y^2) + x^2 (27 + 216 y + 144 y^2) + x (108 y + 216 y^2)

Zusammenfassen bezüglicch y:

Collect[v, y]

27 x^2 + 54 x^3 + 36 x^4 + 8 x^5 + (108 x + 216 x^2 + 144 x^3 + 32 x^4) y + (108 + 216 x + 144 x^2 + 32 x^3) y^2

Faktorisieren der nicht von y abhängigen Terme:

FactorTerms[v, y]

(27 + 54 x + 36 x^2 + 8 x^3) (x^2 + 4 x y + 4 y^2)

Eine Reihe weiterer Umformungen beziehen sich auf trigonometrische Funktionen.

Entwicklung von Vielfachen des Arguments, wie z.B. (2 x) in Ausdrücke des Arguments x:  

TrigExpand[Cot[x] Sin[2x]]

1 + Cos[x]^2 - Sin[x]^2

Faktorisierung trigonometrischer Ausdrücke:

TrigFactor[%]

2 Cos[x]^2

Reduzierung durch Vielfache des Arguments:

TrigReduce[%]

1 + Cos[2 x]

Zerlegung in Real- und Imaginärteil unter der Voraussetzung, daß x und y reell sind:  

ComplexExpand[ Cos[x + I y] ]

Cos[x] Cosh[y] -  Sin[x] Sinh[y]

Zerlegung mit komplexen Werten von x und y:

ComplexExpand[ Sin[x + I y], {x, y} ]

-Cosh[Im[x] + Re[y]] Sin[Im[y] - Re[x]] +  Cos[Im[y] - Re[x]] Sinh[Im[x] + Re[y]]

Ermittlung von Teilausdrücken.

Ein algebraischer Ausdruck:

e = Expand[(1 + 3x + 4y^2)^3]

1 + 9 x + 27 x^2 + 27 x^3 + 12 y^2 + 72 x y^2 + 108 x^2 y^2 + 48 y^4 + 144 x y^4 + 64 y^6

Koeffizient von x in e.

Coefficient[e, x]

9 + 72 y^2 + 144 y^4

Exponent[expr, y] gibt die höchste Potenz von y an, die in expr auftritt.

Exponent[e, y]

6

Der vierte Term in  e.

Part[e, 4]

27 x^3

Zerlegung eines Bruches.

Gegebener Ausdruck:

r = (1 + x)^2/(2 (2 - y)^3)

(1 + x)^2/(2 (2 - y)^3)

Nenner:

Denominator[r]

2 (2 - y)^3

Zähler:

Numerator[r]

(1 + x)^2


Created by Mathematica  (October 23, 2005) Valid XHTML 1.1!