find a value between two points
21 ビュー (過去 30 日間)
古いコメントを表示
Hey everyone,
I have the following case : (picture linked to the tocpic).
Let's suppose that i have two points with their value on y-axis equals to -20.5 and -19.5. I also know their value on x-axis (let's suppose 10^9 and 2*10^9). I don't have more points between them.
I would like to know : How can I find the value on X-axis of the point that have the value on y-axis equal to -20.
If it's not understandable, I hope the picture linked to it will be helpful !
Thanks you very much !
2 件のコメント
Mathieu NOE
2021 年 9 月 15 日
hi
seems you want to have this intermediate point from a curve that passes through the 2 points. have you tried to create this curve or a approximation (fit) of it ? then you can pick anypoint from this curve.
otherwise you could do simple interpolation, but with only two input points this would be limited to a simple linear interpolation , which is not what your picture says.
採用された回答
Star Strider
2021 年 9 月 15 日
Example —
x = linspace(0, 50);
y = 30*(1-exp(-0.1*x));
f = @(x) 30*(1-exp(-0.1*x));
x_20 = interp1(y, x, 20) % From Data
f_20 = fzero(@(x) f(x)-20, rand) % From Function
figure
plot(x, y)
grid
hold on
plot(x_20, 20, '+r')
plot(f_20, 20, 'xg')
hold off
.
4 件のコメント
その他の回答 (1 件)
KSSV
2021 年 9 月 15 日
Read about interp1. If you have curve data as (x,y), at the point xi you can seek the value using:
yi = interp1(x,y,xi)
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!