movmedian
移动平均
描述
例子
向量的居中移动中值
计算一个行向量的三点中心移动中值。当窗口中端点处的元素少于三个时,取可用元素的平均值。
A = [4 8 6 -1 -2 -3 -1 3 4 5];M =移动中位数(A,3)
M =1×106.0000 6.0000 6.0000 -1.0000 -2.0000 -2.0000 -1.0000 3.0000 4.0000 4.5000
向量的尾随移动中值
计算一个行向量的三点尾随移动中值。当窗口中端点处的元素少于三个时,取可用元素的平均值。
A = [4 8 6 -1 -2 -3 -1 3 4 5];M =移动中位数(A,[2 0])
M =1×104 6 6 6 -1 -2 -2 -1 3
矩阵的移动中值
计算矩阵的每一行的三点中心移动中值。窗口从第一行开始,水平滑动到行尾,然后移动到第二行,依此类推。维度参数为2,它在列之间滑动窗口一个
。
A = [4 8 6;-1 -2 -3;1 3 4]
一个=3×34 8 6 -1 -2 -3 -1 3 4
M =移动中位数(A,3,2)
M =3×36.0000 6.0000 7.0000 -1.5000 -2.0000 -2.5000 1.0000 3.0000 3.5000
排除缺失值的移动中值
创建包含的行向量南
值。
A = [4 8 NaN -1 -2 -3 NaN 3 4 5];
计算矢量的三点居中移动中值,不包括南
值。对于包含any的窗口南
值,movmedian
用非计算南
元素。
M =移动中位数(A,3,“omitnan”)
M =1×106.0000 6.0000 3.5000 -1.5000 -2.0000 -2.5000 0 3.5000 4.0000 4.5000
移动中值的样本点
计算数据的3小时居中移动中位数一个
根据时间向量t
。
A = [4 8 6 -1 -2 -3];K =小时(3);T = datetime(2016,1,1,0,0,0) + hours(0:5)
t =1 x6 datetime01- 01月00:00:00 01- 01月03:00:00 01- 01月04:00:00 01- 01月05:00:00
M = movmedian(A,k,“SamplePoints”, t)
M =1×66.0000 6.0000 6.0000 -1.0000 -2.0000 -2.5000
只返回全窗口中位数
计算行向量的以三点为中心的移动中值,但放弃使用输出中少于三点的任何计算。换句话说,只返回从完整的三元素窗口计算的中位数,而丢弃端点计算。
A = [4 8 6 -1 -2 -3 -1 3 4 5];M =移动中位数(A,3,“端点”,“丢弃”)
M =1×86 6 -1 -2 -2 -1 3 4
输入参数
一个
- - - - - -输入数组
向量|矩阵|多维数组
输入数组,指定为矢量、矩阵或多维数组。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|逻辑
k
- - - - - -窗口长度
数字或持续时间标量
窗口长度,指定为数值或持续时间标量。当k
为正整数标量,居中的中位数包括当前位置的元素加上周围的相邻元素。
例如,movmedian (3)
计算本地三点中值数组。
(kb kf)
- - - - - -定向窗口长度
包含两个元素的数字或持续行向量
方向窗口长度,指定为包含两个元素的数字或持续行向量。当kb
而且kf
都是正整数标量,算完了吗kb + kf + 1
元素。计算包括当前位置的元素,kb
在当前位置之前的元素,和kf
元素在当前位置之后。
例如,movmedian (A, 1 [2])
计算一个局部四点中值数组。
昏暗的
- - - - - -操作沿的尺寸
正整数标量
操作的维度,指定为正整数标量。如果不指定维数,则默认为第一个大小大于1的数组维数。
维昏暗的
表示以下维度:movmedian
沿指定窗口滑动的方向操作。
考虑一个米
——- - - - - -n
输入矩阵,一个
:
movmedian (k, 1)
计算k
的每列的元素滑动中值一个
并返回米
——- - - - - -n
矩阵。movmedian (k, 2)
计算k
的每一行元素滑动中值一个
并返回米
——- - - - - -n
矩阵。
nanflag
- - - - - -缺值条件
“includemissing”
(默认)|“includenan”
|“omitmissing”
|“omitnan”
缺少值的情况,指定为以下值之一:
“includemissing”
或“includenan”
——包括南
值一个
当计算每个中位数时。如果窗口中的任何元素是南
,则对应的元素在米
是南
。“includemissing”
而且“includenan”
有相同的行为。“omitmissing”
或“omitnan”
-忽略所有南
值一个
然后在较少的点上计算每个中值。如果窗口中的所有元素都是南
,则对应的元素在米
是南
。“omitmissing”
而且“omitnan”
有相同的行为。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字
在报价。
例子:M = movmedian(A,k,"Endpoints","fill")
端点
- - - - - -方法处理端点附近的窗口
“缩水”
(默认)|“丢弃”
|“填满”
|数字或逻辑标量
方法处理端点附近的窗口,指定为以下选项之一:
价值 | 描述 |
---|---|
“缩水” |
缩小输入端点附近的窗口大小,以只包括现有元素。 |
“丢弃” |
当窗口与现有元素没有完全重叠时,不要输出任何中值。 |
“填满” |
将不存在的元素替换为南 。 |
数字或逻辑标量 | 用指定的数字或逻辑值替换不存在的元素。 |
SamplePoints
- - - - - -计算中位数的样本点
向量
计算中位数的样本点,指定为向量。样本点表示数据所在的位置一个
。采样点不需要均匀采样。默认情况下,样本点向量为1 2 3…]
。
移动窗口是相对于样本点定义的,这些样本点必须被排序并包含唯一的元素。例如,如果t
那么,乘以向量是否对应于输入数据movmedian(兰德(1 10)3,“SamplePoints”,t)
是否有一个表示时间间隔的窗口-1.5 t(我)
而且t(我)+ 1.5
。
当样本点向量有数据类型时datetime
或持续时间
,则移动窗口长度必须有类型持续时间
。
如果样本点间隔不均匀端点
,则其值必须为“缩水”
。
扩展功能
高大的数组
使用行数超过内存容量的数组进行计算。
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
线程环境
使用MATLAB®在后台运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
。
这个函数完全支持基于线程的环境。金宝app有关更多信息,请参见在线程环境中运行MATLAB函数。
GPU数组
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。
分布式阵列
使用并行计算工具箱™跨集群的组合内存对大型数组进行分区。
该函数完全支持分布式数组。金宝app有关更多信息,请参见运行MATLAB函数与分布式阵列(并行计算工具箱)。
版本历史
在R2016a中引入R2023a:指定缺失值条件
方法计算每个中值时,在输入数组中包含或省略缺失的值“includemissing”
或“omitmissing”
选项。选项的行为与“includenan”
而且“omitnan”
选项,分别。
R2023a:改进了在矩阵上计算样本点时的性能
的movmedian
函数在有采样点时对矩阵进行计算时,性能得到了改善。
例如,这段代码用相应的样本点计算一个300 × 300矩阵的移动中值。该代码比前一个版本快了1.7倍。
函数timingMovmedian A = randn(300);T = sort(rand(300,1));抽搐为k = 1:400移动中位数(A,0.1,“SamplePoints”t);结束toc结束
大致的执行时间为:
R2022b:1.14秒
R2023a:0.67
代码是在Windows上计时的®10日,英特尔®至强®CPU E5-1650 v4 @ 3.60 GHz测试系统调用timingMovmedian
函数。
第一MATLAB
海脂循环匹配函数对应求解MATLAB:
Esegui il commanmando inserendolo nella finestra di commanmando MATLAB。我的浏览器web不支持和MATLAB金宝app。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。