IsMathematikerRealNumber
Diese Seite beinhaltet eine Evaluator-Funktion im JACK3 System. |
Zugehörige Evaluatoren
- MathEvaluator
Beschreibung
Die Funktion isMathematikerRealNumber prüft, ob es sich bei einem gegebenen Objekt um eine reelle Zahl handelt und der eingegebene Term nicht weiter vereinfachbar ist. Die Funktion gibt einen Boolean zurück.
Hinweis: Nicht zu verwechseln mit IsRealNumber. Hier findet sich eine Übersicht aller Number-Funktionen.
Für diese Funktion ist die Eingabe dann eine reelle Zahl, wenn die folgenden Kriterien erfüllt sind:
- Die Eingabe lässt sich nicht zu Unendlich ausrechnen,
- Die Eingabe lässt sich zu einer reellen Zahl ausrechnen,
- Die Eingabe kann nicht weiter vereinfacht werden und
- Die Eingabe ist kein Doppelbruch oder ein Bruch mit Fließkommazahlen.
Eine Eingabe ist weiter vereinfachbar, wenn
- sie mindestens einen Operanten enthält
(+, -, *, /, ^, sqrt)
und - sich zu einer Ganzzahl ausrechnen lässt.
Syntax
isMathematikerRealNumber(Objekt objekt)
Parameter
- objekt - das zu überprüfende Objekt
Return Value
- Gibt einen Boolean zurück.
True
, wenn es sich um eine reelle Zahl nach obigen Kriterien handelt.
Beispiele
//Kein Operant isMathematikerRealNumber(5.5) --> returns true isMathematikerRealNumber(5) --> returns true isMathematikerRealNumber(constE()) --> returns true isMathematikerRealNumber(constPi()) --> returns true isMathematikerRealNumber(infinity()) --> returns false, da Unendlich nicht als Zahl definiert ist // Ein Operant isMathematikerRealNumber(sqrt(3)) --> returns true isMathematikerRealNumber(ln(4)) --> returns true isMathematikerRealNumber(cos(4)) --> returns true isMathematikerRealNumber(sin(2)) --> returns true isMathematikerRealNumber(tan(1)) --> returns true isMathematikerRealNumber(-6) --> returns true isMathematikerRealNumber(constE()^2) --> returns true isMathematikerRealNumber(constPi()/2) --> returns true isMathematikerRealNumber(2*3) --> returns false, der Ausdruck lässt sich weiter vereinfachen isMathematikerRealNumber(0.5/0.5) --> returns false, der Ausdruck lässt sich weiter vereinfachen isMathematikerRealNumber(sqrt(4)) --> returns false, der Ausdruck lässt sich weiter vereinfachen isMathematikerRealNumber(3^5) --> returns false, der Ausdruck lässt sich weiter vereinfachen // Zwei Operanden isMathematikerRealNumber(-1/5) --> returns true isMathematikerRealNumber(1/-5) --> returns true isMathematikerRealNumber(-sqrt(3)) --> returns true isMathematikerRealNumber(sqrt(4/9)) --> returns true isMathematikerRealNumber(sqrt(3)/2) --> returns true isMathematikerRealNumber(sqrt(sqrt(3))) --> returns true isMathematikerRealNumber(((3)^0.5)^0.5) --> returns true isMathematikerRealNumber(2^(1/3)) --> returns true isMathematikerRealNumber(sqrt(2)*constPi()) --> returns true isMathematikerRealNumber(1+sqrt(3)) --> returns true isMathematikerRealNumber(sqrt(-1)) --> returns false, es handelt sich um eine komplexe Zahl isMathematikerRealNumber(sqrt(2^2)) --> returns false, der Ausdruck lässt sich weiter vereinfachen isMathematikerRealNumber(0.5/(1/2)) --> returns false, der Ausdruck lässt sich weiter vereinfachen // Drei Operanden isMathematikerRealNumber(1/2*sqrt(3)) --> returns true isMathematikerRealNumber(sqrt(3^2+5)) --> returns false, der Ausdruck lässt sich weiter vereinfachen isMathematikerRealNumber((1/2)/(1/2)) --> returns false, der Ausdruck lässt sich weiter vereinfachen // Vier Operanden isMathematikerRealNumber(-1/2*sqrt(3)) --> returns true
Benutzung von Variablen
isMathematikerRealNumber([input=fillin1]) isMathematikerRealNumber([var=a])
Hinweise
Die Überprüfung mit Textfeldern funktioniert nur, wenn man den Formeleditor verwendet.
Gibt man keinen Editor an, wird für ein Textfeld ([input=fillin1] usw.
) ein OpenMath String zurückgegeben. Dadurch gibt isMathematikerRealNumber([input=fillin1])
sowie isMathematikerRealNumber('[input=fillin1]')
immer false zurück.
Um ein richtiges Ergebnis zu erlangen, muss Matches genutzt werden.