【技巧】matlab中nanmedian、nanmean和median、mean的区别
近日,在统计时间序列中位数(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的区别相关推荐
- matlab中矩阵点乘和乘的区别(超级简单)
matlab中矩阵点乘和乘的区别 MATLAB中, 一.矩阵相乘:表示两个矩阵相乘. 二.矩阵点乘:表示矩阵中对应位置的元素分别相乘. 三.举例 3.1 矩阵相乘 3.2 矩阵点乘 MATLAB中, ...
- MATLAB中按点运算“.* ./”和一般运算的区别
1 前言 今天在学习逻辑回归~ MATLAB中的乘除有两种形式分别是:"* & .*"和"/ & ./",分别指按点运算和矩阵运算. 2 除法/ ...
- Matlab中mod()函数与rem()函数的区别
内部实质 PS: 在Matlab中带有小黑圆点的运算符代表数组运算 外部表现 与符号相同,与符号相同:当与同号时,等于 样例 >> mod(5,2) ans =1 >> mod ...
- Matlab中叉乘和点乘的区别与其在冒号表达式中“标量化”的应用
先说结论:叉乘用于<线性代数>中的矩阵运算,得到的是一个矩阵:点乘用于<高等数学>中的数值/数字运算,得到的是一个数.注意运用就是冒号表达式在高等数学计算中的运用. 下面具体介 ...
- matlab中的点乘和乘的区别-WZX
matlab中乘就是我们平常所说的乘法,是代表两个矩阵相乘,只需两个矩阵符合相乘的规则,如(2X3)*(3X1)就可以得到一个两行一列(2X1)的矩阵,就可以相乘.比如: A=[1 2 3;4 5 6 ...
- MATLAB中符号运算和数值运算的区别
两者的根本区别是 : 数值计算的表达式.矩阵变量中不允许有未定义的自由变量 , 而符号计算可以含有未定义的符号变量.对于一般的程序设计软件如 C, C + + 等语言实现数值计算还可以 , 但是实现符 ...
- matlab 中conv2、filter2、imfilter的区别
-------------------------------------conv2函数---------------------------------------- 1.用法 C=conv2(A, ...
- MATLAB中dist与pdist、pdist2的区别与联系
目录 一.dist 二.pdist 三.pdist2 一.dist dist为欧式距离加权函数. Z = dist(W,P); W:指定S行R列的权值矩阵. P:指定表示R行Q列的输入矩阵,Q为输入的 ...
- Matlab中if语句和elseif语句的区别
if语句无论是否满足条件都会向下执行,直到程序结束:else if 只要满足一个条件就会停止执行. 这就会导致:同一个判断的事件进入多个if语句中循环而出现多次输出的结果,而else if就不会发生这 ...
最新文章
- Datawhale来浙大啦!
- python连接redis有中文_Python连接Redis并操作
- 一步一步SharePoint 2007之二十三:编写一个最简单的WebPart(1)——创建工程
- 51CTO学院双十一营收400万,预测IT职业教育市场增长150%
- firefox和chrome中 JQuery的ajax组件执行差异
- ConcurrentHashMap的源码分析-数据迁移阶段的实现分析
- 自然语言处理中的模式(模式1.概率化模式)
- python观察日志(part14)--计数器Count
- python turtle绕原点旋转_Python基本图形绘制
- Python缩进问题
- html5 抽奖程序,真正的网页抽奖-JavaScript HTML5代码
- 【Ubuntu】Ubuntu16.04安装 搜狗输入法 史上最详细
- U盘安装centos7
- 企业要做好安全遵从的五个实用技巧
- Java设计模式应用——工厂模式
- 什么是HTTP代理?
- 嵌入式典型ARM处理器介绍以及分类
- sd卡广播的理解总结
- RT5350订制WIFI转串口
- 将自己电脑做成服务器让别人访问(不是局域网)
热门文章
- 文墨绘学:小学语文考什么?
- android可视化布局工具 DroidDraw
- 2021-07-11剑指offer16.数值的整数次方
- 25000字总结Android优秀的第三方框架、各种学习资料汇集 一 系统组件、Design组件、自定义组件等等
- 前端实用小工具分享----Snipaste,Fireworks
- 1.Open3D教程——Open3D介绍
- ubuntu下使用360wifi2
- java servlet 执行 多次_java – 为什么contextInitialized()被多次调用?
- x64 编译 静态链接_C++静态库与动态库
- 《oracle 9i ocp 》认证培训教程 电驴下载