精华内容
下载资源
问答
  • JAVA求数组的平均数,众数,中位数

    千次阅读 2021-07-03 13:55:48
    中位数中位数是指把一组数据从小到大排列,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的个数为偶数,那就把中间的两个数之和除以2,所得的结果就是中位数。 众数:众数是指一组数据中出现...

    目录

    1、名称解释

    2、实例代码 

    (1)求平均数

    (2)求中位数

    (3)求众数


    1、名称解释

    平均数:是指一组数据之和,除以这组数的个数,所得的结果就是平均数。

    中位数:中位数是指把一组数据从小到大排列,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的个数为偶数,那就把中间的两个数之和除以2,所得的结果就是中位数。

    众数:众数是指一组数据中出现次数最多的那个数,众数可以是0个或多个。

    2、实例代码 

    (1)求平均数

    public static double mean(int[] arr) {
    		int sum = 0;
    		for (int i = 0; i < arr.length; i++) {
    			sum += arr[i];
    		}
    		return (double) sum / arr.length;
    	}

    (2)求中位数

    public static double median(int[] arr) {
    		// 先排序
    		Arrays.sort(arr);
    		// 如果是偶数,则为中间两个数的和除以2
    		if (arr.length % 2 == 0) {
    			return (double) ((arr[arr.length / 2 - 1] + arr[arr.length / 2])) / 2;
    		}
    		// 否则就是中间这个数
    		return arr[arr.length / 2];
    	}

    (3)求众数

    public static List<Integer> mode(int[] arr) {
    		Map<Integer, Integer> map = new HashMap<>();
    		Set<Map.Entry<Integer, Integer>> set = map.entrySet();
    		List<Integer> list = new ArrayList<>();
    		// 结果
    		List<Integer> res = new ArrayList<>();
    		// 统计元素出现的次数,存入Map集合
    		for (int item : arr) {
    			map.put(item, map.getOrDefault(item, 0) + 1);
    		}
    		// 将出现的次数存入List集合
    		map.forEach((k, v) -> {
    			list.add(v);
    		});
    		//集合排序
    		Collections.sort(list);
    		// 得到最大值
    		int max = list.get(list.size() - 1);
    		// 根据最大值获取众数
    		for (Map.Entry<Integer, Integer> entry : set) {
    			if (entry.getValue() == max) {
    				res.add(entry.getKey());
    			}
    		}
    		return res;
    	}

    展开全文
  • import sysclass Stats:def __init__(self, sequence):# sequence of numbers we will process# convert all items to floats for numerical processingself.sequence = [float(item) for item in sequence]def sum...

    import sys

    class Stats:

    def __init__(self, sequence):

    # sequence of numbers we will process

    # convert all items to floats for numerical processing

    self.sequence = [float(item) for item in sequence]

    def sum(self):

    if len(self.sequence) < 1:

    return None

    else:

    return sum(self.sequence)

    def count(self):

    return len(self.sequence)

    def min(self):

    if len(self.sequence) < 1:

    return None

    else:

    return min(self.sequence)

    def max(self):

    if len(self.sequence) < 1:

    return None

    else:

    return max(self.sequence)

    def avg(self):

    if len(self.sequence) < 1:

    return None

    else:

    return sum(self.sequence) / len(self.sequence)

    def median(self):

    if len(self.sequence) < 1:

    return None

    else:

    self.sequence.sort()

    return self.sequence[len(self.sequence) // 2]

    def stdev(self):

    if len(self.sequence) < 1:

    return None

    else:

    avg = self.avg()

    sdsq = sum([(i - avg) ** 2 for i in self.sequence])

    stdev = (sdsq / (len(self.sequence) - 1)) ** .5

    return stdev

    def percentile(self, percentile):

    if len(self.sequence) < 1:

    value = None

    elif (percentile >= 100):

    sys.stderr.write('ERROR: percentile must be < 100. you supplied: %s\n'% percentile)

    value = None

    else:

    element_idx = int(len(self.sequence) * (percentile / 100.0))

    self.sequence.sort()

    value = self.sequence[element_idx]

    return value

    展开全文
  • 本文介绍平均值、几何均值、调和均值、中位数、截尾法以及众值估计的求解方法,并用matlab对实例进行求解。 各值的特点 平均值 无系统误差和粗大误差时,直接求平均的结果最接近真值,用它来表示测量结果是最为可靠...

    均值求解

    本文介绍平均值、几何均值、调和均值、中位数、截尾法以及众值估计的求解方法,并用matlab对实例进行求解。

    各值的特点

    平均值

    • 无系统误差和粗大误差时,直接求平均的结果最接近真值,用它来表示测量结果是最为可靠、简单的。
    • 估计误差小,能反映出所有的数据特征。
    • 易受到粗大误差的影响,属于非稳健估计。
    • 计算简单

    几何均值

    • 表示平均增长率或变化率。
    • 不具有最佳性、属于非稳健估计。
    • 在实际运用中使用的不多

    调和均值

    • 一般用来分析数据含有某因素倒数的影响,如:平均密度、总平均速度、平均寿命等。
    • 不具有最佳性、属于非稳健估计。
    • 在实际运用中使用的不多。

    中位数

    • 对偏态数据的偏态不敏感。
    • 估计误差比 x ˉ \bar{x} xˉ大。
    • 不能反映出数据的全部信息,但是也因此有较好的稳健性。
    • 计算复杂(需要排序)。

    截尾法均值

    • 特性介于均值与中位数之间,拥有两者共同的优缺点。
    • 可以弥补均值的非稳健性和中位值的效率低的特点。
    • 属于稳健估计法。
    • 经验表明一般情况截去数据中最小的10%和最大的%10.

    众值

    • 仅可以反映出现次数最多的数据信息,丢失的信息较多。
    • 多峰分布下,难以确定众值或众值偏差较大。
    • 估计误差和统计特性难以分析。
    • 实际应用较少。

    编程求解

    问题

    对某真值为5的数据进行8次测量,测量值分别为:5.001, 5.002, 4.998, 4.993, 5.001, 5.008, 5.500, 4.997.试分别采用最小二乘(平均值)、几何均值、调和均值、中位数、截尾法以及众值估计这组测量数据的测量值,并比较优缺点。

    matlab求解

    题目要求用多种指标:平均值、几何均值、调和均值、中位数、截尾法以及众值估计测量数据的真值,并用偏差、计算量等指标分析各个估计方法的优缺点。
    将题目所给的数据输入matlab,编程求解各个待求量,程序如下:

    clear;clc;
    %edit by callmiaoup
    %data 2021-4-20
    %Ver 1.0
    data=[5.001,5.002,4.998,4.993,5.001,5.008,5.500,4.997]; %输入数据
    ave=(sum(data)/length(data));  %平均值
    geoave=(data(1)*data(2)*data(3)*data(4)*data(5)*data(6)*data(7)*data(8))^(1/length(data));  %几何均值
    reconcileave=1/(1/data(1)+1/data(2)+1/data(3)+1/data(4)+1/data(5)+1/data(6)+1/data(7)+1/data(8))*length(data);  %调和均值
    sort=sort(data);  %排序
    mid=(sort(length(data)/2)+sort(length(data)/2+1))/2;  %中位数
    truncation=(sort(2)+sort(3)+sort(4)+sort(5)+sort(6)+sort(7))/(length(data)-2);  %截尾法
    mode=mode(data);  %众值
    
    

    运行结果如图:
    在这里插入图片描述
    使用tic-toc命令可以查看各个数据求解的耗时,将其加上。运行程序。

    结果分析

    将实测结果用表格的形式列出来:

    均值类型结果绝对误差相对误差误差排序耗时(us)耗时排序
    最小二乘均值5.06250.06251.25%6973
    几何均值5.05990.05991.20%51755
    调和均值5.05750.05751.15%41294
    中位数5.0010.0010.02%1781
    截尾法均值5.00120.00120.02%3862
    众值5.0010.0010.02%12116

    由表格可以分析出:从计算精度来看,对比求平均的计算结果和真实值,误差有小到高的算法分别为:众值、中位数、截尾均值、调和均值、几何均值、最小二乘(平均值)。其中中位数和众值误差在所有方法的对比中最低,为0.02%.
    从计算耗时来看,中位数耗时最短,其次是截尾法均值,但是这两种方法在测量耗时时均为将数据升序排列的时间计算其中,所以一段样本在未经处理时,中位数和截尾法均值的计算时长是不短的。其次是最常用的平均值,耗时在100us以内。耗时最长的是众值,在程序求解众值时,因为需要不短搜索与储存出现次数最多的数值,所以对于计算能力和存储空间的要求都较高,这也是众值在实际运用中不常采用的原因之一。

    总结

    随机误差影响下测量数据表现为某种随机变量,其分布中心位置理论上可用期望值(数学期望/均值)表征。求均值的方法很多,使用的领域和不尽相同,没有绝对好于绝对不好的方法,我们需要在实际使用时找到最适合当前数据的均值。

    展开全文
  • python 计算平均值中位数、标准差

    千次阅读 2021-06-14 15:28:20
    python计算平均值中位数、标准差(通过导入原有txt文件中的数组) 运行截图: 代码: def getdata(filename): #导入原有txt文件中的数组 with open(filename, 'r') as f: numlist=f.readlines() nums=[] for...

    python计算平均值、中位数、标准差(通过导入原有txt文件中的数组)

    运行截图:
    在这里插入图片描述
    代码:

    def getdata(filename): #导入原有txt文件中的数组
        with open(filename, 'r') as f:  
            numlist=f.readlines()
            nums=[]
            for data in numlist:
                nums.append(int(data))         
        return nums
    
    def mean(numbers):  #计算平均值
        s=0.0
        for n in numbers:
            num=int(n)
            s=s+num
        return s/len(numbers)
    
    def dev(numbers,mean):  #计算标准差
        sdev=0
        for num in numbers:
            sdev=sdev+(num-mean)**2 
        return pow(sdev/(len(numbers)-1),0.5) 
    
    def median(numbers):  #计算中位数
        news_numbers=sorted(numbers)
        size=len(news_numbers)
        if size%2==0:
            med=(news_numbers[size//2-1]+news_numbers[size//2])/2
        else:
            med=news_numbers[size//2]
        return med
    
    
    filename = 'p-txt.txt' #打开已有文件
    numbers = getdata(filename)
    m=mean(numbers)
    print("平均值为{},标准差为{:.2},中位数为{}.".format(m,dev(numbers,m),median(numbers)))
                
    
    展开全文
  • C语言——平均值 中位数 众数

    千次阅读 2021-01-04 23:17:04
    记录一下之前困扰了我很久的中位数和众数的函数TvT #include <stdio.h> #include <stdlib.h> #define N 40 double Average(int feedback[N]); double Median (int feedback[N]); int Mode(int feedback...
  • #include<cstdio> int main() { int a[20],num[11]={0},i,sum=0,mode,max,maxindex; double aver,median; for(i=0;i<20;i++) { scanf("%d",&a[i]); num[a[i]]++; ... maxin.
  • System.out.println("中位数为" + j); } else { j = ids.get(ids.size() / 2); System.out.println("中位数为" + j); } // list倒序排序 ids.sort(Comparator.reverseOrder()); System.out.println(ids)...
  • 01 平均值的种类02 平均数、中位数还是众数?03 全距和数值分布 01 平均值的种类 请检查下面的陈述: 1、一个快速致富的方法就是做一名职业橄榄球员,2015年美国国家橄榄球联盟球星的平均收入是220万美元。 2.、为...
  • 在 Excel ,求平均值用Average函数;它可分用快捷键求平均值、自动求平均值和输入公式求平均值,其中用快捷键求平均值速度最快,并且三种方法都可以对行列、任意单元格、指定区域甚至整个表格求平均值。如果要求...
  • 7-1 输出所有大于平均值 (15分)本题要求编写程序,将输入的n个整数存入数组a,然后计算这些平均值,再输出所有大于平均值。输入格式:输入在第1行给出一个正整数n(1≤n≤10),第2行输入n个整数,其间...
  • 平均值中位数、众数分别是什么? mean、median、mode、Range 平均值:它是统计学中的一个重要概念。算术平均值也可称为平均值,它是通过将两个或多个数字/变量相加,然后将总和除以数字/变量的总数而...
  • rating.quantile(0.995) #8.6 求最小值、最大值、平均值中位数、标准差、总和 rating.min() #1.9 rating.max() #9.0 rating.mean() #6.723200000000003 rating.median() #6.8 rating.std() #0.9454287892779637 ...
  • 接收用户输入的多个数据,直到输入为空时停止‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬...将用户输入的一组数据放入列表存放‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬
  • 以下代码均来自MOOC的python课程 #获取用户的不定长度输入 def getnum(): nums=[] inumstr=input(“请输入数字(回车...#平均值 def mean(numbers): s=0.0 for num in numbers: s=s+num return s/len(numbers) #方差
  • 考虑以下代码(Windows 10上MSYS2的MINGW64上的Python 3.8.0):import numpy as npfrom decimal import Decimalaa = [25744, 25687, 25641, 25601, 25566, 25533, 25505, 25479, 25456, 25435]npaa = np.array(aa)...
  • 给定10个实数输出平均值并统计在平均值以上的的个数#includevoidmain(){inti,count=0;floata[10],sum=0,aver;printf("pleaseinput10number:\n");for(i=0;i输入3行4列的矩阵,按行列形式输出该矩阵.求周边元素之平均...
  • def getNum(): #获取用户不定长度的输入nums = [] iNumStr = input("请输入数字...= "":nums.append(eval(iNumStr))iNumStr = input("请输入数学(回车退出):")return numsdef mean(numbers): #计算平均值s = 0.0fo...
  • 将数据排序后,位置在最中间的数值。即将数据分成两部分,一部分大于该数值,一部分...中位数的作用算术平均数相近,也是作为所研究数据的代表。在一个等差数列或一个正态分布数列中,中位数就等于算术平均数...
  • 中位值平均滤波

    2021-04-20 20:02:49
    中位值平均滤波算法 应用场景 中位值平均滤波法(又称防脉冲干扰平均滤波法),融合了“中位值滤波法”+“算术平均滤波法”两种滤波法的优点。对于偶然出现的脉冲性干扰,可消除由其所引起的采样偏差。对周期干扰...
  • # 分别计算均值,标准差、众数、最值、中位数 a['mean']=[b['a'].mean() for i in range(len(b)) ] a['std']=[round(b['a'].std(),2) for i in range(len(b)) ] a['mode'] =[b['a'].mode()[0] for i in range(len...
  • 中位数(又称中值):是统计学中的专有名词,代表一个样本、种群或概率分布中的一个数值,其可将数值集合...其中中位数是以它在所有标志值中所处的位置确定的全体单位标志值的代表值,不受分布数列的极大或极小值影响...
  • 即一组数据距离数据中心的靠近程度,反应了一组数据中心的位置所在 数据集中趋势度量的指标有:众数、平均数、中位数、几何平均数等。 众数:即出现次数最多的,常用在不同类别的数量统计中,不受峰值的影响,一组...
  • JAVA编写程序,从10个数中求出最大值,最小值及平均值(急!)43 个解决方案#1这问题有点太.....楼主是做XXX的吗?如果是转行的还可以理解。。。#2作业题.....#3你说你学过程序设计没,排序写过吧,你排序后不就得到最大...
  • 首先,让我们把所有的数字放在一个列表。在def main():total = 0numfile = open('mynumbers.txt','r')line = numfile.readline()nums = []while line != '':numb = int(line)print(numb,end=' ')nums.append(numb)...
  • 匿名用户1级2013-04-13 回答# coding = GBKa =[1,2,3,4,5]sum=0b = len(a)print("这个数组的长度为:",b)for i in a:sum =sum +iprint("这个数组之和为:",sum)print("这个数组平均数为",sum/b)或import syssum = 0...
  • 一维数组实验题:计算平均数、中位数和众数 在调查数据分析(Survey data analysis)中经常需要计算平均数、中位数和众数。用函数编程计算40个输入数据(是取值1—10之间的任意整数)的平均数(Mean)、中位数...
  • 数值方法样本统计量:数据来自样本,计算的度量总体参数:数据来自总体,计算的度量点估计量: 样本统计量被称为是相应总体参数的点估计量位置的度量平均数最... (1)当观测是奇数时,中位数就是中间那个数值。 (...
  • 第一篇文章已经带大家入门...下面开始进入数学建模内容了,一定要打好基础再看此篇以及以后的内容,步入正题。 平均: >> A=[2 3 4 7;1 5 4 5;3 3 2 5] %创建矩阵 ... mean(A)%求A平均值 ans = 2.0000 3.666
  • 【简答题】某商场推出幸运抽奖活动,抽奖规则是:客户的4会员卡号的各个上的数字之和大于20,则为幸运客户,有精美礼物送上。计算8349各位数字之和,输出结果如下所示。 会员卡号8349各位之和: 24 要求会员四卡号从...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 218,551
精华内容 87,420
关键字:

平均值与中位数