均值:Mean。即平均数。表示一组数据集中趋势的量数,是指在一组数据中所有数据之和再除以这组数据的个数。
中值:Median。即中位数。是指将统计总体当中的各个变量值按大小顺序排列起来,形成一个数列,处于变量数列中间位置的变量值就称为中位数。
标准差:Standard Deviation。即均方差。方差的算术平方根。方差是各个数据分别与其平均数之差的平方的和的平均数。
四分位差:quartile deviation。它是上四分位数(Q3,即位于75%)与下四分位数(Q1,即位于25%)的差。Q = Q3-Q1

  • 四分差算法来源:
    http://wiki.mbalib.com/wiki/%E5%9B%9B%E5%88%86%E4%BD%8D%E6%95%B0
 //运行平台 vs2015 mfc//头文件引用
#include <algorithm>
bool Comp_float(float v1, float v2) //排序
{return v1 < v2;
}double round(double r)//四舍五入
{return (r > 0.0) ? floor(r + 0.5) : ceil(r - 0.5);
}/*
getResult 获取运算结果
float * val 输入数值指针
int count 输入数值数量
float * result 结果指针,new时应为4个float,result[0] 均值result[1] 中值result[2] 标准差result[3] 四分位差
*/
void  getResult(float * val,int count,float * result)
{//存入数组并排序CArray<float> valueArray;for (int i = 0;i< count;i++){valueArray.Add(val[i]);}std::sort(valueArray.GetData(), valueArray.GetData() + valueArray.GetSize(), Comp_float);//计算均值float allVals = 0;int iValsCount = valueArray.GetCount();for (int i = 0;i<valueArray.GetCount();i++){allVals += valueArray.GetAt(i);}result[0] = allVals / iValsCount;//计算中值float iMedianIndex = (iValsCount+1) / (float)2;//计算是否刚好卡在中间,中间时取前后平均数int iFirst = round(iMedianIndex - 0.5)-1;if (iFirst < 0)iFirst = 0;int iNext = round(iMedianIndex + 0.4)-1;if (iNext > iValsCount - 1)iNext = iValsCount - 1;if (iFirst == iNext){result[1] = valueArray.GetAt(iFirst);}else{result[1] = (valueArray.GetAt(iFirst) + valueArray.GetAt(iNext)) / 2;}// 算标准方差double powAll = 0.0;for (int i = 0; i < iValsCount; i++){powAll += (double)pow((double)(valueArray.GetAt(i)- result[1]), 2);//累加}result[2] = sqrt(powAll/(double)iValsCount);//计算方差//计算四分差//获取Q1float index_Q1 = (iValsCount + (float)1) / (float)4;iFirst = round(index_Q1 - 0.5) -1 ;//获取位置前indexif (iFirst < 0)iFirst = 0;iNext = round(index_Q1 + 0.4) -1;//获取位置后indexif (iNext > iValsCount - 1)iNext = iValsCount - 1;float value_Q1 = iFirst== iNext? valueArray.GetAt(iNext): (index_Q1-1 - (float)iFirst)*valueArray.GetAt(iNext) + ((float)iNext - index_Q1+1)*valueArray.GetAt(iFirst);//注意index_Q1指的是位置,需要减去1才能代入序号计算。//获取Q2float index_Q3 = (float)3* (iValsCount + (float)1) / (float)4;iFirst = round(index_Q3 - 0.5)-1;if (iFirst < 0)iFirst = 0;iNext = round(index_Q3 + 0.4)-1;if (iNext > iValsCount - 1)iNext = iValsCount - 1;float value_Q3 = iFirst == iNext ? valueArray.GetAt(iNext) : (index_Q3-1 - (float)iFirst)*valueArray.GetAt(iNext) + ((float)iNext - index_Q3+1)*valueArray.GetAt(iFirst);result[3] = value_Q3 - value_Q1;//Q=Q3-Q1
}

调用代码:

    float * val = new float[11];//申请数据空间val[0] = 13.5;val[1] = 13.9;val[2] = 13;val[3] = 14.6;val[4] = 14;val[5] = 13.8;val[6] = 14.8;val[7] = 15.2;val[8] = 15.4;val[9] = 15;val[10] = 15.7;float * result = new float[4];//申请结果空间位4个floatgetResult(val, 11, result);//销毁内存delete[]val;delete[]result;

四分位差的计算公式,百度有两种计算Q3/Q1的方法:
1. 比例
如,计算出的Q1的四分位置为1.25
则计算方式为:array[0]*0.25+array[1]*0.75
(注:位置为1.25,即在数组中位于第0项与第1项之间偏向第0项位置)
2. 平方和
如,计算出的Q1的四分位置为1.25
则计算方式为:sqrt(array[0]^2+array[1]^2)
(注:位置为1.25,即在数组中位于第0项与第1项之间偏向第0项位置)

要去找专业的书了解下。

均值、中值、标准差、四分位差(C++)相关推荐

  1. CV:计算机视觉技术之图像基础知识(一)—以python的cv2库来了解计算机视觉图像基础(傅里叶变换-频域-时域/各种滤波器-线性-非线性-均值-中值-高斯-双边)

    CV:计算机视觉技术之图像基础知识(一)-以python的cv2库来了解计算机视觉图像基础(傅里叶变换-频域-时域/各种滤波器-线性-非线性-均值-中值-高斯-双边) 目录 一.图像中的傅里叶变换 1 ...

  2. 【图像去噪】基于matlab高斯+均值+中值+双边滤波图像去噪【含Matlab源码 1872期】

    ⛄一.高斯+均值+中值+双边滤波图像去噪简介 1 数字图像去噪技术简述 1.1 研究背景及目的 图像是人类认识世界的第一视角,我们可以通过图像获得比较真实的信息和直观的结果.但实际上,在产生和传输过程 ...

  3. 【图像去噪】基于matlab GUI均值+中值滤波图像去噪(含PNSR)【含Matlab源码 372期】

    ⛄一.图像去噪及滤波简介 1 图像去噪 1.1 图像噪声定义 噪声是干扰图像视觉效果的重要因素,图像去噪是指减少图像中噪声的过程.噪声分类有三种:加性噪声,乘性噪声和量化噪声.我们用f(x,y)表示图 ...

  4. open cv均值 中值 高斯 双边高斯 滤波及模糊

    /* 模糊与消噪 模糊原理(线性滤波) ●Smooth/Blur 是图像处理中最简单和常用的操作之一 ●使用该操作的原因之一-就为了给图像预处理时候减低噪声 ●使用Smooth/Blur操作其背后是数 ...

  5. 【图像去噪】均值+中值+高通低通+巴特沃斯+PCA+小波+维纳滤波图像去噪【含GUI Matlab源码 1705期】

    ⛄一.案例说明 三幅经典的图像(lena.peppers.barbara)分别加上了高斯噪声.乘性噪声.椒盐噪声.高斯白噪声:均值为0,方差为0.05.椒盐噪声:噪声密度0.10. 乘性噪声:这里为均 ...

  6. OpenCV笔记(1)(图片读取与现实、色彩空间、基础运算、均值方差、逻辑运算、泛洪填充、均值中值及自定义平滑)...

    一.图片读取和显示 import cv2 as cv# 图片读取cv.imread(img_path) car_img = cv.imread("car1.png") # 图片显示 ...

  7. python matplotlib 计算并显示均值中值

    python matplotlib 计算并显示均值 csv文件下载地址: 链接: https://pan.baidu.com/s/1Jm4Z8wlskkloGYeeVNkOXg 提取码: p25v & ...

  8. 【20180128】【matlab】均值、标准差、方差、协方差、中值的求解

    求均值: 向量 行向量A:mean(A) A = [1,2,3,4,5]; mean(A)ans =3 列向量A:mean(A) B = [0,3,1,0,6]'; mean(B)ans =2 矩阵- ...

  9. 数据的离散程度度量:极差、四分位差、平均差、方差、标准差、异众比率、离散系数

    数据的离散程度即衡量一组数据的分散程度如何,其衡量的标准和方式有很多,而具体选择哪一种方式则需要依据实际的数据要求进行抉择. 首先针对不同的衡量方式的应用场景大体归纳如下: 极差:极差为数据样本中的最 ...

最新文章

  1. 强制解除占用端口,最快速方便的解除占用端口,端口占用解决方案大全
  2. Notification详解
  3. 性能之外:LSI 6Gb/s SAS RAID渠道先行
  4. Spring 是解析配置类过程详解
  5. 机器人学习--电子指南针定位导航
  6. 自动分号插入 ASI
  7. centos php5.6 phpize,centos7-install-php5.6.40
  8. 新媒体增长方法从哪里找?
  9. 讨伐 Google!为什么建智能城市要毫无隐私?| 极客头条
  10. Asynchronous HTTP Requests in Android Using Volley
  11. java List的初始化
  12. Hadoop学习之hadoop安装、JDK安装、集群启动(完全分布式)
  13. 集成电路封测行业科普
  14. 西门子基于RS485通讯恒压供水一拖二S7-200SMART_PLC
  15. Hyperscan 5.4.0 安装教程 (CentOS7环境)
  16. 京东宙斯php,京东联盟API申请
  17. 久期方程 matlab,有限差分法解薛定谔方程与MATLAB实现
  18. 【故障诊断】基于 KPCA 进行降维、故障检测和故障诊断研究(Matlab代码实现)
  19. 书签同步工具android,「效率工具推荐」跨平台在线云书签管理工具
  20. 强化学习第二:epsilon贪心算法

热门文章

  1. Node.js——npm_包的概念与操作
  2. lg kv510 java_LG KV510有风格的3G手机
  3. 【C语言习题】统计君君提水的桶数(不使用ceil函数与floor函数)
  4. Warframe圣殿突袭打法配卡详解
  5. 【英语阅读】纽约时报 | 乔布斯是对的:手机和iPad杀死了个人电脑
  6. BOM出库,原来这么快
  7. 计算多项式的值(秦九昭算法,clock()函数的使用)
  8. android智能识别技术,基于Android平台的OCR识别技术研究与实现
  9. HTML 基础 结构
  10. 熊过留印---爱心篇