Hello guys , please help me ! I

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 commentaires

James Tursa
James Tursa le 1 Fév 2018
Is this an interpolation question? Or ...?
Dombrovschi Andrei
Dombrovschi Andrei le 1 Fév 2018
nope ...
Rik
Rik le 1 Fév 2018
Then what is it?
Dombrovschi Andrei
Dombrovschi Andrei le 1 Fév 2018
I want to see the value of y in time x = 3.5 per graph
Dombrovschi Andrei
Dombrovschi Andrei le 1 Fév 2018
Modifié(e) : per isakson le 1 Fév 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*')
Isn't that interpolation
>> interp1( x, y, 3.5 )
ans =
4.8500

Connectez-vous pour commenter.

Réponses (2)

Star Strider
Star Strider le 1 Fév 2018

0 votes

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 le 1 Fév 2018

0 votes

thanks guys !

Catégories

En savoir plus sur Interpolation dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by