Eingabe • Syntax • Bruchdarstellung • Programmierung • Gleichungen lösen • Speicherfunktion • Rekursionen
Im oberen Textfeld des Rechners müssen die Rechenausdrücke
eingegeben werden, die berechnet werden sollen. Dies können
auch komplizierte, verschachtelte Terme sein. Mit einem Klick
auf die Schaltfläche
(wahlweise Eingabetaste)
wird der Term berechnet und das Ergebnis im unteren Textfenster
angezeigt.
Der Rechner kann so programmiert werden, daß die Eingabe
als Argument einer bestimmten Funktion aufgefaßt wird. Geben
Sie dazu entweder einen Funktionsterm ein, der die Variable x enthält,
oder einen Ausdruck, der mit f(x)= beginnt. Ein Gleichheitszeichen darf
für die Programmierfunktion nicht eingegeben werden. Falls Sie eine Gleichung
eingeben, so versucht der Rechner, Lösungen für die Gleichung
zu finden. (Siehe unten.)
Die Programmierung wird wieder
gelöscht durch die Eingabe f() oder nur x. Die aktuelle Programmierung
kann abgerufen werden durch die Eingabe f?.
Beispiel:
Eingabe | Anzeige | |
---|---|---|
x^2+x-1 | ![]() |
Programmiert |
2 | ![]() |
f(2)=5 |
-2 | ![]() |
|
x | ![]() |
Programmierung gelöscht |
Quadratwurzel von x | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sin(x) | Sinus von x (Bogenmaß oder Grad - siehe Kasten) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cos(x) | Kosinus von x (Bogenmaß oder Grad - siehe Kasten) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tan(x) | Tangens von x (Bogenmaß oder Grad - siehe Kasten) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sec(x) | Sekans von x (Bogenmaß oder Grad - siehe Kasten) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
csc(x) | Kosekans von x (Bogenmaß oder Grad - siehe Kasten) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
asin(x) | Arkussinus von x (Bogenmaß oder Grad - siehe Kasten) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
acos(x) | Arkuskosinus von x (Bogenmaß oder Grad - siehe Kasten) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
atan(x) | Arkustangens von x (Bogenmaß oder Grad - siehe Kasten) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
asec(x) | Arkussekans von x (Bogenmaß oder Grad - siehe Kasten) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
acsc(x) | Arkuskosekans von x (Bogenmaß oder Grad - siehe Kasten) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Alle trigonometrischen Funktionen und Umkehrfunktionen auch in der hyperbolischen Fassung mit angehängtem h, z.B.: sinh, cosh, acsch | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Standardmäßig werden trigonometrische Berechnungen im Bogenmaß ausgeführt. Sie können jedoch
auf das Gradsystem umstellen, indem Sie grad eingeben.
Mit rad wird wieder auf das Bogenmaßsystem umgestellt.
Falls Bogenmaß aktiviert ist, können Sie die Argumente der trigonometrischen Funktionen mit dem
Gradsymbol ° versehen, um mit Argumenten im Gradsystem zu rechnen. sin(30°) ergibt dann 0,5.natürlicher Logarithmus von x | log2(x) | Logarithmus von x zur Basis 2 | log10(x) | Logarithmus von x zur Basis 10 | logy(x|y) | Logarithmus zur Basis y von x | exp(x) | Exponentialfunktion zur Basis e von x | abs(x) | Absolutbetrag von x | int(x) | nächste Ganzzahl ≤ x | frac(x) | Anteil von x nach dem Komma (unabhängig vom Vorzeichen) | geoM(x|y) | geometrisches Mittel von x und y | harM(x|y) | harmonisches Mittel von x und y | fak(n) | Fakultät n! | n! | Fakultät n! (mit Vorsicht einsetzen) | bk(n|k) | Binomialkoeffizient n über k | fib(n) | n-te Fibonaccizahl | ggT(x|y) | größter gemeinsamer Teiler von x und y | ggT3(a|b|c) | ggT der Zahlen a,b und c; analog bis ggT6(a,b,c,d,e,f) | kgV(x|y) | kleinstes gemeinsames Vielfaches von x und y | kgV3(a|b|c) | kgV der Zahlen a,b und c; analog bis kgV6(a,b,c,d,e,f) | rnd(x) | Zufallszahl zwischen 0 und x | rnd() | Zufallszahl zwischen 0 und 1 | rndN(n|m) | ganze Zufallszahl zwischen n und m | prim(n) | Ergebnis des probabilistischen Primzahltests für n | (die statistische Fehlerquote für "true" liegt bei 7,9·10-29%, bei "false" ist sie 0%) prim(n|m) | Ergebnis des probabilistischen Primzahltests für n nach m Durchläufen | (die statistische Fehlerquote des Tests für "true" liegt bei 0,25m.) primzahl(x) | nächste probabilistische Primzahl ≥ x | primzahl(-x) | nächste probabilistische Primzahl ≤ x | faktor(n) | berechnet die Primfaktorzerlegung von n nach der rho-Methode | Teiler(n) | berechnet die Teilermenge von n | modpow(a|b|m) | berechnet ab (mod m) | modmult(a|b|m) | berechnet a·b (mod m) | phi(n) | berechnet φ(n) (Eulersche φ-Funktion) | primroot(n) | berechnet die kleinste Primitivwurzel von n | primroots(n) | berechnet alle Primitivwurzeln von n | primroots(n|m) | berechnet die ersten m Primitivwurzeln von n | ord(n|m) | berechnet die Ordnung der von n erzeugten Untergruppe von Z|m.
| Gibt aus Sicherheitsgründen -1 zurück, falls ord(n|m)=∞ jacobi(a|b) | berechnet das Jacobi-Symbol der ganzen Zahlen a und b | versucht, Lösungen der eingegebenen Gleichung bzw. Nullstellen
des eingegebenen Terms zu finden. Siehe unten | Durchläuft n-mal den Newton-Algorithmus für den eingegebenen Term
vom Startwert x0 aus. Der Term muß
in Anführungszeichen eingegeben werden! x0 und n können weggelassen werden.
Der Startwert ist dann eine zufällige Zahl zwischen -10 und 10, und der Standardwert für n ist 10. | |
Cent(x) | Berechnet den Cent-Wert des Schwingungsverhältnisses x | |
SV(x) | Berechnet das Schwingungsverhältnis des Centwertes x. |
pi | π = 3,14159265358979... |
e | Eulersche Zahl e = 2,71828182845905... |
Wenn die Option "Ergebnis als Bruch/Wurzel darstellen" aktiviert ist, werden die Ergebnisse nach Möglichkeit in einen Bruch umgewandelt. Falls der Dezimalbruch abbricht, geht dies sehr schnell, und das Resultat ist genau, falls nicht, wird mit einer →Kettenbruchzerlegung des Dezimalbruchs nach einem Bruch mit einer Übereinstimmung besser als 10-12 gesucht. Das Resultat muß jedoch nicht exakt sein! Es wird zudem untersucht, ob Zähler und/oder Nenner eine Quadratwurzel darstellen. Es wird auf Nenner bis √1000 untersucht.
Bei der Eingabe können periodische Dezimalbrüche mit einem kleinen p deklariert werden, z.B. 1,2p74 für 1,2747474747474... Dies wird intern in den entsprechenden Bruch umgerechnet. Die Berechnung erfolgt allerdings in Fließkommaarithmetik.
→Hier findet sich ein Rechner für Brüche, der "symbolisch", also mit echter Bruchrechnung, rechnet.
Mit der Funktion solve() steht eine Möglichkeit zur Verfügung,
reelle Nullstellen bzw. reelle Lösungen der als Argument eingegebenen Gleichung
oder des Terms zu approximieren. Die Variable muß x sein.
Beispiele:
Man kann Gleichungen auch direkt ohne solve eingeben,
bei Termen mit x wird diese Form der Eingabe als Programmierung verstanden
(siehe oben), hier ist also die Verwendung von solve() notwendig.
Es werden meist alle Lösungen gefunden, doch in manchen Fällen
versagt der (Newton-)Algorithmus komplett oder findet nicht alle Lösungen.
Für diese Fälle steht auf dieser Seite
ein Programm mit erweiterten Suchalgorithmen zur Verfügung.
Es stehen die 10 Speicher m0, m1, m2... bis m9 zur Verfügung, die mit z.B. m2=... gesetzt werden können. Bei der Eingabe m1=sin(3) wird sin(3) berechnet, angezeigt und im Speicher m1 abgelegt. Die Speicherinhalte können in den weiteren Eingaben einfach mit ihren Namen verwendet werden, z.B.: cos(m1^2).
Es ist möglich, in einem Schritt zunächst einen Speicher zu setzen und dann im Rechenausdruck zu verwenden. Es können auch mehrere Anweisungen hintereinander ausgeführt werden. Als Trennzeichen muß das Semikolon verwendet werden. Beispiel: m8=1,2345678; m8^2-3*m8-5. Angezeigt wird immer das Ergebnis des letzten Ausdruckes. Falls ein anderer Wert angezeigt werden soll als das Ergebnis der letzten Berechnung, so setzen Sie einfach diesen Wert, durch Semikolon getrennt, einzelstehend an das Ende. (Siehe erstes Beispiel unten.)
Weiterhin ist es möglich, nicht nur mehrere Anweisungen auf einmal ausführen zu lassen, sondern innerhalb der Anweisung temporäre Speicher zu definieren. Hiermit sind sogar kompliziertere rekursive Berechnungen möglich:
Im folgenden Beispiel erzeugen Sie die Fibonacci-Folge:
Eingabe | Anzeige | |
---|---|---|
m1=1;m2=1 | ![]() |
1 |
a=m2;m2=m1+m2;m1=a;m2 | ![]() | 2 |
![]() | 3 | |
![]() | 5 | |
![]() | 8 | |
![]() | 13 |
Im ersten Schritt werden die Speicher m1 und m2 auf 1 gesetzt.
Im zweiten Schritt wird der Inhalt von m2 in der temporären Variable a
gesichert, dann wird in m2 die Summe von m1 und m2 abgelegt, sodann
wird in m1 der alte Wert von m2 gespeichert, der in a abgelegt war.
Das einzelne m2 am Ende der Eingabe bewirkt, daß der Wert von m2
angezeigt wird.
Im 2. Beispiel approximieren Sie die Wurzel von 3 mit dem Heron-Verfahren
In m7 befindet sich die Näherung, der Startwert ist in diesem Falle 1. Sie können die 3 im rekursiven Berechnungsterm jederzeit austauschen, m7 (=Anzeige) geht dann sehr schnell gegen die Wurzel des neuen Wertes.
Eingabe | Anzeige | |
---|---|---|
m7=1 | ![]() | 1 |
m7=(m7+3/m7)/2 | ![]() |
2 |
![]() | 1,75 | |
![]() | 1,73214285714286 | |
![]() | 1,73205081001473 |
Approximieren von π über den Umfang von n-Ecken (n=6,12, 24 ...)
Eingabe | Anzeige | |
---|---|---|
m0=1;m1=3 | ![]() | 3 |
![]() | 3,10582854123025 | |
![]() | 3,13262861328124 | |
![]() | 3,13935020304687 | |
![]() | 3,14103195089051 |
Approximieren von π über das arithmetisch-geometrische Mittel
Mit a0=0, b0=1/√2, d0=1/2, an+1=(an+bn)/2 (arithmetisches Mittel), bn+1=√(an·bn) (geometrisches Mittel) und dn+1=dn-2n+1·(an-an+1)2, konvergiert die Folge 2(an)2/d sehr schnell gegen π.
Eingabe | Anzeige | |
---|---|---|
m1=1;m2=1/sqr(2);m3=1/2;m5=0;2*m1^2/m3 | ![]() | 4 |
![]() | 3,1876726427121 | |
![]() | 3,1416802932977 | |
![]() | 3,1415926538954 | |
![]() | 3,1415926535898 |
Die Speicherbelegung ist m1:=an, m2:=bn, m3:=dn,
m4:=an+1 und m5:=n.
Der Ausdruck (++m5) verwendet den Operator ++ in
der Präfixversion, der den Inhalt von m5 vor der Auswertung um 1 erhöht.
Newton-Algorithmus zum Approximieren von φ (Goldener Schnitt)
Der Goldene Schnitt ist dasjenige Verhältnis zweier Streckenlängen zueinander, bei dem
die längere Strecke sich zur kürzeren verhält wie die Summe beider Strecken zur längeren.
Wenn die kürzere Strecke die Länge 1 hat, so ergibt sich mit x für die Länge der längeren
Strecke die Gleichung
Der Newton-Algorithmus konvergiert, wenn er konvergiert, meist sehr schnell; daher wählen wir, um das Verhalten beobachten zu können, eine schlechte Anfangsnäherung x0=10. In m1 wird zunächst die erste Näherung vom Startwert 10 aus gespeichert, die nächsten Schritte verwenden dann jeweils mit m1 die jeweils letzte Näherung:
Eingabe | Anzeige | |
---|---|---|
![]() | 3,0384754553878 | |
m1=newton("x^2-x-1"|m1|1) | ![]() | 1,6701953451984 |
![]() | 1,6180344965451 | |
![]() | 1,6180339887499 | |
![]() | 1,6180339887499 |
Mit dem Startwert -1 erhalten wir die zweite Lösung, die jedoch für die "längere" Strecke eine negative Länge ergibt. Tatsächlich ergibt sich der goldene Schnitt, wenn die Länge der kürzeren Strecke den Betrag der zweiten Lösung hat und die längere Strecke die Länge 1 hat. Vergleichen Sie übrigens die beiden Lösungen miteinander!
Eingabe | Anzeige | |
---|---|---|
![]() | -0,6190458108921 | |
m2=newton("x^2-x-1"|m2|1) | ![]() | -0,6180339887354 |
![]() | -0,6180339887499 | |
![]() | -0,6180339887499 |
© Arndt Brünner, 25. 10. 2001
Version: 11. 10. 2003