簡體   English   中英

以標准偏差添加數組

[英]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]);
}

您當前不更新數組中存儲的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM