使用 matlab 查找与围绕最小值振荡的值对应的索引

Find the indices corresponding to values oscillating around the minimum with matlab

我有两个数组,我试图找到与那些在最小值附近振荡的索引相对应的索引。下面的两个图显示了我的数组值中的这种行为。

如您所见,有些值略低于其余值,但我仍希望将它们包含在结果中,因为差异很小。

有没有办法使用 min 函数来查找值容差范围内的索引?我试过使用 uniquetol 来查找实际值,但我不确定如何将它应用于我需要的最小值。我只能找到绝对最低值的索引,这只是我正在考虑的所有索引的一小部分。

提前致谢!

您需要对 min 设置一些容差。假设 `a' 是您的数组之一:

tol = 0.001; % set this to proper value
minV = min(a); % find min
ind = find(a < minV+tol); % indices smaller than minV+tol

如果更有意义,您可以将 tol 设置为 minV 的百分比。