Hello guys , please help me ! I

3 Ansichten (letzte 30 Tage)
Dombrovschi Andrei
Dombrovschi Andrei am 1 Feb. 2018
Kommentiert: Star Strider am 1 Feb. 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 Kommentare
Dombrovschi Andrei
Dombrovschi Andrei am 1 Feb. 2018
Bearbeitet: per isakson am 1 Feb. 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 am 1 Feb. 2018
Isn't that interpolation
>> interp1( x, y, 3.5 )
ans =
4.8500

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Star Strider
Star Strider am 1 Feb. 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 am 1 Feb. 2018
thanks guys !

Kategorien

Mehr zu Interpolation finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by