How to interpolate to the nearest value
46 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
HI
I have vector, v=(x,Y) and I want to find the nearest value of 'x' for C=(1,yi) rather than the interpolated values of xi's .I can find the interpolated value but taking the nearest values of x is difficult for me. Can you help me with this?
0 comentarios
Respuesta aceptada
Kelly Kearney
el 10 de Jun. de 2013
If you look at the documentation of interp1, you'll see that nearest neighbor interpolation is an option:
interp1(x,y,xi, 'nearest')
Más respuestas (1)
Pourya Alinezhad
el 10 de Jun. de 2013
here is the answer to your question. :) t = 1900:10:1990; >> p = [75.995 91.972 105.711 123.203 131.669... 150.697 179.323 210.212 256.505 270.633];
>> interp1(t,p,1975) ans = 233.3585
4 comentarios
Pourya Alinezhad
el 10 de Jun. de 2013
so you can do in an other way : x=[ 1 8 35 ...] y=[ 23 55 3 ...] for example we want nearest value to x=8;
a=find(x,8);
min=inf;
num_min=[];
for i=1:length(x)
if abs(y(a)-y(i))<min
min=abs(y(a)-y(i));
num_min=i;
end
end
Ver también
Categorías
Más información sobre Interpolation 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!