Wurzel ziehen in Python?
Hallo alle zusammen, ich lerne seit einer weile Python, ich weiß bereits dass man mit
import math
math.sqrt(x)
eine Wurzel ziehen kann, jedoch würde mich interessieren wie genau dieser Code funktioniert.
Hoffe auf baldige Antworten!
3 Antworten
Programme rechnen Funktionen, wie z.b die von die Genannte Quadratwurzel, durch Approximations Verfahren aus.
Ein Beispiel für die Wurzel wäre z.b das Intervallhalbierungsverfahren. (Oder auch Binäre Suche)
Um die Wurzel von a zu bestimmen (wenn a >= 1) Beginnt man erst mit dem Intervall [1,a]
Nun bestimmt man den Mittelpunkt m von Intervall und schaut dann, ob m^2 größer oder kleiner als a ist. Wenn größer, dann nimmt man das Intervall [m,a], Wenn kleiner, [1,m]
Und dann Wiederholt man die Schritte, bis die Differenz vom Quadrat vom Mittelpunkt zu a kleiner ist, als ein Vorgegebener Genauigkeitswert.
Es wird jedoch nicht bei allen Zahlen möglich sein, den genauen Wert zu bestimmen, Wurzel 2 z.b hat unendlich viele Stellen, jedoch kann der Computer nur endlich viele abspeichern.
Das ist jetzt nur ein Beispiel für ein Algorithmus, der das umsetzten könnte, es gibt jedoch Verfahren, die viel Schneller gegen die gewollte Zahl konvergieren und der Code würde wahrscheinlich auch extremst optimiert
https://stackoverflow.com/a/51304651
Ob das seine Implementation oder die tatsächliche ist, weiß ich nicht genau
Kurz: Es hat dich nicht zu interessieren.
Sei froh, dass sich ein kluger Mensch Gedanken darüber gemacht hat, wie man am schnellsten die Quadratwurzel bis auf eine gewisse Genauigkeit berechnet. Du musst (und kannst) nicht alles verstehen.