主要内容

islocalmax

寻找局部极大值

描述

例子

特遣部队= islocalmax (一个返回一个元素为1 (真正的)的对应元素中检测到局部最大值时一个

例子

特遣部队= islocalmax (一个昏暗的的维度。一个沿着…操作例如,islocalmax (2)求矩阵中每一行的局部最大值一个

例子

特遣部队= islocalmax (___名称,值指定除前面语法中的任何输入参数组合之外的参数,用于使用一个或多个名称-值参数查找局部最大值。例如,islocalmax(“SamplePoints”,t)的局部极大值一个相对于时间向量中包含的时间戳t

例子

特遣部队P= islocalmax(___还返回突出对应于的每个元素一个

例子

全部折叠

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

X = 1:100;A = (1-cos(2*pi*0.01*x)).*sin(2*pi*0.15*x);TF = islocalmax(A);情节(x, x (TF), (TF),的r *

图中包含一个轴对象。axis对象包含2个line类型的对象。

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

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

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

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

图中包含一个轴对象。axis对象包含2个line类型的对象。

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

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

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

图中包含一个轴对象。axis对象包含2个line类型的对象。

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

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

图中包含一个轴对象。axis对象包含2个line类型的对象。

根据它们的突出程度选择最大值。

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

X = 1:100;A =峰值(100);A = A(50,:);[TF1,P] = islocalmax(A);P (TF1)
ans =1×21.7703 - 3.5548
情节(x, x (TF1), (TF1),的r *)轴

图中包含一个轴对象。axis对象包含2个line类型的对象。

通过指定最小突出度要求,只计算数据中最突出的最大值。

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

图中包含一个轴对象。axis对象包含2个line类型的对象。

输入参数

全部折叠

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

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

考虑一个——- - - - - -n输入矩阵,一个:

  • islocalmax (1)的每一列数据计算局部极大值一个并返回——- - - - - -n矩阵。

    islocalmax(A,1)列操作

  • islocalmax (2)的每一行数据计算局部极大值一个并返回——- - - - - -n矩阵。

    islocalmax(A,2)逐行操作

对于表格或时间表输入数据,昏暗的不支持,操作将金宝app分别沿着每个表或时间表变量进行。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:TF = islocalmax(A,' minhighlight ',2)

数据选项

全部折叠

样本点,指定为样本点值的向量,如果输入数据是表格,则指定为下表中的选项之一。样本点代表x数据的-轴位置,并且必须排序并包含唯一的元素。采样点不需要均匀采样。向量[1 2 3…]是默认值。

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

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

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

“Var1”

“Var1”

标量变量索引

标量表变量索引

3.

逻辑向量

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

[真假假]

函数处理

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

@isnumeric

vartype下标

类生成的表下标vartype仅为一个变量返回下标的函数

vartype(数字)

请注意

输入数据为时,不支持此名称-值参数金宝app时间表.时间表使用行时间向量作为样本点。若要使用不同的抽样点,必须编辑时间表,使行时间包含所需的抽样点。

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

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

要操作的表变量,指定为此表中的选项之一。的DataVariablesValue指示要检查输入表的哪些变量以获得局部最大值。与指定变量关联的数据类型必须是数字或逻辑

第一个输出特遣部队包含对于未指定的变量DataVariables除非OutputFormat“表格”

选项 描述 例子
变量名

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

“Var1”

“Var1”

变量名向量

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

{“Var1”“Var2”}

[" Var1”“Var2”)

变量指标的标量或向量

表变量索引的标量或向量

1

[1 3 5]

逻辑向量

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

[真真假假]

函数处理

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

@isnumeric

vartype下标

类生成的表下标vartype函数

vartype(数字)

例子:islocalmax(T,'DataVariables',["Var1" "Var2" "Var4"])

输出数据类型,指定为以下值之一:

  • “逻辑”—对于表格或时间表输入数据,返回输出特遣部队作为一个逻辑数组。

  • “表格”—对于表输入数据,返回输出特遣部队作为一张桌子。对于时间表输入数据,返回输出特遣部队作为一个时间表。

对于向量、矩阵或多维数组输入数据,OutputFormat不支持。金宝app

例子:islocalmax (T, OutputFormat”、“表格”)

极值检测选项

全部折叠

最小突出度,指定为非负标量。islocalmax只返回突出值至少为指定值的局部最大值。

突出值窗口,指定为正整数标量、正整数的两个元素向量、正持续时间标量或正持续时间的两个元素向量。该值定义了一个由相邻点组成的窗口,用于计算每个局部最大值的突出值。

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

当值为两元素正整数向量时f [b],则窗口包含局部最大值,b元素向后,和f元素。如果局部最大值位于平坦区域内,则窗口启动b元素在区域的第一个点和结束点之前f区域最后一点之后的元素。

当输入的数据是时间表或SamplePoints指定为datetime持续时间向量,则窗口值必须为类型持续时间,窗口是相对于样本点计算的。

平坦区域指示器,用于连续重复一个局部最大值,指定为以下值之一:

  • “中心”—只将平面区域的中心元素表示为局部最大值。元素特遣部队平面的中心为1,其余平面元素为0。

  • “第一”-仅将平坦区域的第一个元素表示为局部最大值。元素特遣部队对应于平面的开始为1,其余平面元素为0。

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

  • “所有”-将平面区域的所有元素表示为局部极大值。的要素特遣部队所对应的各部位均为平1。

当使用MinSeparationMaxNumExtrema名称-值参数,平面区域点被共同视为单个最大值点。

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

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

最大值的最大数目,指定为正整数标量。islocalmax查找不超过最显著最大值的指定数目,默认情况下这是操作维的长度。

输出参数

全部折叠

局部极大值指示器,以矢量、矩阵、多维数组、表或时间表的形式返回。

特遣部队尺寸和一个除非OutputFormat“表格”.如果的值OutputFormat“表格”,然后特遣部队的变量DataVariables指定。

数据类型:逻辑

突出,以向量、矩阵、多维数组、表格或时间表的形式返回。

  • 如果P是向量、矩阵或多维数组,P尺寸和一个

  • 如果P是一张表格或时间表,P和的高度相同吗一个并且只有对应的变量DataVariables指定。

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

更多关于

全部折叠

局部极大值突出度

局部极大值(或山峰)的突出程度衡量了山峰相对于其他山峰的高度和位置的突出程度。

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

对于一个向量x时,最大日珥最多马克斯(x)分钟(x)

扩展功能

版本历史

在R2017b中引入

全部展开