Hilfe zum Rechner

Eingabe  •   Syntax  •   Bruchdarstellung  •   Programmierung  •   Gleichungen lösen  •   Speicherfunktion  •   Rekursionen

Eingabe

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.

Programmierung

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:

EingabeAnzeige
 x^2+x-1    Programmiert
2 f(2)=5
-2 f(-2)=1
x   Programmierung gelöscht  
Syntax, Funktionen, Konstanten
  1. Grundrechenarten: + - * /
  2. Potenzierung: ^ (Bsp.: 2,5^10)
  3. Modulodivision: mod oder % (Bsp.: 12 mod 5 oder 12%5)
  4. Klammerung: ausschließlich runde Klammern, beliebig verschachtelt
  5. wissenschaftliche Notation: 12340000000 kann als 1,234e+10 geschrieben werden, und 0,0000000123 als 1,23e-8.
  6. Dezimalkomma: Eingabe mit Komma (oder -Punkt), Ausgabe mit Dezimalkomma
  7. periodische Dezimalbrüche: Eingabe mit p vor der Periode (Bsp.: 2,1p6 für 2,166666... = 13/6).
    Wenn die Option Ergebnis als Bruch/Wurzel darstellen aktiviert ist, können auch solche Dezimalbrüche leicht in den zugehörigen echten Bruch umgewandelt werden. Diese Funktion besser auf der Bruchrechenseite verwenden.
  8. Funktionen:
    sqr(x) oder sqrt(x)  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.
    ln(x) und log(x)  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 (= e^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
    solve(Term oder Gleichung)versucht, Lösungen der eingegebenen Gleichung bzw. Nullstellen des eingegebenen Terms zu finden. Siehe unten
    newton("Term"|x0|n)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.
  9. Funktionen zum Cent-System von Schwingungsverhältnissen
            Cent(x)         Berechnet den Cent-Wert des Schwingungsverhältnisses x
    SV(x)     Berechnet das Schwingungsverhältnis des Centwertes x.
  10. Konstanten
        pi    π = 3,14159265358979...
    eEulersche Zahl e = 2,71828182845905...
Bruchdarstellung

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.

Lösen von Gleichungen, Finden von Nullstellen

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: solve(10x^2-7x-20), solve((x-1)/(x^2-1)=(5x-x^3)/(4-x^2)) oder solve(sin(x)/x=x^2-1)
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.

Speicherfunktion

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).

Rekursionen

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:

Beispiele

Im folgenden Beispiel erzeugen Sie die Fibonacci-Folge:

EingabeAnzeige
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.

EingabeAnzeige
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 ...)

EingabeAnzeige
m0=1;m1=3  3
 m1=m1*2;m0=m0/(sqr(2+sqr(4-m0*m0)));m0*m1 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 π.

EingabeAnzeige
m1=1;m2=1/sqr(2);m3=1/2;m5=0;2*m1^2/m3  4
m4=(m1+m2)/2;m2=sqr(m1*m2);m3=m3-2^(++m5)*(m1-m4)^2;m1=m4;2*m1^2/m33,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 x/1 = (x+1)/x, die äquivalent zur quadratischen Gleichung x² - x - 1 = 0 ist. Mit dem Newton-Algorithmus können die Nullstellen (Lösungen) rasch gefunden werden.

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:

EingabeAnzeige
 m1=newton("x^2-x-1"|10|1)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!

EingabeAnzeige
 m2=newton("x^2-x-1"|-1|1)-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