使用 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
的百分比。
我有两个数组,我试图找到与那些在最小值附近振荡的索引相对应的索引。下面的两个图显示了我的数组值中的这种行为。
如您所见,有些值略低于其余值,但我仍希望将它们包含在结果中,因为差异很小。
有没有办法使用 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
的百分比。