文档

movsum

描述

例子

M = movsum(一个k返回一个数组k-点和,其中每个和都在一个滑动窗口的长度上计算k的相邻元素一个.当k为奇数,则窗口以当前位置的元素为中心。当k为偶数,则窗口以当前和以前的元素为中心。当没有足够的元素填充窗口时,窗口大小在端点处自动截断。当窗口被截断时,只接收填充窗口的元素的和。是一样的尺寸吗一个

  • 如果一个是向量吗movsum沿着向量的长度进行运算。

  • 如果一个那么它是多维数组吗movsum沿着大小不等于1的第一个数组维度进行操作。

例子

M = movsum(一个(kb kf)计算窗口长度的和kb + kf + 1它包括当前位置的元素,kb反向元素,和kf元素。

例子

M = movsum(___昏暗的返回沿维度滑动和的数组昏暗的对于任何前面的语法。例如,如果一个是矩阵吗movsum (k, 2)沿着的列运算一个,计算k-每一行的元素滑动和。

例子

M = movsum(___nanflag指定是包含还是省略来自任何前面语法的计算的值。movsum (k ' includenan ')包括所有计算中的值movsum (k ' omitnan ')忽略它们并计算在更少点上的和。

例子

M = movsum(___名称,值使用一个或多个名称-值对参数为和指定附加参数。例如,如果x是时间向量吗movsum (k SamplePoints, x)的移动和一个相对于时代而言x

例子

全部折叠

计算行向量的三点中心移动和。当在端点处的窗口中少于三个元素时,取可用元素的和。

A = [4 8 6 -1 -2 -3 -1 3 4 5];M = movsum(A,3)
M =1×1012 18 13 3 -6 -6 -1 6 12 9

计算行向量的三点尾随移动和。当端点处窗口中的元素少于3个时,movsum取可用元素数量的和。

A = [4 8 6 -1 -2 -3 -1 3 4 5];M = movsum(A,[2 0])
M =1×104 12 18 13 3 -6 -6 -1 6 12

计算矩阵每一行的三点中心移动和。窗口从第一行开始,水平滑动到行尾,然后移动到第二行,依此类推。的列之间滑动窗口的维度参数为2一个

A = [4 8 6;-1 -2 -3;-1 3 4]
一个=3×34 8 6 -1 -2 -3 -1 3 4
M = movsum(A,3,2)
M =3×312 18 14 -3 -6 -5 2 6 7

计算包含两个的行向量的三点中心移动和元素。

A = [4 8 NaN -1 -2 -3 NaN 3 4 5];M = movsum(A,3)
M =1×1012南南南-6南南南12 9

重新计算和,但省略值。当movsum丢弃元素,它取窗口中剩余元素的和。

M = movsum(A,3,“omitnan”
M =1×1012 12 7 -3 -6 -5 0 7 12 9

计算数据的3小时中心移动和一个根据时间矢量t

A = [4 8 6 -1 -2 -3];K =小时(3);T = datetime(16,1,1,0,0,0) + hours(0:5)
t =1x6 datetime数组第一列至第三列01- 01- 0016 03:00:00 01- 01- 0016 01:00:00 01- 01- 0016 02:00:00第四列至第六列01- 01- 0016 03:00:00 01- 01- 0016 05:00:00
M = movsum(A,k,“SamplePoints”, t)
M =1×612 18 13 3 -6 -5

计算行向量的三点居中移动和,但丢弃任何使用输出中少于三个点的计算。换句话说,只返回从完整的三元素窗口计算的和,丢弃端点计算。

A = [4 8 6 -1 -2 -3 -1 3 4 5];M = movsum(A,3,“端点”“丢弃”
M =1×818 13 3 -6 -6 -1 6 12

输入参数

全部折叠

输入数组,指定为向量、矩阵或多维数组。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

窗口长度,指定为数值或持续时间标量。当k是一个正整数标量,居中和包括当前位置的元素加上周围的邻居。例如,由长度为3的窗口定义的三点和会对向量进行以下计算一个

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|持续时间

定向窗口长度,指定为包含两个元素的数字或持续时间行向量。当kb而且kf正整数是否是标量,计算结束了吗kb + kf + 1元素。计算包括当前位置的元素,kb当前位置之前的元素,和kf当前位置之后的元素。例如,方向窗口定义的四点和(2 - 1)对向量进行以下计算的结果一个

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|持续时间

要操作的维度,指定为正整数标量。如果没有指定值,则默认为大小不等于1的第一个数组维度。

昏暗的表示movsum沿着指定窗口滑动的方向进行操作。

考虑一个二维输入数组,一个

  • 如果Dim = 1,然后movsum (k, 1)从第一列开始,并在每一行上垂直滑动。总和要除以k一个元素。然后移到第二列,重复计算。此过程将继续进行,直到耗尽所有列。

  • 如果Dim = 2,然后movsum (k, 2)从第一行开始,在每一列之间水平滑动。总和要除以k一个元素。然后移到第二行,重复计算。此过程将继续进行,直到耗尽所有行。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

条件,指定为以下值之一:

  • “includenan”——包括值,结果为

  • “omitnan”-忽略所有输入中的值。如果一个窗口只包含值,然后movsum返回0。

名称-值对实参

指定逗号分隔的可选对名称,值参数。的名字参数名称和价值对应的值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:M = movsum(A,k,'Endpoints','fill')

方法来处理前导和尾随窗口,指定为逗号分隔的对,由“端点”和以下其中之一:

“端点”价值 描述
“缩水” 缩小输入端点附近的窗口大小,以只包括现有元素。
“丢弃” 当窗口与现有元素没有完全重叠时,不要输出任何和。
“填满” 将不存在的元素替换为
数值或逻辑标量 用指定的数值或逻辑值替换不存在的元素。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符|字符串

用于计算和的样本点,指定为逗号分隔的对,由“SamplePoints”还有一个向量。样本点表示数据的位置一个.采样点不需要均匀采样。默认情况下,样本点向量为[1 2 3…]]

移动窗口是相对于样本点定义的,样本点必须排序并包含唯一的元素。例如,如果t那么,乘以的向量是否对应于输入数据呢movsum(兰德(1 10)3,SamplePoints, t)是否有一个表示时间间隔的窗口-1.5 t(我)而且t(我)+ 1.5

当样本点向量具有数据类型时datetime持续时间,则移动窗口长度必须有类型持续时间

如果样本点的间隔不均匀“端点”如果指定了名称-值对,则其值必须为“缩水”

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|datetime|持续时间

扩展功能

在R2016a中介绍