Hallo!
Ich möchte eine einfache Methode implementieren die das Geometrische Mittel berechnet.
Das habe ich auch schon getan, jedoch bin ich auf eine Kleinigkeit gestoßen die mich stutzig macht.
Mein Code:
getMesswerte() holt sich ein float array.
Der Code funktioniert und liefert des korrekte Ergebnis.
Mein Ursprünglicher Code war:
Dieser hat jedoch nicht den richtigen Wert ausgegeben, es war null oder eins.
Jetzt frage ich mich, warum hat das erst nach dem "zerpflücken" der Berechnung der Wurzel funktioniert?
Grüße!
Ich möchte eine einfache Methode implementieren die das Geometrische Mittel berechnet.
Das habe ich auch schon getan, jedoch bin ich auf eine Kleinigkeit gestoßen die mich stutzig macht.
Mein Code:
getMesswerte() holt sich ein float array.
Java:
public float berechnung() {
float sum = 1;
for (int i = 0; i < getMesswerte().length; i++) {
sum = sum * getMesswerte()[i];
}
double x1 = getMesswerte().length;
double x2 = 1 / x1;
return (float) Math.pow(sum, x2);
}
Der Code funktioniert und liefert des korrekte Ergebnis.
Mein Ursprünglicher Code war:
Java:
public float berechnung() {
float sum = 1;
for (int i = 0; i < getMesswerte().length; i++) {
sum = sum * getMesswerte()[i];
}
return (float) Math.pow(sum, 1/ getMesswerte().length);
}
Dieser hat jedoch nicht den richtigen Wert ausgegeben, es war null oder eins.
Jetzt frage ich mich, warum hat das erst nach dem "zerpflücken" der Berechnung der Wurzel funktioniert?
Grüße!