How to choose value from array based on closest value
3 次查看(过去 30 天)
显示 更早的评论
I have a 41x2 array. I want to take an input variable, find the closest value in the first column, and assign the corresponding value in the second column to a new variable.
Any pointers on how I would go about doing this?
For example:
- Input value is x = 3.2
- Search first column in array for 3.2
- Closest value is 3
- Value in 2nd column corresponding to 3 is 500
- Store 500 to new variable y
Thanks!
0 个评论
采纳的回答
Walter Roberson
2022-7-13
If the values in the first column are sorted, use interp1() with 'nearest'
更多回答(1 个)
Ruchika P Barman
2022-7-13
It is my understanding that you are trying to get the element closest to the input number by comparing with all the elements in the matrix column-wise. The following code should be able to achieve the same.
V=[0.87]
arr = rand(41,2)
for c=1:2
N=arr(:,c);
A = repmat(N,[1 length(V)]);
[minValue,closestIndex] = min(abs(A-V'));
closestValue = N(closestIndex);
V=closestValue;
end
V
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!