Program for Mean Absolute Deviation
Last Updated :
08 Apr, 2021
Given an array of size n, find mean absolute deviation.
Prerequisite : Mean, Variance and Standard Deviation
Examples:
Input : arr[] = {10, 15, 15, 17, 18, 21}
Output : 2.66667
Input : arr[] = {23.54, 56, 34.56, 67, 45.34,
56.78, 78, 21}
Output : 16.6675
Mean absolute deviation or Average absolute deviation of data set is the average of absolute difference from mean or central point.Mean absolute deviation can be calculated by using the method given below.
Let arr[n] be an array of size n and the task is to find mean absolute deviation.
Mean absolute deviation = (abs(arr[0] – mean) + abs(arr[1] – mean) + . . . + abs(arr[n-1] – mean) / n;
where i = 0, 1, 2, . . . n-1 and “abs” is absolute difference.
mean = (arr[0] + arr[1] + arr[2] + . . . + arr[n-1]) / n;
C++
#include <bits/stdc++.h>
using namespace std;
float Mean( float arr[], int n)
{
float sum = 0;
for ( int i = 0; i < n; i++)
sum = sum + arr[i];
return sum / n;
}
float meanAbsoluteDeviation( float arr[], int n)
{
float absSum = 0;
for ( int i = 0; i < n; i++)
absSum = absSum + abs (arr[i] - Mean(arr, n));
return absSum / n;
}
int main()
{
float arr[] = { 10, 15, 15, 17, 18, 21 };
int n = sizeof (arr) / sizeof (arr[0]);
cout << meanAbsoluteDeviation(arr, n);
return 0;
}
|
Java
import java.io.*;
class GFG {
static float Mean( float arr[], int n)
{
float sum = 0 ;
for ( int i = 0 ; i < n; i++)
sum = sum + arr[i];
return sum / n;
}
static float meanAbsDevtion( float arr[],
int n)
{
float absSum = 0 ;
for ( int i = 0 ; i < n; i++)
absSum = absSum + Math.abs(arr[i]
- Mean(arr, n));
return absSum / n;
}
public static void main (String[] args) {
float arr[] = { 10 , 15 , 15 , 17 , 18 , 21 };
int n = arr.length;
System.out.println(meanAbsDevtion(arr, n));
}
}
|
Python3
def Mean(arr, n) :
sm = 0
for i in range ( 0 , n) :
sm = sm + arr[i]
return sm / / n
def meanAbsoluteDeviation(arr, n) :
absSum = 0
for i in range ( 0 , n ):
absSum = absSum + abs (arr[i] -
Mean(arr, n))
return absSum / n
arr = [ 10 , 15 , 15 , 17 , 18 , 21 ]
n = len (arr)
print (meanAbsoluteDeviation(arr, n))
|
C#
using System;
class GFG {
static float Mean( float []arr, int n)
{
float sum = 0;
for ( int i = 0; i < n; i++)
sum = sum + arr[i];
return sum / n;
}
static float meanAbsDevtion( float []arr,
int n)
{
float absSum = 0;
for ( int i = 0; i < n; i++)
absSum = absSum + Math.Abs(arr[i]
- Mean(arr, n));
return absSum / n;
}
public static void Main ()
{
float []arr = { 10, 15, 15, 17, 18, 21 };
int n = arr.Length;
Console.WriteLine(meanAbsDevtion(arr, n));
}
}
|
PHP
<?php
function Mean( $arr , $n )
{
$sum = 0;
for ( $i = 0; $i < $n ; $i ++)
$sum = $sum + $arr [ $i ];
return $sum / $n ;
}
function meanAbsoluteDeviation( $arr , $n )
{
$absSum = 0;
for ( $i = 0; $i < $n ; $i ++)
$absSum = $absSum + abs ( $arr [ $i ] -
Mean( $arr , $n ));
return $absSum / $n ;
}
$arr = array (10, 15, 15, 17, 18, 21);
$n = sizeof( $arr );
echo meanAbsoluteDeviation( $arr , $n );
?>
|
Javascript
<script>
function Mean(arr, n)
{
let sum = 0;
for (let i = 0; i < n; i++)
sum = sum + arr[i];
return sum / n;
}
function meanAbsDevtion(arr, n)
{
let absSum = 0;
for (let i = 0; i < n; i++)
absSum = absSum + Math.abs(arr[i]
- Mean(arr, n));
return absSum / n;
}
let arr = [ 10, 15, 15, 17, 18, 21];
let n = arr.length;
document.write(meanAbsDevtion(arr, n));
</script>
|
Output:
2.66667
Share your thoughts in the comments
Please Login to comment...