islocalmin
寻找局部极小值
描述
例子
向量中的局部极小值
计算并绘制数据向量的局部最小值。
X = 1:100;A = (1-cos(2*pi*0.01*x)).*sin(2*pi*0.15*x);TF = islocalmin(A);情节(x, x (TF), (TF),的r *)
矩阵行中的最小值
创建一个数据矩阵,并计算每一行的局部最小值。
A = -25*diag(ones(5,1)) + rand(5,5);TF = islocalmin(A,2)
TF =5x5逻辑阵列0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 = islocalmin(A,“MinSeparation”分钟(45)“SamplePoints”t);情节(t, t (TF), (TF),的r *)
平坦最小区域
指定用于指示连续最小值的方法。
计算包含连续最小值的数据的局部最小值。根据第一次出现的值指示每个平坦区域的最小值。
X = 0:0.1:5;A = max(-0.75, sin(pi*x));TF1 = islocalmin(A,“FlatSelection”,“第一”);情节(x, x (TF1), (TF1),的r *)
指示每个平坦区域的最小值。
TF2 = islocalmin(A,“FlatSelection”,“所有”);情节(x, x (TF2), (TF2),的r *)
著名的最小值
计算数据向量的局部最小值及其突出值,然后用数据绘制它们。
X = 1:100;A =峰值(100);A = A(50,:);[TF1,P] = islocalmin(A);P (TF1)
ans =1×22.7585 - 1.7703
情节(x, x (TF1), (TF1),的r *)轴紧
通过指定最小突出度要求来计算数据中最突出的最小值。
TF2 = islocalmin(A,“MinProminence”2);情节(x, x (TF2), (TF2),的r *)轴紧
输入参数
一个
- - - - - -输入数据
向量|矩阵|多维数组|表格|时间表
输入数据,指定为矢量、矩阵、多维数组、表格或时间表。
昏暗的
- - - - - -操作维度
正整数标量
操作维度,指定为正整数标量。如果未指定值,则默认为第一个大小不等于1的数组维数。
考虑一个米
——- - - - - -n
输入矩阵,一个
:
islocalmin (1)
的每一列数据计算局部极小值一个
并返回米
——- - - - - -n
矩阵。islocalmin (2)
的每一行数据计算局部极小值一个
并返回米
——- - - - - -n
矩阵。
对于表格或时间表输入数据,昏暗的
不支持,操作将金宝app分别沿着每个表或时间表变量进行。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:TF = islocalmin(A,' minhighlight ',2)
SamplePoints
- - - - - -采样点
向量|表变量名|标量|函数处理|表格vartype
下标
样本点,指定为样本点值的向量,如果输入数据是表格,则指定为下表中的选项之一。样本点代表x数据的-轴位置,并且必须排序并包含唯一的元素。采样点不需要均匀采样。向量[1 2 3…]
是默认值。
当输入数据是一个表时,您可以使用这些选项之一将样本点指定为表变量。
表格输入选项 | 描述 | 例子 |
---|---|---|
变量名 | 指定单个表变量名的字符向量或标量字符串 |
|
标量变量索引 | 标量表变量索引 |
|
逻辑向量 | 一种逻辑向量,其每个元素对应于一个表变量,其中 |
|
函数处理 | 接受表变量作为输入并返回逻辑标量(必须为)的函数句柄 |
|
vartype 下标 |
类生成的表下标 |
|
请注意
输入数据为时,不支持此名称-值参数金宝app时间表
.时间表总是使用行时间的向量作为样本点。若要使用不同的抽样点,必须编辑时间表,使行时间包含所需的抽样点。
例子:islocalmin (A ' SamplePoints 0:0.1:10)
例子:islocalmin (T,“SamplePoints”,“Var1”)
DataVariables
- - - - - -要操作的表变量
表变量名|标量|向量|单元阵列|函数处理|表格vartype
下标
要操作的表变量,指定为逗号分隔的对,由DataVariables
这张表中的一个选项。的DataVariables
Value指示要检查输入表的哪些变量以获得局部最小值。与指定变量关联的数据类型必须是数字或逻辑
.
第一个输出特遣部队
包含假
对于未指定的变量DataVariables
除非OutputFormat
是“表格”
.
选项 | 描述 | 例子 |
---|---|---|
变量名 | 指定单个表变量名的字符向量或标量字符串 |
|
变量名向量 | 由字符向量或字符串数组组成的单元格数组,其中每个元素都是表变量名 |
|
变量指标的标量或向量 | 表变量索引的标量或向量 |
|
逻辑向量 | 一种逻辑向量,其每个元素对应于一个表变量,其中 |
|
函数处理 | 接受表变量作为输入并返回逻辑标量的函数句柄 |
|
vartype 下标 |
类生成的表下标 |
|
例子:islocalmin(T,'DataVariables',["Var1" "Var2" "Var4"])
OutputFormat
- - - - - -输出数据类型
“逻辑”
(默认)|“表格”
输出数据类型,指定为以下值之一:
“逻辑”
—对于表格或时间表输入数据,返回输出特遣部队
作为一个逻辑数组。“表格”
—对于表输入数据,返回输出特遣部队
作为一张桌子。对于时间表输入数据,返回输出特遣部队
作为一个时间表。
对于向量、矩阵或多维数组输入数据,OutputFormat
不支持。金宝app
例子:islocalmin (T, OutputFormat”、“表格”)
MinProminence
- - - - - -最低突出
0(默认)|负的标量
最小突出度,指定为非负标量。islocalmin
只返回突出值至少为指定值的局部最小值。
ProminenceWindow
- - - - - -突出的窗口
正整数标量|正整数的两元向量|正持续时间标量|正持续时间的两元向量
突出值窗口,指定为正整数标量、正整数的两个元素向量、正持续时间标量或正持续时间的两个元素向量。该值定义了一个由相邻点组成的窗口,用于计算每个局部最小值的突出度。
当窗口值为正整数标量时k,则该窗口以每个局部最小值为中心,包含k-1
相邻的元素。如果k为偶数时,则窗口以当前元素和以前的元素为中心。如果局部极小值在平坦区域内,则islocalmin
将整个平面区域作为窗口的中心点。
当值为两元素正整数向量时f [b]
,则该窗口包含局部极小值,b
元素向后,和f
元素。如果局部最小值位于平坦区域内,则窗口启动b
元素在区域的第一个点和结束点之前f
区域最后一点之后的元素。
当输入的数据是时间表或SamplePoints
指定为datetime
或持续时间
向量,则窗口值必须为类型持续时间
,窗口是相对于样本点计算的。
FlatSelection
- - - - - -平坦区域指示器
“中心”
(默认)|“第一”
|“最后一次”
|“所有”
平坦区域指示器,用于连续重复一个局部最小值,指定为以下值之一:
“中心”
-仅指示平坦区域的中心元素为局部最小值。元素特遣部队
平面的中心为1,其余平面元素为0。“第一”
-仅指示平坦区域的第一个元素为局部最小值。元素特遣部队
对应于平面的开始为1,其余平面元素为0。“最后一次”
-仅指示平坦区域的最后一个元素作为局部最小值。元素特遣部队
对应于平面的末尾为1,其余平面元素为0。“所有”
-将平坦区域的所有元素表示为局部极小值。的要素特遣部队
所对应的各部位均为平1。
当使用MinSeparation
或MaxNumExtrema
名称-值参数、平面区域点被共同视为单个最小值点。
MinSeparation
- - - - - -最小分离
0(默认)|负的标量
局部最小值之间的最小间隔,指定为非负标量。分离值定义为与样本点向量相同的单位,即[1 2 3…]
默认情况下。当分离值大于0时,islocalmin
选择最小的局部最小值,并忽略指定间隔内的所有其他局部最小值。重复这个过程,直到没有检测到更多的局部极小值。
当样本点向量有类型时datetime
,分隔值必须有type持续时间
.
MaxNumExtrema
- - - - - -最小值的最大值
正整数标量
要检测的最小值的最大数目,指定为正整数标量。islocalmin
查找不超过最显著最小值的指定数目,默认情况下最小值是操作维的长度。
输出参数
特遣部队
—本地最小值指示器
向量|矩阵|多维数组|表|时间表
局部最小值指示符,以向量、矩阵、多维数组、表或时间表的形式返回。
特遣部队
尺寸和一个
除非OutputFormat
是“表格”
.如果的值OutputFormat
是“表格”
,然后特遣部队
的变量DataVariables
指定。
数据类型:逻辑
P
——突出
向量|矩阵|多维数组|表|时间表
突出,以向量、矩阵、多维数组、表格或时间表的形式返回。
如果
P
是向量、矩阵或多维数组,P
尺寸和一个
.如果
P
是一张表格或时间表,P
和的高度相同吗一个
并且只有对应的变量DataVariables
指定。
如果输入数据有符号或无符号整数类型,则P
是无符号整数。
更多关于
局部极小值的突出性
局部极小值(或山谷)的突出程度衡量了山谷相对于其他山谷的深度和位置如何突出。
要测量山谷的突出程度,首先要从山谷延伸出一条水平线。找出这条线与左右数据的交点,这条线要么是另一个谷,要么是数据的终点。将这些位置标记为左右间隔的外部端点。接下来,在左右间隔中找到峰值。取这两个峰中较小的那个,测量从那个峰到山谷的垂直距离。这个距离就是日珥。
对于一个向量x
时,最大日珥最多马克斯(x)分钟(x)
.
扩展功能
高大的数组
使用行数超过内存容量的数组进行计算。
使用注意事项和限制:
不支持高时间表。金宝app
属性的值
ProminenceWindow
名称-值参数。的
MaxNumExtrema
,MinSeparation
,SamplePoints
不支持名称-值参数。金宝app的价值
DataVariables
不能是函数句柄。
有关更多信息,请参见高大的数组.
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
必须启用对可变大小数组的支持。金宝app
的
ProminenceWindow
而且OutputFormat
不支持名称-值参数。金宝app
线程环境
使用MATLAB®在后台运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.
这个函数完全支持基于线程的环境。金宝app有关更多信息,请参见在线程环境中运行MATLAB函数.
版本历史
在R2017b中引入R2022a:返回包含逻辑输出的表或时间表
现在可以返回一个表格输出特遣部队
属性来代替逻辑数组OutputFormat
参数的名称-值“表格”
.
的OutputFormat
名称-值参数仅支持表和时间表输入数据。金宝app
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。