The standard deviation is the measure of how spread out numbers are. Its symbol is sigma( σ ). It is the square root of variance. The task is to calculate the standard deviation of some numbers.
Consider an example that consists of 6 numbers and then to calculate the standard deviation, first we need to calculate the sum of 6 numbers, and then the mean will be calculated. Then the standard deviation will be calculated using the standard deviation formula.
Standard deviation = square root of ∑(Xi - ų)2 / N
where,
Xi = each element of the array
ų = mean of the elements of the array
N = Number of elements
∑ = Sum of the each element
Examples:
Input : [12, 32, 11, 55, 10, 23, 14, 30]
Output : 14.438988Input : [10, 12, 22, 34, 21]
Output : 8.541663
Approach: Using Mathematical Formula
- First, create a class called calculateSD2
- Then create the main method and then in the main method create an object of the above class and call it using the object.
- Then declare an array in this class with the values given in the above example.
- Now, in order to iterate through the array, we need to find the size of the array.
- Now, use the for-loop and iterate through this array and increment it by 1 as we need to print all the elements of the array.
- Then, again use the for-loop and iterate through the array in order to calculate the sum of the elements of the array.
- After that, the mean will be calculated by mean = sum / n, where n is the number of elements in the array.
- Now, the standard deviation will be calculated with the help of mean, which is done by iterating through for-loop again and with the help of Mathematical predefined methods like Math.pow and Math.sqrt.
- After that, the value will be returned by that class and then print.
Java
// Java program to calculate the standard deviationclass calculateSD2 { double sum = 0.0; double standardDeviation = 0.0; double mean = 0.0; double res = 0.0; double sq = 0.0; double SD() { int[] arr = { 12, 32, 11, 55, 10, 23, 14, 30 }; int n = arr.length; System.out.println("Elements are:"); for (int i = 0; i < n; i++) { System.out.println(arr[i]); } for (int i = 0; i < n; i++) { sum = sum + arr[i]; } mean = sum / (n); for (int i = 0; i < n; i++) { standardDeviation = standardDeviation + Math.pow((arr[i] - mean), 2); } sq = standardDeviation / n; res = Math.sqrt(sq); return res; }}public class Standard { public static void main(String[] args) { calculateSD2 calsd = new calculateSD2(); double res = calsd.SD(); System.out.format("Standard Deviation = %.6f", res); }} |
Elements are: 12 32 11 55 10 23 14 30 Standard Deviation = 14.438988
Time Complexity: O(N) where N is the number of elements in the array.
Auxiliary Space: O(1), as constant space is used.
