Previous: Einführung in Zahlen, Up: Zahlen [Contents][Index]
Konvertiert alle Zahlen im Ausdruck expr in große Gleitkommazahlen.
Die Anzahl der Stellen wird durch die Optionsvariable
fpprec spezifiziert.
Hat die Optionsvariable float2bf den Wert false, gibt Maxima eine
Warnung aus, wenn eine Gleitkommazahl mit doppelter Genauigkeit in eine
große Gleitkommazahl umgewandelt wird.
Siehe auch die Funktion und den Auswertungsschalter float sowie die
Optionsvariable numer für die Umwandlung von Zahlen in Gleitkommazahlen
mit doppelter Genauigkeit.
Beispiele:
(%i1) bfloat([2, 3/2, 1.5]); (%o1) [2.0b0, 1.5b0, 1.5b0] (%i2) bfloat(sin(1/2)); (%o2) 4.79425538604203b-1 (%i3) bfloat(%pi),fpprec:45; (%o3) 3.1415926535897932384626433832795028841971694b0
Gibt den Wert true zurück, wenn das Argument number eine
große Gleitkommazahl ist, ansonsten den Wert false.
Siehe auch die Funktionen numberp, floatnump,
ratnump und integerp.
Beispiele:
(%i1) bfloatp(1.5b0); (%o1) true (%i2) a:bfloat(%e); (%o2) 2.718281828459045b0 (%i3) bfloatp(a); (%o3) true (%i4) bfloatp(1.5); (%o4) false
Standardwert: false
Die Optionsvariable bftorat kontrolliert die Umwandlung von großen
Gleitkommazahlen in rationale Zahlen. Hat bftorat den Wert false,
wird die Genauigkeit der Umwandlung von der Optionsvariablen
ratepsilon kontrolliert. Hat dagegen bftorat den Wert
true, wird die große Gleitkommazahl exakt durch die rationale Zahl
repräsentiert.
Hinweis: bftorat hat keinen Einfluss auf die Umwandlung in rationale
Zahlen mit der Funktion rationalize.
Beispiel:
(%i1) ratepsilon:1e-4;
(%o1) 1.e-4
(%i2) rat(bfloat(11111/111111)), bftorat:false;
`rat' replaced 9.99990999991B-2 by 1/10 = 1.0B-1
1
(%o2)/R/ --
10
(%i3) rat(bfloat(11111/111111)), bftorat:true;
`rat' replaced 9.99990999991B-2 by 11111/111111 = 9.99990999991B-2
11111
(%o3)/R/ ------
111111
Standardwert: true
Hat die Optionsvariable bftrunc den Wert true, werden bei der
Ausgabe einer großen Gleitkommazahl nachfolgende Nullen nicht angezeigt.
Beispiele:
(%i1) bftrunc:true; (%o1) true (%i2) bfloat(1); (%o2) 1.0b0 (%i3) bftrunc:false; (%o3) false (%i4) bfloat(1); (%o4) 1.000000000000000b0
Ist das Argument expr eine gerade ganze Zahl, wird true
zurückgegeben. In allen anderen Fällen wird false zurückgegeben.
evenp gibt für Symbole oder Ausdrücke immer den Wert false
zurück, auch wenn das Symbol als gerade ganze Zahl deklariert ist oder der
Ausdruck eine gerade ganze Zahl repräsentiert. Siehe die Funktion
featurep, um zu testen, ob ein Symbol oder Ausdruck eine gerade
ganze Zahl repräsentiert.
Beispiele:
(%i1) evenp(2); (%o1) true (%i2) evenp(3); (%o2) false (%i3) declare(n, even); (%o3) done (%i4) evenp(n); (%o4) false (%i5) featurep(n, even); (%o5) true
Die Funktion float konvertiert ganze, rationale und große
Gleitkommazahlen, die im Argument expr enthalten sind, in Gleitkommazahlen
mit doppelter Genauigkeit.
float ist auch eine Optionsvariable mit dem Standardwert false und
ein Auswertungsschalter für die Funktion ev. Erhält die
Optionsvariable float den Wert true, werden rationale und
große Gleitkommazahlen sofort in Gleitkommazahlen umgewandelt. Als
Auswertungsschalter der Funktion ev hat float denselben Effekt,
ohne dass die Optionsvariable float ihren Wert ändert. Im Unterschied
zur Funktion float werden durch das Setzen der Optionsvariablen oder bei
Verwendung als Auswertungsschalter keine ganze Zahlen in Gleitkommazahlen
umgewandelt. Daher können die beiden Kommandos ev(expr, float) und
float(expr) ein unterschiedliches Ergebnis haben.
Siehe auch die Optionsvariable numer.
Beispiele:
In den ersten zwei Beispielen werden die Zahlen 1/2 und 1 in eine
Gleitkommazahl umgewandelt. Die Sinusfunktion vereinfacht sodann zu einem
numerischen Wert. Das Auswertungsschalter float wandelt ganze Zahlen
nicht in eine Gleitkommazahl um. Daher wird sin(1) nicht zu einem
numerischen Wert vereinfacht.
(%i1) float(sin(1/2)); (%o1) 0.479425538604203 (%i2) float(sin(1)); (%o2) .8414709848078965 (%i3) sin(1/2),float; (%o3) 0.479425538604203 (%i4) sin(1),float; (%o4) sin(1)
Standardwert: true
Hat die Optionsvariable float2bf den Wert false, wird eine
Warnung ausgegeben, wenn eine Gleitkommazahl in eine große Gleitkommazahl
umgewandelt wird, da die Umwandlung zu einem Verlust an Genauigkeit führen
kann.
Beispiele:
(%i1) float2bf:true; (%o1) true (%i2) bfloat(1.5); (%o2) 1.5b0 (%i3) float2bf:false; (%o3) false (%i4) bfloat(1.5); bfloat: converting float 1.5 to bigfloat. (%o4) 1.5b0
Gibt den Wert true zurück, wenn das Argument number eine
Gleitkommazahl ist. Ansonsten wird false zurückgegeben. Auch wenn
number eine große Gleitkommazahl ist, ist das Ergebnis false.
Siehe auch die Funktionen numberp, bfloatp,
ratnump und integerp.
Beispiele:
(%i1) floatnump(1.5); (%o1) true (%i2) floatnump(1.5b0); (%o2) false
Standardwert: 16
ffprec ist die Zahl der Stellen für das Rechnen mit großen
Gleitkommazahlen. ffprec hat keinen Einfluß auf das Rechnen mit
Gleitkommazahlen in doppelter Genauigkeit. Siehe auch bfloat und
fpprintprec.
Beispiele:
(%i1) fpprec:16; (%o1) 16 (%i2) bfloat(%pi); (%o2) 3.141592653589793b0 (%i3) fpprec:45; (%o3) 45 (%i4) bfloat(%pi); (%o4) 3.1415926535897932384626433832795028841971694b0 (%i5) sin(1.5b0); (%o5) 9.97494986604054430941723371141487322706651426b-1
Standardwert: 0
fpprintprec ist die Anzahl der Stellen, die angezeigt werden, wenn eine
Gleitkommazahl ausgegeben wird.
Hat fpprintprec einen Wert zwischen 2 und 16, ist die Anzahl der
angezeigten Stellen für einfache Gleitkommazahlen gleich dem Wert von
fpprintprec. Hat fpprintprec den Wert 0 oder ist größer als
16 werden 16 Stellen angezeigt.
Hat für große Gleitkommazahlen fpprintprec einen Wert zwischen 2
und fpprec, ist die Anzahl der angezeigten Stellen gleich
fpprintprec. Ist der Wert von fpprintprec gleich 0 oder
größer als fpprec werden fpprec Stellen angezeigt.
fpprintprec kann nicht den Wert 1 erhalten.
Beispiele:
(%i1) fpprec:16; (%o1) 16 (%i2) fpprintprec:5; (%o2) 5 (%i3) float(%pi); (%o3) 3.1416 (%i4) bfloat(%pi); (%o4) 3.1415b0 (%i5) fpprintprec:25; (%o5) 25 (%i6) bfloat(%pi); (%o6) 3.141592653589793b0 (%i7) bfloat(%pi); (%o7) 3.141592653589793b0 (%i8) fpprec:45; (%o8) 45 (%i9) bfloat(%pi); (%o9) 3.141592653589793238462643b0 (%i10) fpprintprec:45; (%o10) 45 (%i11) bfloat(%pi); (%o11) 3.1415926535897932384626433832795028841971694b0
Hat den Rückgabewert true, wenn das Argument number eine ganze
Zahl ist. In allen anderen Fällen gibt integerp den Wert false
zurück.
integerp gibt für Symbole oder Ausdrücke immer den Wert false
zurück, auch wenn das Symbol als ganze Zahl deklariert ist oder der Ausdruck
eine ganze Zahl repräsentiert. Siehe die Funktion featurep, um zu
testen, ob ein Symbol oder Ausdruck eine ganze Zahl repräsentiert.
Beispiele:
(%i1) integerp (1); (%o1) true (%i2) integerp (1.0); (%o2) false (%i3) integerp (%pi); (%o3) false (%i4) declare (n, integer)$ (%i5) integerp (n); (%o5) false
Standardwert: false
Die Optionsvariable m1pbranch kontrolliert die Vereinfachung der
Exponentiation von -1 für den Fall, dass die Optionsvariable
domain den Wert complex hat. Hat m1pbranch für diesen
Fall den Wert true, wird die Exponentiation von -1 zu einem
Ausdruck vereinfacht, der dem Hauptwert entspricht. Die Auswirkung der
Optionsvariable m1pbranch ist in der folgenden Tabelle gezeigt.
domain:real
(-1)^(1/3): -1
(-1)^(1/4): (-1)^(1/4)
domain:complex
m1pbranch:false m1pbranch:true
(-1)^(1/3) 1/2+%i*sqrt(3)/2
(-1)^(1/4) sqrt(2)/2+%i*sqrt(2)/2
Siehe auch die Optionsvariable numer_pbranch.
Gibt den Wert true zurück, wenn number eine ganze positive Zahl
oder Null ist. Siehe auch integerp.
Beispiele:
(%i1) nonnegintegerp(2); (%o1) true (%i2) nonnegintegerp(-2); (%o2) false
Hat das Ergebnis true, wenn number eine ganze, rationale, eine
Gleitkommazahl oder eine große Gleitkommazahl ist. Ansonsten ist das
Ergebnis false.
numberp gibt für ein Symbol immer das Ergebnis false zurück.
Dies ist auch dann der Fall, wenn das Symbol eine numerische Konstante wie
%pi ist oder wenn das Symbol mit der Funktion declare eine
Eigenschaft wie integer, real oder complex erhalten
hat.
Beispiele:
(%i1) numberp (42); (%o1) true (%i2) numberp (-13/19); (%o2) true (%i3) numberp (3.14159); (%o3) true (%i4) numberp (-1729b-4); (%o4) true (%i5) map (numberp, [%e, %pi, %i, %phi, inf, minf]); (%o5) [false, false, false, false, false, false] (%i6) declare(a,even, b,odd, c,integer, d,rational, e,real); (%o6) done (%i7) map (numberp, [a, b, c, d, e]); (%o7) [false, false, false, false, false]
Standardwert: false
Hat die Optionsvariable numer den Wert true, werden rationale
Zahlen und große Gleitkommazahlen in Gleitkommazahlen umgewandelt.
Weiterhin werden Konstante wie zum Beispiel %pi, die einen
numerischen Wert haben, durch diesen ersetzt. Mathematische Funktionen mit
numerischen Argumenten vereinfachen zu einer Gleitkommazahl. Wird die
Optionsvariable numer gesetzt, erhält die Optionsvariable
float denselben Wert. Im Unterschied zur Optionsvariablen float
vereinfachen auch mathematische Funktionen mit einem ganzzahligen Wert wie zum
Beispiel sin(1) zu einem numerischen Wert.
numer ist auch ein Auswertungsschalter der Funktion ev. Der
Auswertungsschalter hat die gleiche Funktionsweise wie die Optionsvariable,
ohne dass die Optionsvariable ihren Wert ändert.
Beispiele:
Erhält numer den Wert true, werden rationale Zahlen, Konstante
mit einem numerischen Wert und mathematische Funktionen mit numerischen
Argumenten zu einer Gleitkommazahl ausgewertet oder vereinfacht.
(%i1) numer:false;
(%o1) false
(%i2) [1, 1/3, %pi, sin(1)];
1
(%o2) [1, -, %pi, sin(1)]
3
(%i3) numer:true;
(%o3) true
(%i4) [1, 1/3, %pi, sin(1)];
(%o4) [1, .3333333333333333, 3.141592653589793,
.8414709848078965]
numer ist auch ein Auswertungsschalter der Funktion ev. Hier wird
die Kurzschreibweise der Funktion ev verwendet.
(%i1) [sqrt(2), sin(1), 1/(1+sqrt(3))];
1
(%o1) [sqrt(2), sin(1), -----------]
sqrt(3) + 1
(%i2) [sqrt(2), sin(1), 1/(1+sqrt(3))],numer;
(%o2) [1.414213562373095, .8414709848078965, .3660254037844387]
Standardwert: false
Die Optionsvariable numer_pbranch kontrolliert die Vereinfachung der
Exponentiation einer negativen ganzen, rationalen oder Gleitkommazahl.
Hat numer_pbranch den Wert true und ist der Exponent eine
Gleitkommazahl oder hat die Optionsvariable numer den Wert true,
dann berechnet Maxima den Hauptwert der Exponentiation. Ansonsten wird ein
vereinfachter Ausdruck, aber nicht numerischer Wert zurückgegeben. Siehe auch
die Optionsvariable m1pbranch.
Beispiele:
(%i1) (-2)^0.75; (%o1) (-2)^0.75 (%i2) (-2)^0.75,numer_pbranch:true; (%o2) 1.189207115002721*%i-1.189207115002721 (%i3) (-2)^(3/4); (%o3) (-1)^(3/4)*2^(3/4) (%i4) (-2)^(3/4),numer; (%o4) 1.681792830507429*(-1)^0.75 (%i5) (-2)^(3/4),numer,numer_pbranch:true; (%o5) 1.189207115002721*%i-1.189207115002721
Die Variablen x_1, …, x_n erhalten die numerischen Werte
val_1, …, val_n. Die numerischen Werte werden immer dann
für die Variablen in Ausdrücke eingesetzt, wenn die Optionsvariable
numer den Wert true hat. Siehe auch ev.
Die Argumente val_1, …, val_n können auch beliebige Ausdrücke sein, die wie numerische Werte für Variablen eingesetzt werden.
Beispiele:
(%i1) numerval(a, 123, b, x^2)$
(%i2) [a, b];
(%o2) [a, b]
(%i3) numer:true;
(%o3) true
(%i4) [a, b];
2
(%o4) [123, x ]
Gibt true zurück, wenn das Argument expr eine ungerade ganze Zahl
ist. In allen anderen Fällen wird false zurückgegeben.
oddp gibt für Symbole oder Ausdrücke immer den Wert false
zurück, auch wenn das Symbol als ungerade ganze Zahl deklariert ist oder der
Ausdruck eine ungerade ganze Zahl repräsentiert. Siehe die Funktion
featurep, um zu testen, ob ein Symbol oder Ausdruck eine ungerade
ganze Zahl repräsentiert.
Beispiele:
(%i1) oddp(3); (%o1) true (%i2) oddp(2); (%o2) false (%i3) declare(n,odd); (%o3) done (%i4) oddp(n); (%o4) false (%i5) featurep(n,odd); (%o5) true
Standardwert: 2.0e-15
Die Optionsvariable ratepsilon kontrolliert die Genauigkeit, mit der
Gleitkommazahlen in rationale Zahlen umgewandelt werden, wenn die
Optionsvariable bftorat den Wert false hat. Für ein Beispiel
siehe die Optionsvariable bftorat.
Konvertiert alle Gleitkommazahlen einschließlich großer Gleitkommazahlen, die in dem Ausdruck expr auftreten, in rationale Zahlen.
Es mag überraschend sein, dass rationalize(0.1) nicht das Ergebnis
1/10 hat. Dies ist nicht speziell für Maxima. Ursache ist, dass die
gebrochene Zahl 1/10 in der internen Darstellung als binäre Zahl keine
endliche Darstellung hat.
Siehe auch die Funktionen float und bfloat sowie die
Auswertungsschalter float und numer, um eine rationale Zahl
in eine Gleitkommazahl umzuwandeln.
Beispiele:
(%i1) rationalize (0.5);
1
(%o1) -
2
(%i2) rationalize (0.1);
3602879701896397
(%o2) -----------------
36028797018963968
(%i3) fpprec : 5$
(%i4) rationalize (0.1b0);
209715
(%o4) -------
2097152
(%i5) fpprec : 20$
(%i6) rationalize (0.1b0);
236118324143482260685
(%o6) ----------------------
2361183241434822606848
(%i7) rationalize (sin (0.1*x + 5.6));
3602879701896397 x 3152519739159347
(%o7) sin(------------------ + ----------------)
36028797018963968 562949953421312
(%i8) float(%); (%o8) sin(0.1 x + 5.6)
Gibt true zurück, wenn number eine ganze oder rationale Zahl ist.
In allen anderen Fällen ist das Ergebnis false.
Siehe auch die Funktionen numberp, integerp,
floatnump und bfloatp.
Beispiele:
(%i1) ratnump(1/2); (%o1) true (%i2) ratnump(3); (%o2) true (%i3) ratnump(3.0); (%o3) false
Previous: Einführung in Zahlen, Up: Zahlen [Contents][Index]