文档

movmax

移动最大

句法

m = movmax(a,k)
m = movmax(a,[kb kf])
m =movmax(___,暗淡)
m =movmax(___,nanflag)
m =movmax(___,名称,值)

描述

例子

m =movmax(一个,,,,k返回一系列本地k- 点最大值,其中每个最大值都是在长度的滑动窗口上计算的k跨越相邻元素一个。什么时候k很奇怪,窗口以当前位置的元素为中心。什么时候k即使是,窗口都集中在当前和以前的元素上。当没有足够的元素填充窗口时,窗口大小会自动在端点上截断。当窗口被截断时,最大值仅在填充窗口的元素上取。m大小与一个

  • 如果一个是一个向量,然后movmax沿矢量的长度运行。

  • 如果一个是一个多维数组,thenmovmax沿着大小不等于1的第一个数组维度操作。

例子

m =movmax(一个,,,,[kb kf]用长度窗口计算最大值KB+KF+1其中包括当前位置中的元素KB元素向后,KF元素向前。

例子

m =movmax(___,,,,暗淡返回沿维度移动最大值的数组暗淡对于以前的任何语法。例如,如果一个is a matrix, thenmovmax(a,k,2)沿着列操作一个,计算k- 每行的元素滑动最大。

例子

m =movmax(___,,,,Nanflag指定包括还是省略来自任何先前语法的计算值。movmax(a,k,'includeenan')包括全部计算中的值movmax(a,k,'omitnan')忽略它们并在更少的点上计算最大值。

例子

m =movmax(___,,,,名称,价值使用一个或多个名称值对参数指定移动最大移动最大值的其他参数。例如,如果X是时间值的向量,然后movmax(a,k,'samplepoints',x)计算移动最大相对于时间X

例子

全部收缩

计算行矢量的三点中心移动最大。当端点处的窗口中的元素少于三个元素时,请最大程度地超过可用元素。

a = [4 8 6 -1 -1 -2 -3 -1 3 4 5];m = movmax(a,3)
m =8 8 8 6 -1 -1 3 4 5 5

计算行矢量的三点尾随移动最大值。当端点处的窗口中的元素少于三个元素时,movmax最大程度地超过可用元素的数量。

a = [4 8 6 -1 -1 -2 -3 -1 3 4 5];m = movmax(a,[2 0])
m =4 8 8 8 6 -1 -1 3 4 5

计算矩阵的每一行的三点中心移动最大值。窗口从第一行开始,水平滑到行的末端,然后移至第二行,依此类推。维度参数是两个,它将窗口滑过一个

a = [4 8 6;-1 -2 -3;-1 3 4]
a =4 8 6 1 2 3 1 3 4
m = movmax(a,3,2)
m =8 8 8 -1 -1 -2 3 4 4

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

a =[4 8 NaN -1 -2 -3 NaN 3 4 5]; M = movmax(A,3)
m =8 8 8 -1 -1 -2 3 4 5 5

重新计算最大值,但包括values. When taking the maximum over a group of elements containing at least one价值,movmax返回

m = movmax(a,3,'includeenan'
m =8 Nan Nan Nan -1 Nan Nan Nan 5 5

计算3小时​​的以数据为中心的移动最大数据一个根据时间向量t

a =[4 8 6 -1 -2 -3]; k = hours(3); t = datetime(2016,1,1,0,0,0) + hours(0:5)
t = 1x6 DateTime数组列1至3 01-JAN-2016 00:00:00 01-JAN-2016 01:00:00 01-1016-2016 02:00:00列4至6 01-JAN-JAN-2016-2016 03:00:00 01-JAN-2016 04:00:00 01-JAN-2016 05:00:00
m = movmax(a,k,“样本点”,T)
M = 8 8 8 6 -1 -2

计算行矢量的三点中心移动最大值,但丢弃了从输出中使用少于三个点的任何计算。换句话说,仅返回从完整的三元窗口计算的最大值,丢弃端点计算。

a = [4 8 6 -1 -1 -2 -3 -1 3 4 5];m = movmax(a,3,'Endpoints',,,,'丢弃'
m =8 8 6 -1 -1 3 4 5

输入参数

全部收缩

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

数据类型:单身的|双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64|逻辑

窗口长度,指定为数字或持续时间标量。什么时候kis a positive integer scalar, the centered maximum includes the element in the current position plus surrounding neighbors. For example, a three-point maximum defined by a window of length three results in the following calculation for a vector一个

数据类型:单身的|双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64|期间

定向窗口长度,指定为包含两个元素的数字或持续时间行矢量。什么时候KBandKF是正整数标量,计算已经结束KB+KF+1元素。计算包括当前位置中的元素,KB当前位置之前的要素,KF当前位置之后的元素。例如,定向窗口定义的四点最大[2 1]导致矢量的以下计算一个

数据类型:单身的|双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64|期间

沿着操作的维度,指定为正整数标量。如果未指定值,则默认值是第一个数组维度,其大小不等于1。

方面暗淡表示维度movmax沿着指定的窗口滑动的方向运行。

考虑二维输入阵列,一个

  • 如果DIM = 1, 然后movmax(a,k,1)从第一列开始,然后在每行垂直滑动以计算。最大计算k一次元素。然后它移至第二列并重复计算。这个过程一直持续到所有列都用尽。

  • 如果DIM = 2, 然后movmax(a,k,2)从第一行开始,然后在每列中水平滑动。最大计算k一次元素。然后它移至第二行并重复计算。这个过程一直持续到所有行耗尽为止。

数据类型:双倍的|单身的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64

(健康)状况,,,,specified as one of these values:

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

  • 'includeenan'- 包括计算最大值时输入的值,导致输出

名称值对参数

指定可选的逗号分隔对名称,价值参数。姓名是参数名称和价值is the corresponding value.姓名must appear inside single quotes ('')。您可以按任何顺序指定几个名称和值对参数姓名1,Value1,...,NameN,ValueN

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

全部收缩

处理前导和尾随窗户的方法,指定为逗号分隔对'Endpoints'以及以下一个:

'Endpoints'价值 描述
'收缩' 收缩输入端点附近的窗口大小,仅包括现有元素。
'丢弃' 当窗口没有完全与现有元素重叠时,请勿输出任何最大值。
'充满' 用不使用的元素代替
numeric or logical scalar 用指定的数字或逻辑值代替不存在的元素。

数据类型:双倍的|单身的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64|逻辑|char|细绳

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

移动窗口是相对于样品点定义的,该点必须对其进行排序并包含唯一的元素。例如,如果t是与输入数据相对应的时间的向量,然后movmax(rand(1,10),3,“样本点”,t)有一个窗口,表示之间的时间间隔t(i)-1.5andt(i)+1.5

当示例点向量具有数据类型时约会时间or期间, 然后the moving window length must have type期间

如果样品点不均匀,则'Endpoints'指定名称值对,然后其值必须为'收缩'

数据类型:单身的|双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64|约会时间|期间

扩展功能

在R2016a中引入

这个话题有帮助吗?