movvar
移动方差
语法
说明
M = movvar(___, 指定在上述任意语法的计算中包括还是忽略 nanflag)NaN 值。movvar(A,k,'includenan') 会在计算中包括所有 NaN 值,而 movvar(A,k,'omitnan') 则忽略这些值并基于较少的点计算方差。
M = movvar(___, 使用一个或多个名称-值对组参数指定方差的其他参数。例如,如果 Name,Value)x 是时间值向量,则 movvar(A,k,'SamplePoints',x) 相对于 x 中的时间计算移动方差。
示例
M = movvar(A,3)
M = 1×108.0000    4.0000   22.3333   19.0000    1.0000    1.0000    9.3333    7.0000    1.0000    0.5000
向量的尾部移动方差
M = movvar(A,[2 0])
M = 1×10     0    8.0000    4.0000   22.3333   19.0000    1.0000    1.0000    9.3333    7.0000    1.0000
指定移动方差的归一化
M = movvar(A,3,1)
M = 1×104.0000    2.6667   14.8889   12.6667    0.6667    0.6667    6.2222    4.6667    0.6667    0.2500
矩阵的移动方差
M = movvar(A,3,0,2)
M = 3×38.0000    4.0000    2.0000
0.5000    1.0000    0.5000
8.0000    7.0000    0.5000
包含 NaN 元素的向量的移动方差
M = movvar(A,3)
M = 1×108.0000       NaN       NaN       NaN    1.0000       NaN       NaN       NaN    1.0000    0.5000
重新计算方差,但忽略 NaN 值。当 movvar 舍弃 NaN 元素时,它将根据窗口中的剩余元素计算方差。
M = movvar(A,3,‘omitnan’)M = 1×108.0000 8.0000 40.5000 0.5000 1.0000 0.5000 18.0000 0.5000 1.0000 0.5000
基于样本点计算移动方差
k = hours(3);
t = datetime(2016,1,1,0,0,0) + hours(0:5)
t = 1x6 datetime array
Columns 1 through 3
01-Jan-2016 00:00:00 01-Jan-2016 01:00:00 01-Jan-2016 02:00:00
Columns 4 through 6
01-Jan-2016 03:00:00 01-Jan-2016 04:00:00 01-Jan-2016 05:00:00
M = movvar(A,k,‘SamplePoints’,t)M = 1×68.0000    4.0000   22.3333   19.0000    1.0000    0.5000
仅返回满窗口方差
M = movvar(A,3,‘Endpoints’,‘discard’)
M = 1×84.0000   22.3333   19.0000    1.0000    1.0000    9.3333    7.0000    1.0000
输入参数
输入数组,指定为向量、矩阵或多维数组。
数据类型: single | double | logical
k - 窗口长度
数值或持续时间标量
窗口长度,指定为数值或持续时间标量。当 k 是正整数标量时,中心方差包括当前位置的元素以及周围的相邻元素。例如,对于向量 A,由长度为三的窗口定义的三点方差将产生下列计算:

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | duration
[kb kf] - 定向窗口长度
包含两个元素的数值或持续时间行向量
定向窗口长度,指定为包含两个元素的数值或持续时间行向量。当 kb 和 kf 为正整数标量时,将基于 kb+kf+1 个元素进行计算。该计算包括当前位置的元素、当前位置前面的 kb 个元素以及当前位置后面的 kf 个元素。例如,对于向量 A,由定向窗口 [2 1] 定义的四点方差将产生下列计算:

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | duration
w - 粗细
0 (默认) | 1
权重,指定为下列值之一:
0- 按k-1进行归一化,其中k是窗口长度。如果k=1,则权重为k。1- 按k实现归一化。
数据类型: single | double
dim - 沿其运算的维度
正整数标量
沿其运算的维度,指定为正整数标量。如果未指定值,则默认值是大小不等于 1 的第一个数组维度。
维度 dim 表示 movvar 运算所沿的维度,即指定的窗口的移动方向。
以一个二维输入数组 A 为例。
如果
dim = 1,则movvar(A,k,0,1)从第一列开始,垂直移过每行,每次计算k个元素的方差。然后移到第二列,重复上述计算。此过程持续到所有列都计算完为止。参数0指定默认权重,这是指定dim时所必需的。
如果
dim = 2,则movvar(A,k,0,2)从第一行开始,水平移过每列。每次计算k个元素的方差。然后移到第二行,重复上述计算。此过程持续到所有行都计算完为止。参数0指定默认权重,这是指定dim时所必需的。
数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
nanflag - NaN 条件
'includenan' (默认) | 'omitnan'
NaN 条件,指定为下列值之一: 
'includenan'- 计算方差时包括输入中的NaN值,其对应输出为NaN值。'omitnan'- 忽略输入中的所有NaN值。如果窗口只包含NaN值,则movvar返回NaN。
名称-值对组参数
指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在引号中。您可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN 所示。
M = movvar(A,k,'Endpoints','fill')详细信息
扩展功能
在 R2016a 中推出
来源:CSDN
作者:wangxhhtc
链接:https://blog.csdn.net/wangxhhtc/article/details/103482163

