首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在标准差中添加数组

在标准差中添加数组
EN

Stack Overflow用户
提问于 2015-03-15 22:19:14
回答 1查看 103关注 0票数 0

我用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) =2

因此,与数组2,4,4,4,5,5,7,9的标准差是2。

我一直遇到的问题是,我想不出第二次怎么再加这些数字。它将原来的10个随机数相加。

代码语言:javascript
运行
复制
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;
}

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-15 22:25:46

对循环的“//减法平均值和平方”尝试如下:

代码语言:javascript
运行
复制
for (int i = 0; i < variance.length; ++i) {
    variance[i] -= average;
    variance[i] *= variance[i];
    System.out.println(variance[i]);
}

当前不更新存储在数组中的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29066872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档