计算完整数据集的子部分(即窗口)的描述性统计数据通常很有用。Octave提供函数movfun它将调用具有数据窗口的任意函数句柄并累积结果。许多最常用的函数,例如数据窗口上的移动平均值(movmean),已经提供。
y = movfun (fcn, x, wlen) ¶y = movfun (fcn, x, [nb, na]) ¶y = movfun (…, "property", value) ¶应用函数fcn到一个移动的窗口的长度wlen关于数据x.
如果wlen是标量,函数fcn应用于长度为的移动窗口wlen当wlen是一个奇数,窗口是对称的,包括(wlen - 1) / 2 位于中心元素两侧的元素。例如在计算窗口长度为3的输出阿替尼5时,movfun使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movfun使用数据元素[3, 4, 5, 6] .
如果wlen是一个包含两个元素的数组[nb, na] ,该函数应用于移动窗口-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_dims是
prod (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])。此参数通常会导致y有NaN边界处的值,尽管它受到fcn句柄NaN,以及属性"nancond".
数据数组之外的任何窗口元素都被指定的值替换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"控制是否NaN和NA应包括值(值:"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元件数组,[nb, na] ,该窗口包括nb当前元素左侧的元素,以及na当前元素右侧的元素。
输出slcidx是完全适合向量的切片的索引数组,其中当窗口从左向右移动时,每列都是一个单独的切片。切片有wlen标量的元素wlen或nb + na + 1 数组值的元素wlen.
可选输出C是窗口中心位置的行向量,窗口完全位于该向量内。
可选输出Cpre和Cpost分别在向量的开始和结束处包含向量元素,这些元素导致窗口扩展到向量的结束之外。
可选输出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应用于任意长度的窗口wlen当wlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movmad使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movmad使用数据元素[3, 4, 5, 6] .
如果wlen是一个包含两个元素的数组[nb, na] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .
如果可选参数dim给定,沿此维度操作。
可选的字符串参数"nancond"控制是否NaN和NA应包括值("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])。此参数通常会导致y有NaN边界处的值,尽管它受到mad句柄NaN,以及属性"nancond".
数据数组之外的任何窗口元素都被指定的值替换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应用于任意长度的窗口wlen当wlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movmax使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movmax使用数据元素[3, 4, 5, 6] .
如果wlen是一个包含两个元素的数组[nb, na] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .
如果可选参数dim给定,沿此维度操作。
可选的字符串参数"nancond"控制是否NaN和NA应包括值("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])。此参数通常会导致y有NaN边界处的值,尽管它受到max句柄NaN,以及属性"nancond".
数据数组之外的任何窗口元素都被指定的值替换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应用于任意长度的窗口wlen当wlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movmean使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movmean使用数据元素[3, 4, 5, 6] .
如果wlen是一个包含两个元素的数组[nb, na] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .
如果可选参数dim给定,沿此维度操作。
可选的字符串参数"nancond"控制是否NaN和NA应包括值("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])。此参数通常会导致y有NaN边界处的值,尽管它受到mean句柄NaN,以及属性"nancond".
数据数组之外的任何窗口元素都被指定的值替换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应用于任意长度的窗口wlen当wlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movmedian使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movmedian使用数据元素[3, 4, 5, 6] .
如果wlen是一个包含两个元素的数组[nb, na] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .
如果可选参数dim给定,沿此维度操作。
可选的字符串参数"nancond"控制是否NaN和NA应包括值("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])。此参数通常会导致y有NaN边界处的值,尽管它受到movmedian句柄NaN,以及属性"nancond".
数据数组之外的任何窗口元素都被指定的值替换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应用于任意长度的窗口wlen当wlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movmin使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movmin使用数据元素[3, 4, 5, 6] .
如果wlen是一个包含两个元素的数组[nb, na] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .
如果可选参数dim给定,沿此维度操作。
可选的字符串参数"nancond"控制是否NaN和NA应包括值("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])。此参数通常会导致y有NaN边界处的值,尽管它受到min句柄NaN,以及属性"nancond".
数据数组之外的任何窗口元素都被指定的值替换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应用于任意长度的窗口wlen当wlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movprod使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movprod使用数据元素[3, 4, 5, 6] .
如果wlen是一个包含两个元素的数组[nb, na] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .
如果可选参数dim给定,沿此维度操作。
可选的字符串参数"nancond"控制是否NaN和NA应包括值("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])。此参数通常会导致y有NaN边界处的值,尽管它受到movprod句柄NaN,以及属性"nancond".
数据数组之外的任何窗口元素都被指定的值替换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应用于任意长度的窗口wlen当wlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movstd使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movstd使用数据元素[3, 4, 5, 6] .
如果wlen是一个包含两个元素的数组[nb, na] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .
可选参数opt确定要使用的规范化类型。有效值为
规范化为N-1,提供方差的最佳解算器的平方根[默认值]
规范化为N,这提供了二阶矩在平均值附近的平方根
如果可选参数dim给定,沿此维度操作。规范化参数opt必须在维度之前给定。
要使用 opt 的默认值,你可以传入空的
参数 [].
可选的字符串参数"nancond"控制是否NaN和NA应包括值("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])。此参数通常会导致y有NaN边界处的值,尽管它受到movstd句柄NaN,以及属性"nancond".
数据数组之外的任何窗口元素都被指定的值替换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应用于任意长度的窗口wlen当wlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movsum使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movsum使用数据元素[3, 4, 5, 6] .
如果wlen是一个包含两个元素的数组[nb, na] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .
如果可选参数dim给定,沿此维度操作。
可选的字符串参数"nancond"控制是否NaN和NA应包括值("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])。此参数通常会导致y有NaN边界处的值,尽管它受到movsum句柄NaN,以及属性"nancond".
数据数组之外的任何窗口元素都被指定的值替换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应用于任意长度的窗口wlen当wlen是奇数,窗口是对称的,包括(wlen - 1) / 2 元素位于中心元素的一侧。例如在计算窗口长度为3的索引5处的输出时,movvar使用数据元素[4, 5, 6] 如果wlen是偶数,窗口是不对称的,并且具有wlen/2 中央元素左侧的元素,以及wlen/2 - 1 中央元素右侧的元素。例如当计算窗口长度为4的索引5处的输出时,movvar使用数据元素[3, 4, 5, 6] .
如果wlen是一个包含两个元素的数组[nb, na] ,该函数应用于移动窗口-nb:na。此窗口包括nb元素数量之前currentelement和na元素数量之后当前元素。始终包括当前元素。例如,给定wlen = [3, 0] ,用于计算索引5的数据为[2, 3, 4, 5] .
可选参数opt确定要使用的规范化类型。有效值为:
规范化为N-1,提供了方差的最佳无偏估计量[默认值]
规范化为N,这提供了围绕平均值的第二个力矩
如果可选参数dim给定,沿此维度操作。规范化参数opt必须在维度之前给定。
要使用 opt 的默认值,你可以传入空的
参数 [].
可选的字符串参数"nancond"控制是否NaN和NA应包括值("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])。此参数通常会导致y有NaN边界处的值,尽管它受到var句柄NaN,以及属性"nancond".
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