Find the id of the closest value in an array to a given value

版本 1.0.0.0 (2.7 KB) 作者: David J. Mack
Returns the index of the closest value in an array X to given values Y
78.0 次下载
更新时间 2016/9/14

查看许可证

For given column vector X and some values Y, FINDCLOSESTID2VAL returns the indices in X which are closest to Y, e.g.: FINDCLOSESTID2VAL([0.1 -1 -0.05 10],0) will return 3, since -0.05 is the closest value to 0.
This function is very handy for time series, where you want to get the id of a time point which might not be exactly matched.
This function is very fast for small to moderate sized 'X' and small 'Vals'. For a function doing the same work quickly on two very large arrays and with some additional features see NEARESTPOINT by Jos:
www.mathworks.com/matlabcentral/fileexchange/8939
The figure on the upper left shows the max. length of 'Vals' versus the length of 'X' for which FINDCLOSESTID2VAL (f1) will be faster than NEARESTPOINT (f2) including the equation to compute the critical value for arbitrary lengths of 'X'.

引用格式

David J. Mack (2024). Find the id of the closest value in an array to a given value (https://www.mathworks.com/matlabcentral/fileexchange/59043-find-the-id-of-the-closest-value-in-an-array-to-a-given-value), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2009a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Matrix Indexing 的更多信息
致谢

参考作品: nearestpoint(x, y, m)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.0.0.0

Linked to NEARESTPOINT.
Added speed test for FINDCLOSESTID2VAL vs. NEARESTPOINT to the FEX description.