如何找到最接近某个数字的数组元素?
How can I locate the element of an array that is nearest to some number?
我有一个数组A
,例如
A = [-79.0732 -82.1919 -85.0432 -87.0406 -90.0102 -92.6745]
和一些数字 x
(例如 -90
),我想找到数组中最接近(绝对值)x
的元素的索引。
在我的例子中,A
最接近x
的元素是-90.0102
,即数组A
的第5个元素。通常,我如何计算最接近 x
的元素的索引?
我认为应该这样做:
[~, i] = min(abs(A - (-90)));
这会将 A
中的每个元素与您提供的数字相差。 min
然后会找到最小值,return 它的索引。
如果x
是感兴趣的值,A
是数组,运行
[~, inearest] = min(abs(A - x));
然后inearest
将包含数组A
中最接近x
(绝对值)的元素的索引。
我有一个数组A
,例如
A = [-79.0732 -82.1919 -85.0432 -87.0406 -90.0102 -92.6745]
和一些数字 x
(例如 -90
),我想找到数组中最接近(绝对值)x
的元素的索引。
在我的例子中,A
最接近x
的元素是-90.0102
,即数组A
的第5个元素。通常,我如何计算最接近 x
的元素的索引?
我认为应该这样做:
[~, i] = min(abs(A - (-90)));
这会将 A
中的每个元素与您提供的数字相差。 min
然后会找到最小值,return 它的索引。
如果x
是感兴趣的值,A
是数组,运行
[~, inearest] = min(abs(A - x));
然后inearest
将包含数组A
中最接近x
(绝对值)的元素的索引。