在 MATLAB 中查找 2D 矩阵中的峰值

问题描述 投票:0回答:1

我的数据的性质是这样的:

2 dimensional matrix represented in 3D

如您所见,它有很多峰值,而且我的数据也非常嘈杂。现在,峰可以是这些沿着 X 或 Y 轴延伸的墙状结构。

目前,我正在使用一种非常幼稚的方法:

  1. 找到所有局部最大值
  2. 通过取所有局部最大值的平均值来找到阈值
  3. 仅当峰超过阈值时才将其分类为显着峰

我想为此使用更有效的算法。有人能指出我正确的方向吗?

经过大量研究,我发现持久同源性可以应用于我的问题。但同样,我对此主题了解不多,因此感谢任何帮助。

matlab matrix peak-detection
1个回答
0
投票

您也许能够使用 MATLAB 的一些最新新增功能来实现更高效的功能:

  1. smoothdata2
    有多种选项可用于预处理数据以消除噪音。 R2023b 中的新增功能。
  2. 然后,
  3. islocalmax2
    可以找到局部最大值,并有许多关于如何找到它们的选项。 R2024a 中的新增功能。
© www.soinside.com 2019 - 2024. All rights reserved.