主要内容

islocalmax

找到当地的最大值

描述

例子

特遣部队= islocalmax (一个返回元素为1的逻辑数组(真正的),当在数组、表或时间表的相应元素中检测到局部最大值时。

特遣部队= islocalmax (一个昏暗的指定的维度一个操作。例如,islocalmax (2)求矩阵每一行的局部极大值一个

例子

特遣部队= islocalmax (___名称,值指定使用一个或多个名称-值对参数查找局部最大值的附加参数。例如,islocalmax(“SamplePoints”,t)求的局部极大值一个与时间向量中包含的时间戳相关t

例子

特遣部队P) = islocalmax (___还返回突出的每个元素对应的一个对于前面的任何语法。

例子

全部折叠

计算并绘制数据向量的局部最大值。

x = 1:10 0;= (1-cos(2 *π* 0.01 * x))。*罪(2 *π* 0.15 * x);TF = islocalmax(一个);情节(x, x (TF), (TF),的r *

图中包含一个轴对象。轴对象包含两个类型为line的对象。

创建一个数据矩阵,并计算每一行的局部最大值。

A = 25*diag(ones(5,1)) + rand(5,5);TF = islocalmax (2)
TF =5 x5逻辑阵列0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0

计算数据向量相对于向量中的时间戳的局部最大值t.使用“MinSeparation”参数来计算间隔至少为45分钟的最大值。

t =小时(linspace(0、3、15));A = [2 4 6 4 3 7 5 6 5 10 4 -1 -3 -2 0];TF = islocalmax (,“MinSeparation”分钟(45)“SamplePoints”t);情节(t, t (TF), (TF),的r *

图中包含一个轴对象。轴对象包含两个类型为line的对象。

指定指示连续最大值的方法。

计算包含连续最大值的数据的局部最大值。根据该值的第一次出现指示每个平坦区域的最大值。

x = 0:0.1:5;A = min(0.75, sin(x));TF1 = islocalmax (,“FlatSelection”“第一”);情节(x, x (TF1), (TF1),的r *

图中包含一个轴对象。轴对象包含两个类型为line的对象。

用所有出现的值指示每个平坦区域的最大值。

TF2 = islocalmax (,“FlatSelection”“所有”);情节(x, x (TF2), (TF2),的r *

图中包含一个轴对象。轴对象包含两个类型为line的对象。

根据它们的突出程度选择maxima。

计算数据向量的局部极大值及其显著性,然后用数据绘制它们。

x = 1:10 0;一个=峰(100);=(50岁:);[TF1 P] = islocalmax(一个);P (TF1)
ans =1×21.7703 - 3.5548
情节(x, x (TF1), (TF1),的r *)轴

图中包含一个轴对象。轴对象包含两个类型为line的对象。

通过指定最小显著性要求,只计算数据中最显著的最大值。

TF2 = islocalmax (,“MinProminence”2);情节(x, x (TF2), (TF2),的r *)轴

图中包含一个轴对象。轴对象包含两个类型为line的对象。

输入参数

全部折叠

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

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|表格|时间表

操作维数,指定为正整数标量。默认情况下,islocalmax作用于尺寸不等于1的第一个维度。

例如,如果一个是一个矩阵islocalmax (1)沿着行进行运算一个,计算每列的局部最大值。

islocalmax (2)作用于的列一个,计算每一行的局部最大值。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

名称-值参数

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

例子:TF = islocalmax (' MinProminence ', 2)
数据选项

全部折叠

样本点,指定为逗号分隔对,由“SamplePoints”当输入数据是表时,可以是样本点值向量或下表中的选项之一。样本点代表x-轴位置的数据,必须被排序并包含唯一的元素。采样点不需要均匀采样。向量[1 2 3…]是默认的。

当输入数据是一个表时,您可以使用以下选项之一将示例点指定为表变量。

表输入选项 描述 例子
变量名

指定单个表变量名的字符向量或标量字符串

“Var1”

“Var1”

标量变量指数

标量表变量索引

3.

逻辑向量

逻辑向量,其每个元素对应一个表变量,其中真正的指定相应的变量作为样本点,所有其他元素都是

(真的假的假的)

函数处理

接受表变量作为输入并返回逻辑标量的函数句柄,逻辑标量必须为真正的仅用于一个表变量

@isnumeric

vartype下标

属性生成的表下标vartype函数,只返回一个变量的下标

vartype(数字)

请注意

当输入数据为金宝app时间表.时间表总是使用行时间向量作为样本点。要使用不同的样本点,必须编辑时间表,以便行时间包含所需的样本点。

例子:islocalmax (A ' SamplePoints 0:0.1:10)

例子:islocalmax (T,“SamplePoints”,“Var1”)

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|datetime|持续时间

要操作的表变量,指定为逗号分隔对,由“DataVariables”这张表中有一个选项。的“DataVariables”值指示要检查输入表中哪些变量的局部最大值。与指定变量关联的数据类型必须为数字或逻辑.表中未指定的其他变量“DataVariables”不操作,因此输出包含这些变量的值。

选项 描述 例子
变量名

指定单个表变量名的字符向量或标量字符串

“Var1”

“Var1”

变量名向量

字符向量或字符串数组的单元格数组,其中每个元素是表变量名

{“Var1”“Var2”}

[" Var1”“Var2”)

可变指标的标量或向量

表变量索引的标量或向量

1

[1 3 5]

逻辑向量

逻辑向量,其每个元素对应一个表变量,其中真正的包含相应的变量和不包括它

(真的假的真的)

函数处理

接受表变量作为输入并返回逻辑标量的函数句柄

@isnumeric

vartype下标

属性生成的表下标vartype函数

vartype(数字)

例子:islocalmax (T“DataVariables”[“Var1”“Var2”“Var4”])

极值检测选项

全部折叠

最小显著性,指定为逗号分隔对,由“MinProminence”一个非负标量。islocalmax只返回突出度至少为指定值的局部最大值。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

突出显示窗口,指定为逗号分隔对组成“ProminenceWindow”一个正整数标量,一个正整数的二元向量,一个正持续时间的标量,或者一个正持续时间的二元向量。该值定义了一个相邻点的窗口,用于计算每个局部最大值的显著性。

当窗口值为正整数标量时k,则窗口以每个局部最大值和包含值为中心k - 1相邻的元素。如果k是偶数,则窗口围绕当前和以前的元素居中。如果局部最大值在平坦区域内,则islocalmax将整个平面区域作为窗口的中心点。

当值是二元向量时f [b],则窗口包含局部最大值,b元素向后,f元素。如果一个局部最大值在一个平坦区域内,那么窗口就会启动b元素位于区域的第一个点之前并结束f区域最后一点之后的元素。

当输入的数据是一个时间表时还是“SamplePoints”指定为datetime持续时间Vector,窗口值必须为类型持续时间,窗口是相对于样本点计算的。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|持续时间

当一个局部最大值连续重复时的平坦区域指示符,指定为由逗号分隔的对组成“FlatSelection”以及以下其中之一:

  • “中心”—仅指定平坦区域的中心元素为局部最大值。的元素特遣部队对应于平面的中心为1,其余平面元素为0。

  • “第一”—只指定平坦区域的第一个元素为局部最大值。的元素特遣部队对应于平面的起点为1,其余平面元素为0。

  • “最后一次”—只指定平坦区域的最后一个元素为局部最大值。的元素特遣部队对应于平面的末端为1,其余平面元素为0。

  • “所有”—表示一个平坦区域的所有元素为局部最大值。的元素特遣部队对应的所有部分都为1。

当使用“MinSeparation”“MaxNumExtrema”名称-值对、平坦区域点共同被认为是单个最大值点。

局部最大值之间的最小间隔,指定为由逗号分隔的对组成“MinSeparation”一个非负标量。分离值定义为与样本点向量相同的单位,即[1 2 3…]默认情况下。当分离值大于0时,islocalmax选择最大的局部最大值,并忽略指定分隔内的所有其他局部最大值。这个过程重复,直到没有检测到更多的局部极大值。

当样本点向量有类型时datetime,分隔值必须具有类型持续时间

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|持续时间

检测到的最大最大值,指定为由逗号分隔的对组成“MaxNumExtrema”一个正整数标量。islocalmax查找不超过指定的最显著最大值的数目,默认情况下,这是操作维度的长度。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输出参数

全部折叠

局部最大值指示符,以向量、矩阵或多维数组的形式返回。特遣部队大小是一样的吗一个

数据类型:逻辑

突出,以向量、矩阵或多维数组的形式返回。P大小是一样的吗一个

如果输入数据是有符号或无符号整数类型,则P是无符号整数。

更多关于

全部折叠

局部极大值日珥

一个局部最大值(或峰值)的突出程度是衡量这个峰值相对于其他峰值的高度和位置的突出程度。

要测量一个山峰的突出程度,首先从山峰的左边和右边延伸一条水平线。找出这条线在左边和右边与数据相交的地方,这要么是另一个峰值,要么是数据的终点。将这些位置标记为左右间隔的外端点。接下来,找出两个区间中最低的谷值。取这两个谷中较大的那个,测量从那个谷到山顶的垂直距离。这个距离就是日珥。

为一个向量x,最大的突出是最多的马克斯(x)分钟(x)

扩展功能

介绍了R2017b