找到当地的最低标准/一组数据的最大值

567(30天)
Si14
Si14 2012年7月21日
评论道: Umesh Gautam2023年5月11日在十七29
嗨,我有一组数据,极限和最大值之间震荡。随着时间的推移min和max值略有变化。我想看看min和max值的变化趋势。为了做到这一点,似乎我需要提取局部极小和局部最大值。
有任何函数提取以下图的当地最低标准和最大值吗?
谢谢。
4评论

登录置评。

接受的答案

明星黾
明星黾 2012年7月22日
编辑:明星黾 2012年7月22日
另一个选择是“findpeaks”信号处理工具箱。它会给你的最大(最小和间接)值及其索引的位置。如果“数据”是向量产生情节,找到最大值和最小值:
(最大值,MaxIdx) = findpeaks(数据);
DataInv = 1.01 *马克斯(数据)-数据;
(最小值,MinIdx) = findpeaks (DataInv);
真正的最小值将是:
最小值=数据(MinIdx);
索引值还允许您确定的时间发生了极大值和极小值。
9日评论
明星黾
明星黾 2018年2月27日
出于某种原因,它是重要的倒置波形是大于零的。(这是 年前,所以我不记得细节。)
这可能不是必要的每一个信号。如果你想要的最小值,只是否定原始信号和使用 指数 findpeaks 返回第二输出得到原始信号的值。
我你有 R2017b , islocalmin 函数也是一个选项没有反相的信号的最小值。

登录置评。

更多的答案(5)

史蒂文的主
史蒂文的主 2021年3月4日
看看最近的版本 islocalmin , islocalmax ,(也许) 去趋势 功能。

Si14
Si14 2012年7月26日
谢谢你们的回复。我用以下,效果好:
(最大值,MaxIdx) = findpeaks(数据);
DataInv = 1.01 *马克斯(数据)-数据;
(最小值,MinIdx) = findpeaks (DataInv);
最小值=数据(MinIdx);

图像分析
图像分析 2012年7月22日
编辑:图像分析 2012年7月22日
如果你有图像处理工具箱,您可以使用imregionmax()和imregionalmin ()。你有工具箱吗?如果你这样做将是最简单的,因为它只是简单的一行代码找到马克斯或分钟。
也可以通过观察形态的最大值或最小值(由imdilate()和imerode()分别)等于原来的数组。但是,这需要图像处理工具箱。

Randy82
Randy82 2014年8月13日
我有一个问题:我为什么要把马克斯(数据)因素1.01 ?

Prithisha K
Prithisha K 2021年9月8日
突出窗口值设置为25。然后增加min.prominence值直到有9发现的最小值。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!