how to find the nearest value?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Rabih Sokhen
el 21 de Oct. de 2021
Respondida: Bruno Luong
el 21 de Oct. de 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 comentarios
Respuesta aceptada
Bruno Luong
el 21 de Oct. de 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 comentarios
Más respuestas (1)
dpb
el 21 de Oct. de 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 comentarios
Ver también
Categorías
Más información sobre Startup and Shutdown en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!