怎样求众数和中位数
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 publicstatic
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;
你犯了几个错误,第一没有考虑边界情况,第二你重置变量的时机都不对。
以上是关于怎样求众数和中位数的主要内容,如果未能解决你的问题,请参考以下文章