movsum
移动和
语法
描述
M = movsum(___,
指定是包含还是省略nanflag
)南
来自任何前面语法的计算的值。movsum (k ' includenan ')
包括所有南
计算中的值movsum (k ' omitnan ')
忽略它们并计算在更少点上的和。
例子
矢量的中心运动和
计算行向量的三点中心移动和。当在端点处的窗口中少于三个元素时,取可用元素的和。
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
- - - - - -窗口长度
数值或持续时间标量
窗口长度,指定为数值或持续时间标量。当k
是一个正整数标量,居中和包括当前位置的元素加上周围的邻居。例如,由长度为3的窗口定义的三点和会对向量进行以下计算一个
:
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|持续时间
(kb kf)
- - - - - -定向窗口长度
包含两个元素的数字或持续时间行向量
定向窗口长度,指定为包含两个元素的数字或持续时间行向量。当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
nanflag
- - - - - -南
条件
“includenan”
(默认)|“omitnan”
南
条件,指定为以下值之一:
“includenan”
——包括南
值,结果为南
.“omitnan”
-忽略所有南
输入中的值。如果一个窗口只包含南
值,然后movsum
返回0。
名称-值对实参
指定逗号分隔的可选对名称,值
参数。的名字
参数名称和价值
对应的值。的名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
M = movsum(A,k,'Endpoints','fill')
“端点”
- - - - - -前尾窗的处理方法
“缩水”
(默认)|“丢弃”
|“填满”
|数值或逻辑标量
方法来处理前导和尾随窗口,指定为逗号分隔的对,由“端点”
和以下其中之一:
“端点” 价值 |
描述 |
---|---|
“缩水” |
缩小输入端点附近的窗口大小,以只包括现有元素。 |
“丢弃” |
当窗口与现有元素没有完全重叠时,不要输出任何和。 |
“填满” |
将不存在的元素替换为南 . |
数值或逻辑标量 | 用指定的数值或逻辑值替换不存在的元素。 |
数据类型:双
|单
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|逻辑
|字符
|字符串
“SamplePoints”
- - - - - -计算和的样本点
向量
用于计算和的样本点,指定为逗号分隔的对,由“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
|持续时间
扩展功能
高大的数组
使用行数超过内存容量的数组进行计算。
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
该函数支持C/ c++代码生金宝app成,但有以下限制:
的“SamplePoints”
不支持名称-值对。金宝app
代码生成不支持此函数的稀疏矩阵输入。金宝app
GPU数组
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。
在R2016a中介绍
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。