在标准差中添加数组
Adding Array in Standard Deviation
我正在用 10 个随机数做标准差。我必须找到 10 个数字的平均值。然后我减去平均值并将其平方。然后我必须再次找到平均值并找到平均值的平方根。例如:
2、4、4、4、5、5、7、9
这八位数字的平均值(平均值)为 5:
(2 + 4 + 4 + 4 + 5 + 5 + 7 + 9) / 8 = 5
首先计算每个元素与均值的差平方每个的结果:
( 2 - 5 )2 = 9
( 4 - 5 )2 = 1
( 4 - 5 )2 = 1
( 4 - 5 )2 = 1
( 5 - 5 )2 = 0
( 5 - 5 )2 = 0
( 7 - 5 )2 = 4
( 9 - 5 )2 = 16
接下来,计算这些值的平均值(平均值),然后取平方根:
Math.sqrt( (9 + 1 + 1 + 1 + 0 + 0 + 4 + 16) / 8) = 2
因此,数组 2、4、4、4、5、5、7、9 的标准差为 2。
我一直 运行 的问题是我不知道如何在第二次添加数字。它添加了原来的 10 个随机数。
public class StandardDeviation {
public static void main(String[] args) {
//Create array
int [] array = new int [10];
//Generate 10 random numbers
for (int i = 0; i < array.length; i++) {
array [i] = (int)(Math.random() * 100);
System.out.println(array[i]);
}
//Add 10 numbers together
int sum = 0;
for (int i : array) {
sum += i;
}
//Find Average
int average = sum/10;
System.out.println("Average: " + average);
//create New Array
int [] variance = new int [array.length];
for (int i = 0; i < variance.length; i++) {
variance[i] = array[i];
}
//Subtract Average and Square it
int sum2 = 0;
for (int i: variance) {
i -= average;
i *= i;
System.out.println(i);
}
System.out.println("Sum: " + addNumbers(variance));
}
public static int addNumbers (int [] variance) {
int total = 0;
for (int i = 0; i < variance.length; i++) {
total += variance[i];
}
return total;
}
}
为循环“//减去平均值并取平方”试试这个:
for (int i = 0; i < variance.length; ++i) {
variance[i] -= average;
variance[i] *= variance[i];
System.out.println(variance[i]);
}
您当前没有更新存储在数组中的值。
我正在用 10 个随机数做标准差。我必须找到 10 个数字的平均值。然后我减去平均值并将其平方。然后我必须再次找到平均值并找到平均值的平方根。例如:
2、4、4、4、5、5、7、9
这八位数字的平均值(平均值)为 5:
(2 + 4 + 4 + 4 + 5 + 5 + 7 + 9) / 8 = 5
首先计算每个元素与均值的差平方每个的结果:
( 2 - 5 )2 = 9
( 4 - 5 )2 = 1
( 4 - 5 )2 = 1
( 4 - 5 )2 = 1
( 5 - 5 )2 = 0
( 5 - 5 )2 = 0
( 7 - 5 )2 = 4
( 9 - 5 )2 = 16
接下来,计算这些值的平均值(平均值),然后取平方根:
Math.sqrt( (9 + 1 + 1 + 1 + 0 + 0 + 4 + 16) / 8) = 2
因此,数组 2、4、4、4、5、5、7、9 的标准差为 2。
我一直 运行 的问题是我不知道如何在第二次添加数字。它添加了原来的 10 个随机数。
public class StandardDeviation {
public static void main(String[] args) {
//Create array
int [] array = new int [10];
//Generate 10 random numbers
for (int i = 0; i < array.length; i++) {
array [i] = (int)(Math.random() * 100);
System.out.println(array[i]);
}
//Add 10 numbers together
int sum = 0;
for (int i : array) {
sum += i;
}
//Find Average
int average = sum/10;
System.out.println("Average: " + average);
//create New Array
int [] variance = new int [array.length];
for (int i = 0; i < variance.length; i++) {
variance[i] = array[i];
}
//Subtract Average and Square it
int sum2 = 0;
for (int i: variance) {
i -= average;
i *= i;
System.out.println(i);
}
System.out.println("Sum: " + addNumbers(variance));
}
public static int addNumbers (int [] variance) {
int total = 0;
for (int i = 0; i < variance.length; i++) {
total += variance[i];
}
return total;
}
}
为循环“//减去平均值并取平方”试试这个:
for (int i = 0; i < variance.length; ++i) {
variance[i] -= average;
variance[i] *= variance[i];
System.out.println(variance[i]);
}
您当前没有更新存储在数组中的值。