Hello guys , please help me ! I

3 ビュー (過去 30 日間)
Dombrovschi Andrei
Dombrovschi Andrei 2018 年 2 月 1 日
コメント済み: Star Strider 2018 年 2 月 1 日
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 件のコメント
Dombrovschi Andrei
Dombrovschi Andrei 2018 年 2 月 1 日
編集済み: per isakson 2018 年 2 月 1 日
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 2018 年 2 月 1 日
Isn't that interpolation
>> interp1( x, y, 3.5 )
ans =
4.8500

サインインしてコメントする。

回答 (2 件)

Star Strider
Star Strider 2018 年 2 月 1 日
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 2018 年 2 月 1 日
thanks guys !
  1 件のコメント
Star Strider
Star Strider 2018 年 2 月 1 日
Our pleasure!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeInterpolation についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by