怎样求众数和中位数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样求众数和中位数相关的知识,希望对你有一定的参考价值。

明明参加“超级少年”比赛,7位评委给他打的分数是90,89,85,92,88,94,92。那么评委们打的平均分是( ) 分,这组数据的众数是 ( ) 分,中位数是 ( ) 分。

  一、众数

    众数(Mode)统计学名词,在统计分布上具有明显集中趋势点的数值,代表数据的一般水平(众数可以不存在或多于一个)。 修正定义:是一组数据中出现次数最多的数值,叫众数,有时众数在一组数中有好几个。用M表示。 理性理解:简单的说,就是一组数据中占比例最多的那个数。

  计算方法

  (一)、根据单项数列求众数,不需要任何计算,可以直接从分配数列中找出出现次数或频率最大的一组标志值,就是所求的众数。

  (二)、对组距数列求众数。对众数的计算有两种公式:

  其中:f表示众数所在组次数;

  f-1表示众数所在组前一组的次数;

  f+1表示众数所在组

  众数 下限公式

  后一组的次数;

  L表示众数所在组组距的下限;

  U表示众数所在组组距的上限;

  i表示组距。

  二、中位数

  中位数(又称中值,英语:Median),统计学中的专有名词,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,通常取最中间的两个数值的平均数作为中位数。

  计算方法

  一个数集中最多有一半的数值小于中位数,也最多有一半的数值大于中位数。如果大于和小于中位数的数值个数均少于一半,那麽数集中必有若干值等同于中位数。

  设连续随机变量X的分布函数为F(X),那么满足条P(X≤m)=F(m)=1/2的数称为X或分布F的中位数。

  对于一组有限个数的数据来说,它们的中位数是这样的一种数:这群数据里的一半的数据比它大,而另外一半数据比它小。 计算有限个数的数据的中位数的方法是:把所有的同类数据按照大小的顺序排列。如果数据的个数是奇数,则中间那个数据就是这群数据的中位数;如果数据的个数是偶数,则中间那2个数据的算术平均值就是这群数据的中位数。

  中位数:也就是选取中间的数。一种衡量集中趋势的方法。

  要找中位数,首先需要从小到大排序,例如这组数据:23、29、20、32、23、21、33、25;

  将数据排序20、21、23、23、25、29、32、33;

  若有n个数,n为奇数,则选择第(n+1)/2个为中位数,若n为偶数,则中位数是(n/2以及n+1/2)的平均数。

参考技术A 均数就是几个数相加,除以数字的个数,本题为90.
众数指一组数字中重复次数最多的数,本题有2个92,所以众数是92.
中位数是将一组数字从小到大排列,最中间的那个数,本题排序后为:85,88,89,90,92,92,94,中间的数字是90。一般中位数指排序后的数字有50%个数字大于中位数,有50%的数字小于中位数。如果是偶数个数字,中位数是最中间两个数字的平均数。追问

最后一个答案是什么

追答

中位数是将一组数字从小到大排列,最中间的那个数,本题排序后为:85,88,89,90,92,92,94,中间的数字是90,所以中位数是90。

本回答被提问者采纳

JAVA中求某个数组的众数?自己写了个,但是不对

众数的定义:一组数据中出现次数最多的数称为这组数据的众数。 下面是我写的方法代码 public static double mode(double[] array) Arrays.sort(array); int count=0; int longest=0; double mode=0; for (int i=0; i<array.length; i++) if(array[i]==array[i+1]) count++; if(array[i]!=array[i+1]) longest=count; if (count>longest) mode=array[i]; longest=count; count=0; return mode; 我自己也觉得写得不太对,但是不知道该怎么修改

参考技术A public
static
double
mode(double[]
array)

Arrays.sort(array);
int
count
=
1;
int
longest
=
0;
double
mode
=
0;
for
(int
i
=
0;
i
<
array.length
-
1;
i++)

if
(array[i]
==
array[i
+
1])

count++;

else

count
=
1;//如果不等于,就换到了下一个数,那么计算下一个数的次数时,count的值应该重新符值为一
continue;

if
(count
>
longest)

mode
=
array[i];
longest
=
count;


System.out.println(longest);//打印出这个数出现的次数已判断是否正确
return
mode;

我运行过了,是对的
参考技术B 你好!
帮改了下,应该是对的
public
static
double
mode(double[]
array)
Arrays.sort(array);
int
count=1;
int
longest=0;
double
mode=0;
for
(int
i=0;
i
longest)
mode=array[i];
longest=count;

else
count=1;

return
mode;

你犯了几个错误,第一没有考虑边界情况,第二你重置变量的时机都不对。
打字不易,采纳哦!
参考技术C 帮改了下,应该是对的
public
static
double
mode(double[]
array)
Arrays.sort(array);
int
count=1;
int
longest=0;
double
mode=0;
for
(int
i=0;
i<array.length-1;
i++)
if(array[i]==array[i+1])

count++;
if
(count>longest)
mode=array[i];
longest=count;

else
count=1;

return
mode;

你犯了几个错误,第一没有考虑边界情况,第二你重置变量的时机都不对。

以上是关于怎样求众数和中位数的主要内容,如果未能解决你的问题,请参考以下文章

众数怎么求

中位数是啥,众位数又是啥

分组数据怎么求中位数

oracle sql 求众数

JAVA中求某个数组的众数?自己写了个,但是不对

python如何求一个众数