This is documentation for Mathematica 4, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)

 Documentation /  Mathematica /  Das Mathematica Buch /  Höhere Mathematik in Mathematica /  Zahlen /

InhaltNumerische Größen

3.1.1 Typen von Zahlen

In Mathematica sind insgesamt vier Typen von Zahlen eingebaut.

Eingebaute Typen von Zahlen in Mathematica

Rationale Zahlen sind immer das Verhältnis zweier unkürzbarer ganzer Zahlen.

In[1]:= 12344/2222

Out[1]=

Gleitpunktzahlen erkennt man am expliziten Dezimalpunkt.

In[2]:= 5456.

Out[2]=

Eine Gleitpunktzahl kann eine beliebige Anzahl Stellen haben.

In[3]:= 4.54543523454543523453452345234543

Out[3]=

Komplexe Zahlen können ganze oder rationale Zahlen als Komponenten haben.

In[4]:= 4 + 7/8 I

Out[4]=

Sie können auch Gleitpunktzahlen als Komponenten haben.

In[5]:= 4 + 5.6 I

Out[5]=

Mehrere Versionen der Zahl 123

In Mathematica können Sie die verschiedenen Typen der Zahlen an ihren Köpfen erkennen. (Obwohl Zahlen in Mathematica Köpfe haben wie andere Ausdrücke auch, verfügen sie über keine expliziten Elemente, die man herausziehen könnte.)

Das Objekt 123 wird als eine exakte ganze Zahl mit dem Kopf Integer betrachtet.

In[6]:= Head[123]

Out[6]=

Durch die Anwesenheit eines expliziten Dezimalpunktes wird Mathematica veranlaßt, 123. als eine Gleitpunktzahl mit Kopf Real zu behandeln.

In[7]:= Head[123.]

Out[7]=

Tests für verschiedene Typen von Zahlen

NumberQ[x] testet auf eine beliebige Zahl.

In[8]:= NumberQ[5.6]

Out[8]=

5. wird als Real behandelt, deshalb ergibt IntegerQ False.

In[9]:= IntegerQ[5.]

Out[9]=

Wenn Sie komplexe Zahlen ausgiebig verwenden, sollten Sie eine Feinheit beachten: Wenn Sie eine Zahl wie 123. eingeben, betrachtet Mathematica sie als Gleitpunktzahl, nimmt aber an, daß ihr Imaginärteil genau Null ist. Möglicherweise wollen Sie manchmal komplexe Gleitpunktzahlen eingeben, deren Imaginärteile zwar Null sind, aber nur bis zu einer bestimmten Präzision.

Wenn der Imaginärteil die exakte ganze Zahl 0 ist, dann vereinfacht Mathematica komplexe zu reellen Zahlen.

In[10]:= Head[ 123 + 0 I ]

Out[10]=

Hier ist der Imaginärteil nur Null bis zu einer bestimmten Präzision, deshalb behält Mathematica die Form der komplexen Zahl bei.

In[11]:= Head[ 123. + 0. I ]

Out[11]=

Die Unterscheidung zwischen komplexen Zahlen, deren Imaginärteile genau Null oder nur Null bis zu einer bestimmten Präzision sind, mag pedantisch erscheinen. Wenn wir jedoch in Abschnitt 3.2.7 zum Beispiel die Interpretation von Potenzen und Wurzeln komplexer Zahlen behandeln, wird sich dieser Unterschied als bedeutsam erweisen.

Den Typ einer Zahl in Mathematica kann man einfach bestimmen, indem man mit Head[ausdr] ihren Kopf herauszieht. Für viele Zwecke ist es jedoch besser, Funktionen wie IntegerQ zu benutzen, die explizit auf bestimmte Typen testen. Diese Funktionen sind so konstruiert, daß sie True zurückgeben, wenn ihr Argument offensichtlich vom geforderten Typ ist und sonst False. Folglich wird IntegerQ[x] False ergeben, wenn Sie x keinen expliziten ganzzahligen Wert zugewiesen haben.

Bei symbolischen Berechnungen wollen Sie jedoch möglicherweise manchmal x als ganze Zahl behandeln, obwohl Sie keinen expliziten ganzzahligen Wert zugewiesen haben. Sie können sich über die Voraussetzung, daß das Symbol x keine ganze Zahl ist, hinwegsetzen, indem Sie explizit eine Zuweisung der Form x/: IntegerQ[x] = True vornehmen. Diese Zuweisung spezifiziert, daß sich jedesmal True ergibt, wenn Sie x ausdrücklich mit IntegerQ testen. Sie sollten jedoch beachten, daß die Zuweisung den Kopf von x nicht wirklich ändert, so daß zum Beispiel x auch weiterhin nicht zu n_Integer paßt. Mathematica zieht auch nicht automatisch Schlüsse aufgrund dieser Zuweisung. So kann es zum Beispiel nicht allein auf Grundlage dieser Zuweisung feststellen, daß IntegerQ[x^2] auch True ist.

Da x nicht explizit den Kopf Integer hat, gibt IntegerQ False zurück.

In[12]:= IntegerQ[x]

Out[12]=

Dies bestimmt, daß x tatsächlich eine ganze Zahl ist. x/: legt fest, daß die Regel mit x und nicht mit IntegerQ verbunden ist.

In[13]:= x/: IntegerQ[x] = True

Out[13]=

Die Definition setzt sich über die Vorgabe-Annahme, daß x keine ganze Zahl ist, hinweg.

In[14]:= IntegerQ[x]

Out[14]=

InhaltNumerische Größen