movmad

移动中值绝对偏差

描述

例子

M = movmad (一个k返回一系列本地k中位绝对偏差(疯子),每个疯狂的时间都在长度的滑动窗口上计算k横跨邻近的元素一个与尺寸相同一个

k为奇数时,窗口围绕当前位置的元素居中。当k甚至,窗口以当前和以前的元素为中心。当没有足够的元素来填充窗口时,窗口大小会自动截断。当窗口被截断时,仅填充填充窗口的元素。

  • 如果一个是一个矢量,然后movmad作用于向量的长度。

  • 如果一个是一个多维数组吗movmad对第一个大小不等于1的数组维进行操作。

例子

M = movmad (一个(kb kf)计算带有长度窗口的MADkb + kf + 1包括当前位置中的元素,KB.元素向后,和元素。

例子

M = movmad (___昏暗的沿着维度计算MAD昏暗的对于任何先前的语法。例如,MOVMAD(A,K,2)为一个矩阵一个跨列操作一个,计算k- 为每一行滑动。

例子

M = movmad (___nanflag.指定是包含还是省略为任何前面语法计算的值。movmad (k ' includenan ')包括所有值,它是默认值。movmad (k ' omitnan ')忽略它们,以更少的点数计算MAD。

例子

M = movmad (___名称,价值使用一个或多个名称-值对参数为移动的MAD指定附加参数。例如,如果x是一个时间值的向量吗movmad (k SamplePoints, x)计算的移动MAD一个相对于现在的时代x

例子

全部收缩

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

a = [1 2 4 -1 -2 -3 -1 3 2 1];m = movmad(a,3)
m =1×100.5000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 0.5000

计算行的三点尾随移动的行驶向往。当端点窗口中的元素少于三个时,计算可用的元素。

A = [1 2 1 -2 -3 -1 3 4 1];M = movmad(A,[2 0])
m =1×100 0.5000 0 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000

计算每行矩阵的3点居中移动。维度参数为2,其横跨列横跨窗口一个.窗口从第一行开始,水平滑动到行尾,然后移动到第二行,以此类推。

A = [1 2 1;1 2 3;1 3 4]
一个=3×31 2 1 -1 -2 -3 -1 3 4
m = movmad(a,3,2)
m =3×30.5000 0 0.5000 0.5000 1.0000 0.5000 2.0000 1.0000 0.5000

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

a = [2 1 nan -1 -2 -3 nan 3 4 1];m = movmad(a,3)
m =1×100.5000纳米NaN NaN NaN 1.0000南纳Nan 1.0000 1.5000

重新计算移动的疯狂省略值。当movmad丢弃元素,它计算窗口中其余的元素。

M = movmad (3“omitnan”
m =1×100.5000 0.5000 1.0000 0.5000 1.0000 0.5000 0.5000 3.0000 0.5000 1.0000 1.5000

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

A = [4 8 6 -1 -2 -3];(3) k =小时;T = datetime(2016,1,1,0,0) + hours(0:5)
t =1 x6 datetime列1到3 01-Jan-2016 00:00:00 01-Jan-2016 01:00:00 01-Jan-2016 02:00:00列4到2016 01-Jan-2016 03:00:00 01-Jan-2016 04:00:00 01-Jan-2016 05:00:00
m = movmad(a,k,“SamplePoints”,t)
m =1×62.0000 2.0000 2.0000 1.0000 1.0000 0.5000

计算行向量的以三点为中心的移动MAD,但是放弃输出中使用少于三个点的任何计算。换句话说,只返回从一个完整的三元素窗口中计算出来的MADs,而放弃端点计算。

A = [1 2 1 -2 -3 -1 3 4 1];M = movmad (3“端点”“丢弃”
m =1×80 1 1 1 1 2 1 1

输入参数

全部收缩

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

数据类型:双倍的||int8|int16|INT32.|INT64.|uint8|uint16|uint32|uint64|逻辑

窗口长度,指定为数字或持续时间标量。当k是一个正整数标量,所在的疯狂包括当前位置的元素加上周围邻居。例如,由长度三个窗口定义的三点MAD导致向量的以下计算一个

数据类型:双倍的||int8|int16|INT32.|INT64.|uint8|uint16|uint32|uint64|持续时间

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

数据类型:双倍的||int8|int16|INT32.|INT64.|uint8|uint16|uint32|uint64|持续时间

维度运行,指定为正整数标量。如果没有指定值,则默认值是第一个数组维度,其大小不等于1。

考虑一个矩阵一个

  • 如果昏暗的= 1,然后MOVMAD(A,K,1)从第一列开始,垂直滑过每一行。MAD已经计算过了k每次元素。然后移动到第二列并重复计算。此过程将继续,直到耗尽所有列。

  • 如果昏暗的= 2,然后MOVMAD(A,K,2)从第一行开始,水平滑过每一列,进行计算k每次元素。然后它移动到第二行并重复计算。此过程持续到所有行都耗尽。

数据类型:双倍的||int8|int16|INT32.|INT64.|uint8|uint16|uint32|uint64

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

  • “includenan”——包括计算MAD时输入的值,导致输出。

  • “omitnan”- 忽略所有输入中的值。如果仅包含窗口值,然后movmad返回

名称值对参数

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

例子:M = movmad (k“端点”、“填补”)

处理Windows附近端点的方法,指定为逗号分隔对组成“端点”以及以下其中之一:

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

数据类型:双倍的||int8|int16|INT32.|INT64.|uint8|uint16|uint32|uint64|逻辑|char|字符串

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

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

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

如果样本点是非均匀分布的“端点”指定名称 - 值对,然后其值必须是'收缩'

数据类型:双倍的||int8|int16|INT32.|INT64.|uint8|uint16|uint32|uint64|约会时间|持续时间

更多关于

全部收缩

平均绝对偏差

对于随机变量向量一个N中值绝对偏差(MAD)定义为

疯了=值 | 一个 中位数 一个 |

i = 1,2,…,N

扩展功能

介绍了R2017a