近日,在统计时间序列中位数(median)和均值(mean)时遇到一些小问题,导致得到的结果总是不理想。后来发现是由于没有考虑到数据中空值(NaN)的原因,特此记录,以免日后再犯同样的错误。

通过matlab的帮助文档,首先了解mean和median的概念:

median:
①M = median(A)
②M = median(A,‘all’)
③M = median(A,dim)

示例①
M = median(A) 返回 A 的中位数值。

如果 A 为向量,则 median(A) 返回 A 的中位数值。

如果 A 为非空矩阵,则 median(A) 是包含每一列的中位数值的行向量
median(A( : ))返回该二维数组的中位数
如果 A 为 0×0 空矩阵,median(A) 返回 NaN。

示例②
M = median(A,‘all’) 计算 A 的所有元素的中位数。此语法适用于 MATLAB® R2018b 及更高版本。

示例③
M = median(A,dim) 返回维度 dim 上元素的中位数。例如,如果 A 为矩阵,则 median(A,2) 是包含每一行的中位数值的列向量

mean:
①M = mean(A)
②M = mean(A,‘all’)
③M = mean(A,dim)

说明
示例①
M = mean(A) 返回 A 沿大小不等于 1 的第一个数组维度的元素的均值。

如果 A 是向量,则 mean(A) 返回元素均值。

如果 A 为矩阵,那么 mean(A) 返回包含每列均值的行向量。
mean(A( : ))返回该二维数组的均值
如果 A 是多维数组,则 mean(A) 沿大小不等于 1 的第一个数组维度计算,并将这些元素视为向量。此维度会变为 1,而所有其他维度的大小保持不变。

示例②
M = mean(A,‘all’) 计算 A 的所有元素的均值。此语法适用于 MATLAB® R2018b 及更高版本。

示例③
M = mean(A,dim) 返回维度 dim 上的均值。例如,如果 A 为矩阵,则 mean(A,2) 是包含每一行均值的列向量。

nanmedian 和nanmean
nanmedian和nanmean在计算前先剔除掉了数组内的NaN值。只有有值的数据参与计算,具体示意图如下:

ps:nansum、nanmax、nanmin也是一样的原理,在数组有NaN值时,不能直接使用sum、max、min,否则得到的结果也是NaN。

【技巧】matlab中nanmedian、nanmean和median、mean的区别相关推荐

  1. matlab中矩阵点乘和乘的区别(超级简单)

    matlab中矩阵点乘和乘的区别 MATLAB中, 一.矩阵相乘:表示两个矩阵相乘. 二.矩阵点乘:表示矩阵中对应位置的元素分别相乘. 三.举例 3.1 矩阵相乘 3.2 矩阵点乘 MATLAB中, ...

  2. MATLAB中按点运算“.* ./”和一般运算的区别

    1 前言 今天在学习逻辑回归~ MATLAB中的乘除有两种形式分别是:"* & .*"和"/ & ./",分别指按点运算和矩阵运算. 2 除法/ ...

  3. Matlab中mod()函数与rem()函数的区别

    内部实质 PS: 在Matlab中带有小黑圆点的运算符代表数组运算 外部表现 与符号相同,与符号相同:当与同号时,等于 样例 >> mod(5,2) ans =1 >> mod ...

  4. Matlab中叉乘和点乘的区别与其在冒号表达式中“标量化”的应用

    先说结论:叉乘用于<线性代数>中的矩阵运算,得到的是一个矩阵:点乘用于<高等数学>中的数值/数字运算,得到的是一个数.注意运用就是冒号表达式在高等数学计算中的运用. 下面具体介 ...

  5. matlab中的点乘和乘的区别-WZX

    matlab中乘就是我们平常所说的乘法,是代表两个矩阵相乘,只需两个矩阵符合相乘的规则,如(2X3)*(3X1)就可以得到一个两行一列(2X1)的矩阵,就可以相乘.比如: A=[1 2 3;4 5 6 ...

  6. MATLAB中符号运算和数值运算的区别

    两者的根本区别是 : 数值计算的表达式.矩阵变量中不允许有未定义的自由变量 , 而符号计算可以含有未定义的符号变量.对于一般的程序设计软件如 C, C + + 等语言实现数值计算还可以 , 但是实现符 ...

  7. matlab 中conv2、filter2、imfilter的区别

    -------------------------------------conv2函数---------------------------------------- 1.用法 C=conv2(A, ...

  8. MATLAB中dist与pdist、pdist2的区别与联系

    目录 一.dist 二.pdist 三.pdist2 一.dist dist为欧式距离加权函数. Z = dist(W,P); W:指定S行R列的权值矩阵. P:指定表示R行Q列的输入矩阵,Q为输入的 ...

  9. Matlab中if语句和elseif语句的区别

    if语句无论是否满足条件都会向下执行,直到程序结束:else if 只要满足一个条件就会停止执行. 这就会导致:同一个判断的事件进入多个if语句中循环而出现多次输出的结果,而else if就不会发生这 ...

最新文章

  1. Datawhale来浙大啦!
  2. python连接redis有中文_Python连接Redis并操作
  3. 一步一步SharePoint 2007之二十三:编写一个最简单的WebPart(1)——创建工程
  4. 51CTO学院双十一营收400万,预测IT职业教育市场增长150%
  5. firefox和chrome中 JQuery的ajax组件执行差异
  6. ConcurrentHashMap的源码分析-数据迁移阶段的实现分析
  7. 自然语言处理中的模式(模式1.概率化模式)
  8. python观察日志(part14)--计数器Count
  9. python turtle绕原点旋转_Python基本图形绘制
  10. Python缩进问题
  11. html5 抽奖程序,真正的网页抽奖-JavaScript HTML5代码
  12. 【Ubuntu】Ubuntu16.04安装 搜狗输入法 史上最详细
  13. U盘安装centos7
  14. 企业要做好安全遵从的五个实用技巧
  15. Java设计模式应用——工厂模式
  16. 什么是HTTP代理?
  17. 嵌入式典型ARM处理器介绍以及分类
  18. sd卡广播的理解总结
  19. RT5350订制WIFI转串口
  20. 将自己电脑做成服务器让别人访问(不是局域网)

热门文章

  1. 文墨绘学:小学语文考什么?
  2. android可视化布局工具 DroidDraw
  3. 2021-07-11剑指offer16.数值的整数次方
  4. 25000字总结Android优秀的第三方框架、各种学习资料汇集 一 系统组件、Design组件、自定义组件等等
  5. 前端实用小工具分享----Snipaste,Fireworks
  6. 1.Open3D教程——Open3D介绍
  7. ubuntu下使用360wifi2
  8. java servlet 执行 多次_java – 为什么contextInitialized()被多次调用?
  9. x64 编译 静态链接_C++静态库与动态库
  10. 《oracle 9i ocp 》认证培训教程 电驴下载