how to find the nearest value?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Rabih Sokhen
am 21 Okt. 2021
Beantwortet: Bruno Luong
am 21 Okt. 2021
hello guys
suppose i have a vector[s]
A=[ 1 2 3 4 5 6]
B=[6.1 5.1 4.1 3.1 2.1 1.1]
and
position_A=[10 20 30 40 50 60]
i want to find the nearest value of B in A
i have tried to do the following
for i=1: length(A)
B(i)=min(abs(A-B(i)));
end
% now my vector B is [6 5 4 3 2 1]
i want to creat a vector that indicate the position of B, for example, the number 2 is the second element in A have position " position _A(2)=20",
i want to creat a vector "position_B" in a way that the number 2 in vector B have a position_B=20
thank you in advance
0 Kommentare
Akzeptierte Antwort
Bruno Luong
am 21 Okt. 2021
A=[ 1 2 3 4 5 6]
B=[6.1 5.1 4.1 3.1 2.1 1.1]
position_A=[10 20 30 40 50 60]
loc = interp1(A,1:length(A),B,'nearest','extrap');
position_B = position_A(loc)
B = A(loc)
0 Kommentare
Weitere Antworten (1)
dpb
am 21 Okt. 2021
The builtin way in MATLAB is interp1
>> A=[1:6];
>> B=flip(A)+0.1;
>> posn=[10:10:60];
>> C=posn(interp1(B,A,A,'nearest','extrap'))
C =
60 50 40 30 20 10
>>
0 Kommentare
Siehe auch
Kategorien
Mehr zu Line Plots 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!