Ich habe eine ArrayList von ganzen Zahlen: [11, 15, 10, 19, 9, 1, 2, 16] und ich kann nicht scheinen, die richtige Antwort zurückzugeben.Berechnen Standardabweichung mit Java?
Mein Code:
static double Q2(ArrayList<Integer> input) {
Collections.sort(input);
ArrayList<Double> input2 = new ArrayList<>();
double sum = 0;
double sum2 = 0;
double sd = 0;
for (int i = 0; i < input.size(); i++) {
sum = sum + input.get(i);
}
double mean = sum/input.size();
for (int i = 0; i < input.size(); i++) {
input2.add((Math.pow((input.get(i) - mean), 2)));
}
for (int i = 0; i < input2.size(); i++) {
sum2 = sum2 + input2.get(i);
}
double mean2 = sum2/input2.size();
sd = Math.sqrt(mean2);
return sd;
Das soll voraussichtlich ausgegeben werden: 5,998697775350913
Meine Ausgabe ist: 6,010407640085654
Sie sich die Zeit danken, sehr geschätzt.
Ich habe die richtige Ausgabe mit Ihrem Code. http://ideone.com/XmTDb2 – jyotesh
Ich habe Ihren Code vereinfacht: http://ideone.com/hWTBgi. Ergebnis ist 5.998697775350913 – Zefick
Vielleicht ist das Problem in Ihrer Eingabe, überprüfen Sie, dass die gleiche Liste ist, die Sie hier posten. – sirandy