簡體   English   中英

如何計算Java中數組列的標准偏差?

[英]How to calculate the standard deviation for an array column in Java?

這是一個數組:

int[][] array1 = {
                      {1,2},
                      {3,4},
                      {5,6},
                      {7,8},
                      {9,10}
                 };

我的目標是使用上面的數組來查找列的標准偏差:

public double stdevCol(int[][] array, int col)
{

}

這是我對總數的標准偏差函數:

public double stdev2D(int[][] array)
{
    int counter =0;
    double mean = mean2D(array);
    double sumOfSq =0;
    for(int i = 0; i<array.length; i++)
    {
        for(int j = 0 ; j< array[i].length; j++)
        {
            sumOfSq += Math.pow(array[i][j] - mean, 2.0);
            counter++;
        }
    }
    return Math.sqrt(sumOfSq/counter);
}

我的問題:如果使用總數作為參考點,我會從array[i].length切換到(array,col).length嗎?

實驗代碼

{
    int counter =0;
    double mean = meanCol(array);
    double sumOfSq =0;
    for(int i = 0; i<array[col].length; i++)
    {
        sumOfSq += Math.pow(array[col].length - mean, 2.0);
        counter++;
    }
    return Math.sqrt(sumOfSq/counter);
}
import java.io.*;


class GFG {


// Function for calculating
// variance
static double variance(double a[], int n) {
    // Compute mean (average of elements)
    double sum = 0;
    
    for (int i = 0; i < n; i++){
        sum += a[i];
    }
    double mean = (double)sum /(double)n;
 
    // Compute sum squared differences with mean.
    double sqDiff = 0;
    for (int i = 0; i < n; i++){
        sqDiff += (a[i] - mean) *(a[i] - mean);
     }
    return (double)sqDiff / n;
}
 
static double standardDeviation(double arr[], int n) {
    return Math.sqrt(variance(arr, n));
}
 
// Driver Code
public static void main (String[] args) {
 
double arr[] = {600, 470, 170, 430, 300};
int n = arr.length;
 
System.out.println( "Variance: " + variance(arr, n));
System.out.println ("Standard Deviation: " + standardDeviation(arr, n));

}
}

當然,所有學分都歸 vt_m,我剛剛更改了他的格式

暫無
暫無

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

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