Beregning af spredning i Java (metode)
Hejsa eksperter,Jeg sidder her og er igang med at lave en metode i java som kaldes spredning, men den er ved at give mig grå hår fordi den kommer med nogle forkerte værdier.
Nu kommer det matematiske lige først.
Først beregnes middelværdien(gennemsnit)
(samlet sum / antal)
fx ved et array = {1,2,3,4} som så er 10/4 = 2,5
Herefter beregnes spredningen ved hjælp af formelm
(1-2,5)^2+(2-2,5)^2+(3-2,5)^2+(4-2,5)^2 = ?
Til sidste tages kvadratroden af den samlede summasion, men jeg får nogle forkerte værdier efter at have beregnet middelværdien?
area = awt.Liste
if (e.getSource() == spredning)
{
double sum = 0;
double middelværdi = 0;
String[] items = area.getItems();
for(int i = 0; i < items.length; i++)
{
sum += Double.parseDouble(items[i]);
}
System.out.println("Sum: "+sum);
middelværdi = sum/area.getItemCount();
System.out.println("Middelværdi "+middelværdi);
String[] item = area.getItems();
for(int i = 0; i < item.length; i++)
{
sum += Math.pow((Double.parseDouble(item[i])-middelværdi),2);
System.out.println(sum += Math.pow((Double.parseDouble(items[i])-middelværdi),2));
}
System.out.println("Sum "+sum);
sum = sum/area.getItemCount();
System.out.println("Ny Sum "+sum);
area.add("Spredning: "+(Math.sqrt(sum)));
System.out.println("Spredning: "+Math.sqrt((sum)));
}
Her har jeg lige lavet nogle system.out.println for 10 tal
Sum: 25.0
Middelværdi 2.5
25.5 <- HER ER FEJLEN, den starter med et så højt tal? Hvorfor?
30.0
30.5
35.0
35.5
36.0
40.5
45.0
45.5
70.0
Sum 70.0
Ny Sum 7.0
Spredning: 2.6457513110645907