How to choose value from array based on closest value
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Alex
am 13 Jul. 2022
Beantwortet: Ruchika P Barman
am 13 Jul. 2022
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 Kommentare
Akzeptierte Antwort
Walter Roberson
am 13 Jul. 2022
If the values in the first column are sorted, use interp1() with 'nearest'
Weitere Antworten (1)
Ruchika P Barman
am 13 Jul. 2022
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 Kommentare
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!