26.2数据滑窗统计

计算完整数据集的子部分(即窗口)的描述性统计数据通常很有用。Octave提供函数movfun它将调用具有数据窗口的任意函数句柄并累积结果。许多最常用的函数,例如数据窗口上的移动平均值(movmean),已经提供。

 
: y = movfun (fcn, x, wlen)
: y = movfun (fcn, x, [nb, na])
: y = movfun (…, "property", value)

应用函数fcn到一个移动的窗口的长度wlen关于数据x.

如果wlen是标量,函数fcn应用于长度为的移动窗口wlenwlen是一个奇数,窗口是对称的,包括(wlen - 1) / 2 位于中心元素两侧的元素。例如在计算窗口长度为3的输出阿替尼5时,movfun使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movfun使用数据元素[3, 4, 5, 6] .

如果wlen是一个包含两个元素的数组[nbna] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .

在计算过程中,数据输入x被重塑为二维wlenxN矩阵和fcn因此,fcn必须接受数组输入参数,并沿维度1应用计算,即沿数组的列应用计算。

应用于具有的数组(可能是多维的)时n柱,fcn可以以两种格式之一返回结果:格式1) 大小为1-by的数组-nxdim3-通过…通过-dimN。这是Octave核心函数的典型输出格式。类型demo ("movfun", 5)作为这个用例的一个例子。格式2) 长度的行向量n * numel_higher_dims这里的numel_higher_dimsprod (size (x)(3:end)). fcn 的输出 i-th input column must be found in the output at indices i:n:(n*numel_higher_dims). This format is useful when concatenating functions into arrays, or when using nthargout. Type demo ("movfun", 6) for an example of this case.

可以通过指定来控制计算property/value对。有效属性为

"dim"

沿着指定的维度操作,而不是第一个非奇异维度的默认维度。

"Endpoints"

此属性控制在边界(端点)处计算结果的方式 )窗户的。可能的值为:

"shrink" (default)

窗口在数组的开始和结束处被截断,以排除没有源数据的元素。例如对于长度为3的窗口,y(1) = fcn (x(1:2))y(end) = fcn (x(end-1:end)).

广告
"discard"

任何y使用扩展到originaldata数组之外的窗口的值将被删除。例如,对于10个元素的数据向量和长度为3的窗口,输出将仅包含8个元素。第一个元素需要计算指数上的函数[0, 1, 2] 并且因此被丢弃。最后一个元素需要计算指数上的函数[9, 10, 11] 并且被重新丢弃。

广告
"fill"

数据数组之外的任何窗口元素都被替换为NaN例如对于长度为3的窗口,y(1) = fcn ([NaN, x(1:2)])y(end) = fcn ([x(end-1:end), NaN])。此参数通常会导致yNaN边界处的值,尽管它受到fcn句柄NaN,以及属性"nancond".

广告
user_value

数据数组之外的任何窗口元素都被指定的值替换user_value其必须是数字标量。例如具有长度为3的窗口,y(1) = fcn ([user_value, x(1:2)])y(end) = fcn ([x(end-1:end), user_value])。的常见选择user_value为0。

广告
"same"

数据数组之外的任何窗口元素都将替换为的值x在边界处。例如对于长度为3的窗口,y(1) = fcn ([x(1), x(1:2)])y(end) = fcn ([x(end-1:end), x(end)]).

广告
"periodic"

窗口被软件包,以便从数据的另一侧获取任何丢失的数据元素。例如对于长度为3的窗口,y(1) = fcn ([x(end), x(1:2)])y(end) = fcn ([x(end-1:end), x(1)]).

广告

请注意,对于其中一些选择,边界处的窗口大小与中心部分的窗口大小不同,并且fcn在这种情况下必须工作。

广告
"nancond"

控制是否NaNNA应包括值(值:"includenan"),或排除(值:"omitnan"),从传递到的数据fcn。默认为"includenan"。注意:"omitnan"参数尚未实现。

广告
"outdim"

一个行向量,用于选择计算的哪些维度将出现在输出中y。只有当fcn返回格式为1的N维数组 。默认情况是返回所有输出维度。

广告

编程说明:属性"outdim"当的输出fcn具有许多维度,或者当选择所需输出的基本函数的软件包器成本过高时。当内存不是问题时,选择输出维度的最简单方法是首先使用计算完整结果movfun然后用索引过滤结果。如果代码复杂性不是问题,那么可以使用匿名函数创建软件包器。例如,如果basefcn是返回的函数K-标注行输出,且仅标注D如果需要,则可以使用以下软件包器。

fcn = @(x) basefcn (x)(:,columns(x) * (D-1) + (1:columns(x)));
y = movfun (@fcn, ...);

详见: movslice,prepad,postpad,permute,reshape.

广告
 
: slcidx = movslice (N, wlen)
: [slcidx, C, Cpre, Cpost, win] = movslice (…)

生成索引以对长度向量进行切片N进入长度的窗户wlen.

输入N必须是正整数。

移动窗口长度输入wlen可以是不等于1的标量,也可以是整数的2元数组。对于标量值,如果奇数,则窗口是对称的,并且包括(wlen - 1) / 2 位于中心元素两侧的元素。如果wlen甚至窗户也是不对称的wlen/2 位于中心元素左侧的元素和wlen/2 - 1 中央元素右侧的元素。当wlen是2元件数组,[nbna] ,该窗口包括nb当前元素左侧的元素,以及na当前元素右侧的元素。

输出slcidx是完全适合向量的切片的索引数组,其中当窗口从左向右移动时,每列都是一个单独的切片。切片有wlen标量的元素wlennb + na + 1 数组值的元素wlen.

可选输出C是窗口中心位置的行向量,窗口完全位于该向量内。

可选输出CpreCpost分别在向量的开始和结束处包含向量元素,这些元素导致窗口扩展到向量的结束之外。

可选输出win是具有相同行数的列向量slcidx其中包含定义为相对中心位置模板的移动窗口。

详见: movfun.

广告
 
: y = movmad (x, wlen)
: y = movmad (x, [nb, na])
: y = movmad (…, dim)
: y = movmad (…, "nancond")
: y = movmad (…, property, value)

计算长度滑窗上的移动平均绝对偏差wlen关于数据x.

如果wlen是标量,函数mad应用于任意长度的窗口wlenwlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movmad使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movmad使用数据元素[3, 4, 5, 6] .

如果wlen是一个包含两个元素的数组[nbna] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .

如果可选参数dim给定,沿此维度操作。

可选的字符串参数"nancond"控制是否NaNNA应包括值("includenan"),或排除("omitnan"),从传递到的数据mad。默认为"includenan"。注意:"omitnan"参数尚未实现。

可以通过指定来控制计算property/value对。有效属性为

"Endpoints"

此属性控制在边界(端点)处计算结果的方式 )窗户的。可能的值为:

"shrink" (default)

窗口在数组的开始和结束处被截断,以排除没有源数据的元素。例如对于长度为3的窗口,y(1) = mad (x(1:2))y(end) = mad (x(end-1:end)).

"discard"

任何y使用扩展到originaldata数组之外的窗口的值将被删除。例如,对于10个元素的数据向量和长度为3的窗口,输出将仅包含8个元素。第一个元素需要计算指数上的函数[0, 1, 2] 并且因此被丢弃。最后一个元素需要计算指数上的函数[9, 10, 11] 并且被重新丢弃。

"fill"

数据数组之外的任何窗口元素都被替换为NaN例如对于长度为3的窗口,y(1) = mad ([NaN, x(1:2)])y(end) = mad ([x(end-1:end), NaN])。此参数通常会导致yNaN边界处的值,尽管它受到mad句柄NaN,以及属性"nancond".

user_value

数据数组之外的任何窗口元素都被指定的值替换user_value其必须是数字标量。例如具有长度为3的窗口,y(1) = mad ([user_value, x(1:2)])y(end) = mad ([x(end-1:end), user_value])。的常见选择user_value为0。

"same"

数据数组之外的任何窗口元素都将替换为的值x在边界处。例如对于长度为3的窗口,y(1) = mad ([x(1), x(1:2)])y(end) = mad ([x(end-1:end), x(end)]).

"periodic"

窗口被软件包,以便从数据的另一侧获取任何丢失的数据元素。例如对于长度为3的窗口,y(1) = mad ([x(end), x(1:2)])y(end) = mad ([x(end-1:end), x(1)]).

广告
"SamplePoints"

注意:此参数尚未支持。

广告

编程注意:这个函数是一个软件包器,它调用movfun。有关其他参数和文档,详见movfun.

详见: movfun,movslice,movmax,movmean,movmedian,movmin,movprod,movstd,movsum,movvar.

广告
 
: y = movmax (x, wlen)
: y = movmax (x, [nb, na])
: y = movmax (…, dim)
: y = movmax (…, "nancond")
: y = movmax (…, property, value)

计算长度为的滑窗上的移动最大值wlenondatax.

如果wlen是标量,函数max应用于任意长度的窗口wlenwlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movmax使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movmax使用数据元素[3, 4, 5, 6] .

如果wlen是一个包含两个元素的数组[nbna] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .

如果可选参数dim给定,沿此维度操作。

可选的字符串参数"nancond"控制是否NaNNA应包括值("includenan"),或排除("omitnan"),从传递到的数据max。默认为"includenan"。注意:"omitnan"参数尚未实现。

可以通过指定来控制计算property/value对。有效属性为

"Endpoints"

此属性控制在边界(端点)处计算结果的方式 )窗户的。可能的值为:

"shrink" (default)

窗口在数组的开始和结束处被截断,以排除没有源数据的元素。例如对于长度为3的窗口,y(1) = max (x(1:2))y(end) = max (x(end-1:end)).

"discard"

任何y使用扩展到originaldata数组之外的窗口的值将被删除。例如,对于10个元素的数据向量和长度为3的窗口,输出将仅包含8个元素。第一个元素需要计算指数上的函数[0, 1, 2] 并且因此被丢弃。最后一个元素需要计算指数上的函数[9, 10, 11] 并且被重新丢弃。

"fill"

数据数组之外的任何窗口元素都被替换为NaN例如对于长度为3的窗口,y(1) = max ([NaN, x(1:2)])y(end) = max ([x(end-1:end), NaN])。此参数通常会导致yNaN边界处的值,尽管它受到max句柄NaN,以及属性"nancond".

user_value

数据数组之外的任何窗口元素都被指定的值替换user_value其必须是数字标量。例如具有长度为3的窗口,y(1) = max ([user_value, x(1:2)])y(end) = max ([x(end-1:end), user_value])。的常见选择user_value为0。

"same"

数据数组之外的任何窗口元素都将替换为的值x在边界处。例如对于长度为3的窗口,y(1) = max ([x(1), x(1:2)])y(end) = max ([x(end-1:end), x(end)]).

"periodic"

窗口被软件包,以便从数据的另一侧获取任何丢失的数据元素。例如对于长度为3的窗口,y(1) = max ([x(end), x(1:2)])y(end) = max ([x(end-1:end), x(1)]).

广告
"SamplePoints"

注意:此参数尚未支持。

广告

编程注意:这个函数是一个软件包器,它调用movfun。有关其他参数和文档,详见movfun.

详见: movfun,movslice,movmad,movmean,movmedian,movmin,movprod,movstd,movsum,movvar.

广告
 
: y = movmean (x, wlen)
: y = movmean (x, [nb, na])
: y = movmean (…, dim)
: y = movmean (…, "nancond")
: y = movmean (…, property, value)

计算长度为的滑窗上的移动平均值wlenondatax.

如果wlen是标量,函数mean应用于任意长度的窗口wlenwlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movmean使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movmean使用数据元素[3, 4, 5, 6] .

如果wlen是一个包含两个元素的数组[nbna] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .

如果可选参数dim给定,沿此维度操作。

可选的字符串参数"nancond"控制是否NaNNA应包括值("includenan"),或排除("omitnan"),从传递到的数据mean。默认为"includenan"。注意:"omitnan"参数尚未实现。

可以通过指定来控制计算property/value对。有效属性为

"Endpoints"

此属性控制在边界(端点)处计算结果的方式 )窗户的。可能的值为:

"shrink" (default)

窗口在数组的开始和结束处被截断,以排除没有源数据的元素。例如对于长度为3的窗口,y(1) = mean (x(1:2))y(end) = mean (x(end-1:end)).

"discard"

任何y使用扩展到originaldata数组之外的窗口的值将被删除。例如,对于10个元素的数据向量和长度为3的窗口,输出将仅包含8个元素。第一个元素需要计算指数上的函数[0, 1, 2] 并且因此被丢弃。最后一个元素需要计算指数上的函数[9, 10, 11] 并且被重新丢弃。

"fill"

数据数组之外的任何窗口元素都被替换为NaN例如对于长度为3的窗口,y(1) = mean ([NaN, x(1:2)])y(end) = mean ([x(end-1:end), NaN])。此参数通常会导致yNaN边界处的值,尽管它受到mean句柄NaN,以及属性"nancond".

user_value

数据数组之外的任何窗口元素都被指定的值替换user_value其必须是数字标量。例如具有长度为3的窗口,y(1) = mean ([user_value, x(1:2)])y(end) = mean ([x(end-1:end), user_value])。的常见选择user_value为0。

"same"

数据数组之外的任何窗口元素都将替换为的值x在边界处。例如对于长度为3的窗口,y(1) = mean ([x(1), x(1:2)])y(end) = mean ([x(end-1:end), x(end)]).

"periodic"

窗口被软件包,以便从数据的另一侧获取任何丢失的数据元素。例如对于长度为3的窗口,y(1) = mean ([x(end), x(1:2)])y(end) = mean ([x(end-1:end), x(1)]).

广告
"SamplePoints"

注意:此参数尚未支持。

广告

编程注意:这个函数是一个软件包器,它调用movfun。有关其他参数和文档,详见movfun.

详见: movfun,movslice,movmad,movmax,movmedian,movmin,movprod,movstd,movsum,movvar.

广告
 
: y = movmedian (x, wlen)
: y = movmedian (x, [nb, na])
: y = movmedian (…, dim)
: y = movmedian (…, "nancond")
: y = movmedian (…, property, value)

计算长度为的滑窗上的移动中值wlenondatax.

如果wlen是标量,函数movmedian应用于任意长度的窗口wlenwlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movmedian使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movmedian使用数据元素[3, 4, 5, 6] .

如果wlen是一个包含两个元素的数组[nbna] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .

如果可选参数dim给定,沿此维度操作。

可选的字符串参数"nancond"控制是否NaNNA应包括值("includenan"),或排除("omitnan"),从传递到的数据movmedian。默认为"includenan"。注意:"omitnan"参数尚未实现。

可以通过指定来控制计算property/value对。有效属性为

"Endpoints"

此属性控制在边界(端点)处计算结果的方式 )窗户的。可能的值为:

"shrink" (default)

窗口在数组的开始和结束处被截断,以排除没有源数据的元素。例如对于长度为3的窗口,y(1) = movmedian (x(1:2))y(end) = movmedian (x(end-1:end)).

"discard"

任何y使用扩展到originaldata数组之外的窗口的值将被删除。例如,对于10个元素的数据向量和长度为3的窗口,输出将仅包含8个元素。第一个元素需要计算指数上的函数[0, 1, 2] 并且因此被丢弃。最后一个元素需要计算指数上的函数[9, 10, 11] 并且被重新丢弃。

"fill"

数据数组之外的任何窗口元素都被替换为NaN例如对于长度为3的窗口,y(1) = movmedian ([NaN, x(1:2)])y(end) = movmedian ([x(end-1:end), NaN])。此参数通常会导致yNaN边界处的值,尽管它受到movmedian句柄NaN,以及属性"nancond".

user_value

数据数组之外的任何窗口元素都被指定的值替换user_value其必须是数字标量。例如具有长度为3的窗口,y(1) = movmedian ([user_value, x(1:2)])y(end) = movmedian ([x(end-1:end), user_value])。的常见选择user_value为0。

"same"

数据数组之外的任何窗口元素都将替换为的值x在边界处。例如对于长度为3的窗口,y(1) = movmedian ([x(1), x(1:2)])y(end) = movmedian ([x(end-1:end), x(end)]).

"periodic"

窗口被软件包,以便从数据的另一侧获取任何丢失的数据元素。例如对于长度为3的窗口,y(1) = movmedian ([x(end), x(1:2)])y(end) = movmedian ([x(end-1:end), x(1)]).

广告
"SamplePoints"

注意:此参数尚未支持。

广告

编程注意:这个函数是一个软件包器,它调用movfun。有关其他参数和文档,详见movfun.

详见: movfun,movslice,movmad,movmax,movmean,movmin,movprod,movstd,movsum,movvar.

广告
 
: y = movmin (x, wlen)
: y = movmin (x, [nb, na])
: y = movmin (…, dim)
: y = movmin (…, "nancond")
: y = movmin (…, property, value)

计算长度为的滑窗上的移动最小值wlenondatax.

如果wlen是标量,函数min应用于任意长度的窗口wlenwlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movmin使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movmin使用数据元素[3, 4, 5, 6] .

如果wlen是一个包含两个元素的数组[nbna] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .

如果可选参数dim给定,沿此维度操作。

可选的字符串参数"nancond"控制是否NaNNA应包括值("includenan"),或排除("omitnan"),从传递到的数据min。默认为"includenan"。注意:"omitnan"参数尚未实现。

可以通过指定来控制计算property/value对。有效属性为

"Endpoints"

此属性控制在边界(端点)处计算结果的方式 )窗户的。可能的值为:

"shrink" (default)

窗口在数组的开始和结束处被截断,以排除没有源数据的元素。例如对于长度为3的窗口,y(1) = min (x(1:2))y(end) = min (x(end-1:end)).

"discard"

任何y使用扩展到originaldata数组之外的窗口的值将被删除。例如,对于10个元素的数据向量和长度为3的窗口,输出将仅包含8个元素。第一个元素需要计算指数上的函数[0, 1, 2] 并且因此被丢弃。最后一个元素需要计算指数上的函数[9, 10, 11] 并且被重新丢弃。

"fill"

数据数组之外的任何窗口元素都被替换为NaN例如对于长度为3的窗口,y(1) = min ([NaN, x(1:2)])y(end) = min ([x(end-1:end), NaN])。此参数通常会导致yNaN边界处的值,尽管它受到min句柄NaN,以及属性"nancond".

user_value

数据数组之外的任何窗口元素都被指定的值替换user_value其必须是数字标量。例如具有长度为3的窗口,y(1) = min ([user_value, x(1:2)])y(end) = min ([x(end-1:end), user_value])。的常见选择user_value为0。

"same"

数据数组之外的任何窗口元素都将替换为的值x在边界处。例如对于长度为3的窗口,y(1) = min ([x(1), x(1:2)])y(end) = min ([x(end-1:end), x(end)]).

"periodic"

窗口被软件包,以便从数据的另一侧获取任何丢失的数据元素。例如对于长度为3的窗口,y(1) = min ([x(end), x(1:2)])y(end) = min ([x(end-1:end), x(1)]).

广告
"SamplePoints"

注意:此参数尚未支持。

广告

编程注意:这个函数是一个软件包器,它调用movfun。有关其他参数和文档,详见movfun.

详见: movfun,movslice,movmad,movmax,movmean,movmedian,movprod,movstd,movsum,movvar.

广告
 
: y = movprod (x, wlen)
: y = movprod (x, [nb, na])
: y = movprod (…, dim)
: y = movprod (…, "nancond")
: y = movprod (…, property, value)

计算在一定长度的滑窗上移动的产品wlenondatax.

如果wlen是标量,函数movprod应用于任意长度的窗口wlenwlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movprod使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movprod使用数据元素[3, 4, 5, 6] .

如果wlen是一个包含两个元素的数组[nbna] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .

如果可选参数dim给定,沿此维度操作。

可选的字符串参数"nancond"控制是否NaNNA应包括值("includenan"),或排除("omitnan"),从传递到的数据movprod。默认为"includenan"。注意:"omitnan"参数尚未实现。

可以通过指定来控制计算property/value对。有效属性为

"Endpoints"

此属性控制在边界(端点)处计算结果的方式 )窗户的。可能的值为:

"shrink" (default)

窗口在数组的开始和结束处被截断,以排除没有源数据的元素。例如对于长度为3的窗口,y(1) = movprod (x(1:2))y(end) = movprod (x(end-1:end)).

"discard"

任何y使用扩展到originaldata数组之外的窗口的值将被删除。例如,对于10个元素的数据向量和长度为3的窗口,输出将仅包含8个元素。第一个元素需要计算指数上的函数[0, 1, 2] 并且因此被丢弃。最后一个元素需要计算指数上的函数[9, 10, 11] 并且被重新丢弃。

"fill"

数据数组之外的任何窗口元素都被替换为NaN例如对于长度为3的窗口,y(1) = movprod ([NaN, x(1:2)])y(end) = movprod ([x(end-1:end), NaN])。此参数通常会导致yNaN边界处的值,尽管它受到movprod句柄NaN,以及属性"nancond".

user_value

数据数组之外的任何窗口元素都被指定的值替换user_value其必须是数字标量。例如具有长度为3的窗口,y(1) = movprod ([user_value, x(1:2)])y(end) = movprod ([x(end-1:end), user_value])。的常见选择user_value为0。

"same"

数据数组之外的任何窗口元素都将替换为的值x在边界处。例如对于长度为3的窗口,y(1) = movprod ([x(1), x(1:2)])y(end) = movprod ([x(end-1:end), x(end)]).

"periodic"

窗口被软件包,以便从数据的另一侧获取任何丢失的数据元素。例如对于长度为3的窗口,y(1) = movprod ([x(end), x(1:2)])y(end) = movprod ([x(end-1:end), x(1)]).

广告
"SamplePoints"

注意:此参数尚未支持。

广告

编程注意:这个函数是一个软件包器,它调用movfun。有关其他参数和文档,详见movfun.

详见: movfun,movslice,movmad,movmax,movmean,movmedian,movmin,movstd,movsum,movvar.

广告
 
: y = movstd (x, wlen)
: y = movstd (x, [nb, na])
: y = movstd (…, opt)
: y = movstd (…, opt, dim)
: y = movstd (…, "nancond")
: y = movstd (…, property, value)

计算长度为的滑窗上的移动标准偏差wlen关于数据x.

如果wlen是标量,函数movstd应用于任意长度的窗口wlenwlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movstd使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movstd使用数据元素[3, 4, 5, 6] .

如果wlen是一个包含两个元素的数组[nbna] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .

可选参数opt确定要使用的规范化类型。有效值为

0:

规范化为N-1,提供方差的最佳解算器的平方根[默认值]

广告
1:

规范化为N,这提供了二阶矩在平均值附近的平方根

广告

如果可选参数dim给定,沿此维度操作。规范化参数opt必须在维度之前给定。 要使用 opt 的默认值,你可以传入空的 参数 [].

可选的字符串参数"nancond"控制是否NaNNA应包括值("includenan"),或排除("omitnan"),从传递到的数据movstd。默认为"includenan"。注意:"omitnan"参数尚未实现。

可以通过指定来控制计算property/value对。有效属性为

"Endpoints"

此属性控制在边界(端点)处计算结果的方式 )窗户的。可能的值为:

"shrink" (default)

窗口在数组的开始和结束处被截断,以排除没有源数据的元素。例如对于长度为3的窗口,y(1) = movstd (x(1:2))y(end) = movstd (x(end-1:end)).

"discard"

任何y使用扩展到originaldata数组之外的窗口的值将被删除。例如,对于10个元素的数据向量和长度为3的窗口,输出将仅包含8个元素。第一个元素需要计算指数上的函数[0, 1, 2] 并且因此被丢弃。最后一个元素需要计算指数上的函数[9, 10, 11] 并且被重新丢弃。

"fill"

数据数组之外的任何窗口元素都被替换为NaN例如对于长度为3的窗口,y(1) = movstd ([NaN, x(1:2)])y(end) = movstd ([x(end-1:end), NaN])。此参数通常会导致yNaN边界处的值,尽管它受到movstd句柄NaN,以及属性"nancond".

user_value

数据数组之外的任何窗口元素都被指定的值替换user_value其必须是数字标量。例如具有长度为3的窗口,y(1) = movstd ([user_value, x(1:2)])y(end) = movstd ([x(end-1:end), user_value])。的常见选择user_value为0。

"same"

数据数组之外的任何窗口元素都将替换为的值x在边界处。例如对于长度为3的窗口,y(1) = movstd ([x(1), x(1:2)])y(end) = movstd ([x(end-1:end), x(end)]).

"periodic"

窗口被软件包,以便从数据的另一侧获取任何丢失的数据元素。例如对于长度为3的窗口,y(1) = movstd ([x(end), x(1:2)])y(end) = movstd ([x(end-1:end), x(1)]).

广告
"SamplePoints"

注意:此参数尚未支持。

广告

编程注意:这个函数是一个软件包器,它调用movfun。有关其他参数和文档,详见movfun.

详见: movfun,movslice,movmad,movmax,movmean,movmedian,movmin,movprod,movsum,movvar.

广告
 
: y = movsum (x, wlen)
: y = movsum (x, [nb, na])
: y = movsum (…, dim)
: y = movsum (…, "nancond")
: y = movsum (…, property, value)

计算长度滑窗上的移动总和wlenondatax.

如果wlen是标量,函数movsum应用于任意长度的窗口wlenwlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movsum使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movsum使用数据元素[3, 4, 5, 6] .

如果wlen是一个包含两个元素的数组[nbna] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .

如果可选参数dim给定,沿此维度操作。

可选的字符串参数"nancond"控制是否NaNNA应包括值("includenan"),或排除("omitnan"),从传递到的数据movsum。默认为"includenan"。注意:"omitnan"参数尚未实现。

可以通过指定来控制计算property/value对。有效属性为

"Endpoints"

此属性控制在边界(端点)处计算结果的方式 )窗户的。可能的值为:

"shrink" (default)

窗口在数组的开始和结束处被截断,以排除没有源数据的元素。例如对于长度为3的窗口,y(1) = movsum (x(1:2))y(end) = movsum (x(end-1:end)).

"discard"

任何y使用扩展到originaldata数组之外的窗口的值将被删除。例如,对于10个元素的数据向量和长度为3的窗口,输出将仅包含8个元素。第一个元素需要计算指数上的函数[0, 1, 2] 并且因此被丢弃。最后一个元素需要计算指数上的函数[9, 10, 11] 并且被重新丢弃。

"fill"

数据数组之外的任何窗口元素都被替换为NaN例如对于长度为3的窗口,y(1) = movsum ([NaN, x(1:2)])y(end) = movsum ([x(end-1:end), NaN])。此参数通常会导致yNaN边界处的值,尽管它受到movsum句柄NaN,以及属性"nancond".

user_value

数据数组之外的任何窗口元素都被指定的值替换user_value其必须是数字标量。例如具有长度为3的窗口,y(1) = movsum ([user_value, x(1:2)])y(end) = movsum ([x(end-1:end), user_value])。的常见选择user_value为0。

"same"

数据数组之外的任何窗口元素都将替换为的值x在边界处。例如对于长度为3的窗口,y(1) = movsum ([x(1), x(1:2)])y(end) = movsum ([x(end-1:end), x(end)]).

"periodic"

窗口被软件包,以便从数据的另一侧获取任何丢失的数据元素。例如对于长度为3的窗口,y(1) = movsum ([x(end), x(1:2)])y(end) = movsum ([x(end-1:end), x(1)]).

广告
"SamplePoints"

注意:此参数尚未支持。

广告

编程注意:这个函数是一个软件包器,它调用movfun。有关其他参数和文档,详见movfun.

详见: movfun,movslice,movmad,movmax,movmean,movmedian,movmin,movprod,movstd,movvar.

广告
 
: y = movvar (x, wlen)
: y = movvar (x, [nb, na])
: y = movvar (…, opt)
: y = movvar (…, opt, dim)
: y = movvar (…, "nancond")
: y = movvar (…, property, value)

计算长度滑窗上的移动方差wlenondatax.

如果wlen是标量,函数var应用于任意长度的窗口wlenwlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movvar使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movvar使用数据元素[3, 4, 5, 6] .

如果wlen是一个包含两个元素的数组[nbna] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .

可选参数opt确定要使用的规范化类型。有效值为:

0:

规范化为N-1,提供了方差的最佳无偏估计量[默认值]

广告
1:

规范化为N,这提供了围绕平均值的第二个力矩

广告

如果可选参数dim给定,沿此维度操作。规范化参数opt必须在维度之前给定。 要使用 opt 的默认值,你可以传入空的 参数 [].

可选的字符串参数"nancond"控制是否NaNNA应包括值("includenan"),或排除("omitnan"),从传递到的数据var。默认为"includenan"。注意:"omitnan"参数尚未实现。

可以通过指定来控制计算property/value对。有效属性为

"Endpoints"

此属性控制在边界(端点)处计算结果的方式 )窗户的。可能的值为:

"shrink" (default)

窗口在数组的开始和结束处被截断,以排除没有源数据的元素。例如对于长度为3的窗口,y(1) = var (x(1:2))y(end) = var (x(end-1:end)).

"discard"

任何y使用扩展到originaldata数组之外的窗口的值将被删除。例如,对于10个元素的数据向量和长度为3的窗口,输出将仅包含8个元素。第一个元素需要计算指数上的函数[0, 1, 2] 并且因此被丢弃。最后一个元素需要计算指数上的函数[9, 10, 11] 并且被重新丢弃。

"fill"

数据数组之外的任何窗口元素都被替换为NaN例如对于长度为3的窗口,y(1) = var ([NaN, x(1:2)])y(end) = var ([x(end-1:end), NaN])。此参数通常会导致yNaN边界处的值,尽管它受到var句柄NaN,以及属性"nancond".

user_value

Any window elements outside the data array are replaced by the specified value user_value which must be a numeric scalar. For example, with a window of length 3, y(1) = var ([user_value, x(1:2)]), and y(end) = var ([x(end-1:end), user_value]). A common choice for user_value is 0.

"same"

Any window elements outside the data array are replaced by the value of x at the boundary. For example, with a window of length 3, y(1) = var ([x(1), x(1:2)]), and y(end) = var ([x(end-1:end), x(end)]).

"periodic"

The window is wrapped so that any missing data elements are taken from the other side of the data. For example, with a window of length 3, y(1) = var ([x(end), x(1:2)]), and y(end) = var ([x(end-1:end), x(1)]).

广告
"SamplePoints"

Caution: This option is not yet implemented.

广告

编程注意:这个函数是一个软件包器,它调用movfun。有关其他参数和文档,详见movfun.

详见: movfun,movslice,movmad,movmax,movmean,movmedian,movmin,movprod,movstd,movsum.


版权所有 © 2024-2025 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2