Hello guys , please help me ! I

3 visualizaciones (últimos 30 días)
Dombrovschi Andrei
Dombrovschi Andrei el 1 de Feb. de 2018
Comentada: Star Strider el 1 de Feb. de 2018
I have two vectors :
x= [1 2 3 4 5 6]
and
y=[2.3 4.3 5 4.7 9 12]
and i need to find the value of y in x = 3.5
  6 comentarios
Dombrovschi Andrei
Dombrovschi Andrei el 1 de Feb. de 2018
Editada: per isakson el 1 de Feb. de 2018
x= [1 2 3 4 5 6]
y=[2.3 4.3 5 4.7 9 12]
figure
plot(x,y,'r-')
value = xx==3.5(find(y));
hold on
plot(3.5,value,'r*')
per isakson
per isakson el 1 de Feb. de 2018
Isn't that interpolation
>> interp1( x, y, 3.5 )
ans =
4.8500

Iniciar sesión para comentar.

Respuestas (2)

Star Strider
Star Strider el 1 de Feb. de 2018
It is an interpolation, regardless of the method you want to use. There are likely several ways to do this.
Using interp1:
x = [1 2 3 4 5 6];
y = [2.3 4.3 5 4.7 9 12];
idx = find(x <= 3.5, 1, 'last');
yi = interp1(x(idx:idx+1), y(idx:idx+1), 3.5, 'linear')
yi =
4.8500
If you want to use the 'previous', 'next', or 'nearest' methods instead of 'linear', the results are 5, 4.7, and 4.7 respectively.

Dombrovschi Andrei
Dombrovschi Andrei el 1 de Feb. de 2018
thanks guys !

Categorías

Más información sobre Interpolation en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by