Wie rechnet ein Taschenrechner eine Wurzel aus oder hat er alle Lösungen schon eingespeichert?

8 Antworten

Um es einfacher als meine Vorposter auszudrücken.

Jeder Mensch kann auf Grund von Formeln mathematische Ergebnisse errechnen. Händisch dauert es halt.

Ein Taschenrechner macht nichts anderes. Er berechnet auf Grund deiner Eingaben mit Hilfe der Formel das Ergebnis. Aber halt viel schneller.

PS: Es ist keine mathematische Vereinfachung. Nur ein x-tausendfach schnelleres Rechnen als Du es zustande bringen könntest.

Beispiel? 2x2 = 4. das hast Du im Kopf, bist also "schneller" als der Rechner. Du mußt ja die Zeit zum Eingeben auch berücksichtigen.

Die Wurzel aus 17 003 756 234 kannst Du auch errechnen. Dauert halt bei Dir länger als die Eingabe in einen Rechner, bei der Du auf Knopfdruck das korrekte Ergebnis siehst.

§1: Speichern ist unmöglich, da es unendlich viele reelle Zahlen gibt.

§2: "Vereinfachung" ist das falsche Wort. Man spricht von Algorithmus.

§3: Es gibt nicht 1 sondern sehr viele Algorithmen, die die Funktion sqrt(x) berechnen.

§4: Die wichtigste Frage ist die Genauigkeit (Anzahl Nachkommastellen, weil es bis auf wenige Quadratzahlen unendlich viele Nachkommastellen gibt {irrationales Ergebnis} ), und die Geschwindigkeit:

Algor.1: Bei Billig-Taschenrechner, die nicht mal 7 Nachkommastellen richtig rechnen, werden schnelle Näherungsformeln verwendet.

Algor2: Wurzel(x)=sqrt(x)=x^(1/2)=pow(x,0.5)=e^(ln(x)/2)=exp(log(x)/2)

Und log(x) =-summe ((-1)^k (-1 + x)^k)/k,k=1...∞ für abs(-1 + x)<1

exp(x)=1 + x + x^2/2 + x^3/6 + x^4/24 + x^5/120 +...

zusammen: sqrt(x)=summe binomial(1/2, n)*(x-1)^n, n=0...

∞; 

 abs(1 - x)<1

Algor3: Newton-Iteration

http://www.gerdlamprecht.de/Roemisch_JAVA.htm Beispiel 15 rechnet Dir das vor. Einfache (2.) Wurzeln bedeutet d=2;

Wichtig ist Abbruchbedingung abs(b/d-c)<5e-16 {also etwa 15 Stellen}

da die Iteration sonst nie endet! Der Variablentyp double ist auch nur etwa 15 Stellen genau. Schon bei a=27001 muss man deshalb auf 5e-14 runtergehen!

Als Zugabe steht in Variable c das Ergebnis von Algor.2, die natürlich gleich sein sollten.

Vorteil dieses Algorithmus: er konvergiert quadratisch, d.h. mit jedem Schritt verdoppelt sich die Genauigkeit. 8 Iterationsschritte reichen meist für 15 Nachkommastellen. Wenn Du Dir die Zwischenergebnisse ansehen willst, einfach aB[i]= vor eine Variable schrieben:

aB[i]=b=b-b/d+c;

Algor.4: hypergeometrische Formeln (auch nur unendliche Summen)

http://www.lamprechts.de/gerd/php/RechnerMitUmkehrfunktion.php

Algor.5: https://de.wikipedia.org/wiki/Kettenbruch

http://functions.wolfram.com/ElementaryFunctions/Sqrt/10/

Algor6: http://functions.wolfram.com/ElementaryFunctions/Sqrt/26/02/01/0001/

Sollte für heute reichen.

hypergerd  10.03.2017, 13:35

zu Algo1:

Wenn man nur 3 Iterationen von Algo 3 betrachtet, bekommt man

((8*x*(x+1)*(x*(x+6)+1))/(x*(x*(x*(x+28)+70)+28)+1)+(x*(x*(x*(x+28)+70)+28)+1)/(8*(x+1)*(x*(x+6)+1)))/2

Der Iterationsrechner gibt dann aus:

aB[i]=sqrt(i+1);aC[i]=Fx(i+1);

0 1                       1

1 1.4142135623730951 1.41421356237469
2 1.7320508075688772 1.7320508100147276
3 2 2.0000000929222947
4 2.23606797749979 2.2360688956433634
5 2.449489742783178 2.4494943716069653
6 2.6457513110645907 2.64576704419029
7 2.8284271247461903 2.8284685718801468
8 3 3.00009155413138
9 3.1622776601683795 3.16245562280389
10 3.3166247903554 3.316938934730457
11 3.4641016151377544 3.4646161864132696

also etwa 5 richtige Nachkommastellen.

1

Generell kann man sagen: TR (bzw.: Computer generell) errechnen Ergebnisse durch Reihen.

So ziemlich jede Funktion kann durch eine Reihe dargestellt werden.

Beispiel: Sinus-Funktion → sin(x) = x/1! - x³/3! + x⁵/5!.....

Je genauer man den Wert braucht, desto länger macht man die Reihe.

Reihenentwicklungen sind aber sehr kompliziert → das lernst du an der Uni.

Wenn es nicht funktionieren würde mit Reihen, dann könnten Computer nichts berechnen.

Für weitere Infos sind in den anderen Antworten einige Links angeführt.

Woher ich das weiß:eigene Erfahrung – langjährige Nachhilfe

Im TR sind Rechenschritte für die jeweiligen Operationen, in deinem Fall Wurzelziehen, eingespeichert.
Wurzeln kann man auch von Hand ziehen, das dauert einfach länger.
Der Rechner ist da lediglich etwas schneller als der Kopf.

Der Taschenrechner hat Möglichkeiten, die Du in dieser Geschwindigkeit nicht hast. Da ist ein Näherungsverfahren für das Wurzelziehen hinterlegt, das bei Drücken der entsprechenden Taste aktiviert wird.