给定一类间隔和频率分布,任务是找到算术平均值。在频率分布的情况下,原始数据按具有相应频率的间隔排列。因此,如果我们有兴趣查找具有类间隔的数据的算术平均值,则必须知道中间变量x。可以使用间隔的中点来计算此变量。
Let lower limit of interval are lower_limit[] = {1, 6, 11, 16, 21}
Upper limit of interval are upper_limit[] = {5, 10, 15, 20, 25}
and frequency freq[] = {10, 20, 30, 40, 50} are given.
Where mid(x) = (lower[i] + upper[i]) / 2;
and mean = (freq[0] * mid[0] + freq[1] * mid[1] + . . . + freq[n – 1] * mid[n – 1]) / (freq[0] + freq[1] + . . . + freq[n-1])
= 2450 / 150
= 16.3333
例子:
Input : lower_limit[] = {1, 6, 11, 16, 21}
upper_limit[] = {5, 10, 15, 20, 25}
freq[] = {10, 20, 30, 40, 50}
Output : 16.3333
Input : lower_limit[] = {10, 20, 30, 40, 50}
upper_limit[] = {19, 29, 39, 49, 59}
freq[] = {15, 20, 30, 35, 40}
Output : 38.6429
C++
// CPP program to find class interval
// arithmetic mean.
#include
using namespace std;
// Function to find class interval arithmetic mean.
float mean(int lower_limit[], int upper_limit[],
int freq[], int n)
{
float mid[n];
float sum = 0, freqSum = 0;
// calculate sum of frequency and sum of
// multiplication of interval mid value
// and frequency.
for (int i = 0; i < n; i++) {
mid[i] = (lower_limit[i] +
upper_limit[i]) / 2;
sum = sum + mid[i] * freq[i];
freqSum = freqSum + freq[i];
}
return sum / freqSum;
}
// Driver function
int main()
{
int lower_limit[] = { 1, 6, 11, 16, 21 };
int upper_limit[] = { 5, 10, 15, 20, 25 };
int freq[] = { 10, 20, 30, 40, 50 };
int n = sizeof(freq) / sizeof(freq[0]);
cout << mean(lower_limit, upper_limit, freq, n);
return 0;
}
Java
// java program to find
// class interval
import java.io.*;
class GFG {
// Function to find class
// interval arithmetic mean.
static float mean(int lower_limit[],
int upper_limit[], int freq[], int n)
{
float mid[] = new float[n];
float sum = 0, freqSum = 0;
// calculate sum of frequency and sum of
// multiplication of interval mid value
// and frequency.
for (int i = 0; i < n; i++) {
mid[i] = (lower_limit[i] +
upper_limit[i]) / 2;
sum = sum + mid[i] * freq[i];
freqSum = freqSum + freq[i];
}
return sum / freqSum;
}
// Driver function
public static void main (String[] args) {
int lower_limit[] = { 1, 6, 11, 16, 21 };
int upper_limit[] = { 5, 10, 15, 20, 25 };
int freq[] = { 10, 20, 30, 40, 50 };
int n = freq.length;
mean(lower_limit, upper_limit, freq, n);
System.out.println(mean(lower_limit,
upper_limit, freq, n));
}
}
// This code is contributed by vt_m
Python 3
# Python 3 program to find class interval
# arithmetic mean.
# Function to find class interval
# arithmetic mean.
def mean(lower_limit, upper_limit, freq, n):
mid = [0.0] * n
sum = 0
freqSum = 0
# calculate sum of frequency and
# sum of multiplication of interval
# mid value and frequency.
for i in range( 0, n):
mid[i] = ((lower_limit[i] +
upper_limit[i]) / 2)
sum = sum + mid[i] * freq[i]
freqSum = freqSum + freq[i]
return sum / freqSum
# Driver function
lower_limit = [ 1, 6, 11, 16, 21 ]
upper_limit = [ 5, 10, 15, 20, 25 ]
freq = [10, 20, 30, 40, 50]
n = len(freq)
print(round(mean(lower_limit, upper_limit,
freq, n), 4))
# This code is contributed by
# Smitha Dinesh Semwal
C#
// C# program to find
// class interval
using System;
class GFG {
// Function to find class
// interval arithmetic mean.
static float mean(int []lower_limit,
int []upper_limit, int []freq, int n)
{
float []mid = new float[n];
float sum = 0, freqSum = 0;
// calculate sum of frequency and sum of
// multiplication of interval mid value
// and frequency.
for (int i = 0; i < n; i++) {
mid[i] = (lower_limit[i] +
upper_limit[i]) / 2;
sum = sum + mid[i] * freq[i];
freqSum = freqSum + freq[i];
}
return sum / freqSum;
}
// Driver function
public static void Main () {
int []lower_limit = { 1, 6, 11, 16, 21 };
int []upper_limit = { 5, 10, 15, 20, 25 };
int []freq = { 10, 20, 30, 40, 50 };
int n = freq.Length;
mean(lower_limit, upper_limit, freq, n);
Console.WriteLine(mean(lower_limit,
upper_limit, freq, n));
}
}
// This code is contributed by vt_m
PHP
Javascript
输出:
16.3333