主要内容

movvar

移动方差

描述

例子

M = movvar (一个k返回一个本地数组k-观点方差值,其中每个方差是在一个长度滑动窗口上计算的k横跨邻近的元素一个.当k奇数是奇数,窗口以当前位置的元素为中心。当k是偶数时,窗口以当前和以前的元素为中心。当没有足够的元素填充窗口时,窗口大小会在端点处自动截断。当窗口被截断时,方差仅接管填充窗口的元素。大小是一样的吗一个

  • 如果一个是向量吗movvar沿着矢量的长度运行。

  • 如果一个是一个多维数组吗movvar沿着第一个阵列维度运行,其大小不等于1。

例子

M = movvar (一个[kb kf]计算与长度窗口的方差kb + kf + 1包括当前位置中的元素,kb元素向后,kf元素前进。

例子

M = movvar (___w指定前面任何语法的规范化因子。当w = 0(默认),被归一化k - 1窗口的长度k.当w = 1被归一化k

例子

M = movvar (___w昏暗的返回沿维度滑动方差的数组昏暗的对于前面的任何语法。总是指定权重w从先前的语法指定时昏暗的.例如,如果一个是一个矩阵movvar (k, 0, 2)沿着列操作一个,计算这一点k-element每行滑动方差。归一化因子是默认值,k - 1

例子

M = movvar (___nanflag.指定是包含还是省略为任何前面语法计算的值。Movvar(A,K,'IncludeNan')包括所有值的计算whilemovvar (k ' omitnan ')忽略它们并计算较少点的方差。

例子

M = movvar (___名称,值使用一个或多个名称-值对参数为方差指定附加参数。例如,如果x是一个时间值的向量吗movvar(a,k,'samplepoints',x)计算相对于时间的移动方差x

例子

全部折叠

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

A = [4 8 6 -1 -2 -3 -1 3 4 5];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

计算行向量的三点跟踪移动方差。当端点窗口中的元素少于三个时,取可用元素的方差。

A = [4 8 6 -1 -2 -3 -1 3 4 5];m = movvar(a,[2 0])
M =1×100 8.0000 4.0000 22.3333 19.0000 1.0000 1.0000 1.0000 9.3333 7.0000 1.0000

计算行向量的三点居中的移动方差,并通过窗口中的元素数标准化每个方差。

A = [4 8 6 -1 -2 -3 -1 3 4 5];m = movvar(a,3,1)
M =1×104.0000 2.6667 14.8889 12.6667 0.6667 0.6667 0.6667 6.2222 4.6667 0.6667 0.2500

计算矩阵每一行的以三点为中心的移动方差。窗口从第一行开始,水平滑动到行尾,然后移动到第二行,以此类推。维数参数为2,它使窗口在列之间滑动一个.始终在指定维度时指定归一化因子。

a = [4 8 6;-1 -2 -3;-1 3 4];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

计算包含2的行向量的三点居中移动方差元素。

a = [4 8 nan -1 -2 -3 naN 3 4 5];m = movvar(a,3)
M =1×108.0000纳米NaN NaN 1.0000纳米Nan NaN 1.0000 0.5000

重新计算方差,但省略值。当movvar丢弃元素,它采用窗口中剩余元素的方差。

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

计算数据的3小时居中移动方差一个根据时间向量t

A = [4 8 6 -1 -2 -3];(3) k =小时;T = datetime(2016,1,1,0,0) + hours(0:5)
t =1x6 DateTime.column 4 to 6 01-Jan-2016 03:00:00 01-Jan-2016 04:00:00 01-Jan-2016 05:00:00
M = movvar (k“SamplePoints”, t)
M =1×6.8.0000 4.0000 22.3333 19.0000 1.0000 0.5000

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

A = [4 8 6 -1 -2 -3 -1 3 4 5];m = movvar(a,3,'终点''丢弃'
M =1×8.4.0000 22.3333 19.0000 1.0000 1.0000 9.3333 7.0000 1.0000

输入参数

全部折叠

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

数据类型:单身的|双倍的|逻辑

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

数据类型:单身的|双倍的|INT8.|int16|int32|INT64.|uint8.|uint16|UINT32|UINT64|持续时间

方向窗口长度,指定为包含两个元素的数字或持续时间行向量。当kbkf是正整数标量,计算结束了吗kb + kf + 1元素。计算包括当前位置的元素,kb元素在当前位置之前,以及kf元素在当前位置之后。例如,由方向窗口定义的四点方差[2 1]对向量的计算结果如下一个

数据类型:单身的|双倍的|INT8.|int16|int32|INT64.|uint8.|uint16|UINT32|UINT64|持续时间

权重,指定为以下值之一:

  • 0——正常化k - 1, 在哪里k是窗户长度。如果k = 1,重量是k

  • 1——正常化k

数据类型:单身的|双倍的

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

昏暗的表示movvar运行,即指定窗口幻灯片的方向。

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

  • 如果昏暗= 1,然后movvar (k, 0,1)从第一列开始,垂直滑过每一行。方差被计算出来k每次元素。然后它移动到第二列并重复计算。此过程继续,直到所有列耗尽。这个论点0指定指定时需要的默认重量昏暗的

  • 如果昏暗= 2,然后movvar (k, 0, 2)从第一行开始,并在每列上水平拖动。方差被计算出来k每次元素。然后移动到第二行并重复计算。此过程将继续,直到耗尽所有行。这个论点0指定指定时需要的默认重量昏暗的

数据类型:双倍的|单身的|INT8.|int16|int32|INT64.|uint8.|uint16|UINT32|UINT64

条件,指定为其中一个值:

  • “includenan”- 包括从输入值计算方差时,导致输出

  • 'omitnan'——忽略所有值。如果一个窗口只包含值,然后movvar返回

名称-值对的观点

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

例子:m = movvar(a,k,'端点','fill')

方法处理前导窗口和后导窗口,指定为逗号分隔对,由'终点'以及以下其中之一:

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

数据类型:双倍的|单身的|INT8.|int16|int32|INT64.|uint8.|uint16|UINT32|UINT64|逻辑|字符|细绳

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

移动窗口相对于样本点定义,必须对其进行排序并包含唯一元素。例如,如果t那么,时间向量是否与输入数据相对应呢movvar(rand(1,10),3,'samplepoints',t)有一个窗口表示时间间隔T(i)-1.5T(i)+1.5

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

如果样本点是非均匀分布的'终点'指定名称-值对,则其值必须为“缩水”

数据类型:单身的|双倍的|INT8.|int16|int32|INT64.|uint8.|uint16|UINT32|UINT64|约会时间|持续时间

更多关于

全部折叠

方差

对于随机可变矢量一个组成的N标量观测值,方差定义为

V 1 N - 1 σ. 1 N | 一个 - μ | 2

在哪里μ是卑鄙的一个

μ 1 N σ. 1 N 一个

方差的一些定义使用的归一化因子N而不是N-1.您可以指定一个因素N通过设置w1.在任何一种情况下,假设平均值具有通常的归一化因子N

扩展能力

C / C ++代码生成
使用MATLAB®Coder™生成C和C ++代码。

介绍了R2016a