How to get nearest values in matrix and save indexes of these values?
1 view (last 30 days)
Show older comments
I have values saved as pi=[5 10 15].
And I have another values saved in puk, which is 401x1 double.
I need to find values in puk which are nearest to the values of pi, and as result I need to have indexes of that values in puk.
So I do not know how to search for nearest values in puk? And how to get indexes of these values?
0 Comments
Accepted Answer
Stephen23
on 7 May 2019
Edited: Stephen23
on 7 May 2019
>> X = [5,10,15];
>> Y = 0:7/5:30;
>> [~,Z] = min(abs(X-Y(:))) % the indices of the closest values:
Z =
5 8 12
>> Y(Z) % the corresponding values in Y:
ans =
5.6 9.8 15.4
For MATLAB versions before R2016b you will need to use bsxfun:
[~,Z] = min(abs(bsxfun(@minus,X,Y(:))))
0 Comments
More Answers (0)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!