• Wir präsentieren Dir heute ein Stellenangebot für einen Frontend-Entwickler Angular / Java in Braunschweig. Hier geht es zur Jobanzeige

Quadratwurzel Genauigkeit

TimoN11

TimoN11

Mitglied
Hey,
Wieso ist die Quadratwurzelberechnung mit Math.pow ungenau?
Und unter welchen Kriterien kann man ein genaues Ergebnis rausbekommen?

Danke für eure Hilfe.
Grüße,
 
TimoN11

TimoN11

Mitglied
Moin die Aufgabe lautet so:
Die Quadratwurzel kann in der Regel bei der Berechnung in Java mit einem Gleitkommatyp nicht exakt bestimmt werden. Formulieren und begrunden Sie ein sinnvolles Kriterium, wann das Ergebnis genau genug ist.

Leider komme ich bei der Aufgabe überhaupt nicht weiter.
Ich habe nur im Internet das gefunden: Der Versuch, die n-te Wurzel in Java mit pow () zu finden, ist in einigen Fällen ungenau. Der Grund dafür ist, dass Math.pow (double a, double b) doppelte Zahlen verwendet und dabei die Genauigkeit verliert.

Jedoch verstehe ich nicht was die Beschreibung mit doppelten Zahlen meint. x hoch 1/n ist doch eigentlich die normale Wurzelformel.
 
H

httpdigest

Top Contributor
"Doppelte Zahlen" soll vermutlich die deutsche Übersetzung von "double-precision floating-point numbers" sein. Und mit "im Internet" meinst du wahrscheinlich: https://www.codeflow.site/de/article/java-nth-root Die vorgeschlagene Umrechnung/Umgehung hat aber letztlich nichts mit dem Problem zu tun.

Um das Kriterium zu finden, was hier gesucht wird, um zu sagen, dass das Ergebnis genau genug ist, schau dir mal "Unit in the Last Place" (ULP) an.
 
temi

temi

Top Contributor
Sorry, da bin ich raus. Mathematik ist nicht so mein Ding ;)

Da ich pragmatisch bin, wäre das Ergebnis für mich genau genug, wenn es für meine Anwendung genau genug ist. Wir haben das z. B. für die Berechnung in der Elektrotechnik benötigt, da war uns 1,73 (Wurzel aus 3) genau genug gewesen.

Auch noch ein Beispiel zu "Genauigkeit" aus meiner beruflichen Praxis: Wenn wir z. B. eine Kraft mit einer Sollwertangabe von 10,0 N ermitteln mussten, dann musste die Messung mit einer Genauigkeit von 0,01 N erfolgen. Salopp gesagt, "eine Kommastelle genauer".
 
Zuletzt bearbeitet:
H

httpdigest

Top Contributor
Ich glaube eher, dass hier die übliche Definition von Genauigkeit mit: "Ergebnis darf höchstens 0,5 ULP vom exakten mathematischen Ergebnis abweichen" gemeint ist.
 

Ähnliche Java Themen

Anzeige

Neue Themen


Oben