how to find the nearest value?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Rabih Sokhen
il 21 Ott 2021
Risposto: Bruno Luong
il 21 Ott 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 Commenti
Risposta accettata
Bruno Luong
il 21 Ott 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 Commenti
Più risposte (1)
dpb
il 21 Ott 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 Commenti
Vedere anche
Categorie
Scopri di più su Line Plots in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!