How to get Y-values from X-values?

24 views (last 30 days)
Sohel Rana
Sohel Rana on 28 Sep 2020
Edited: Sindar on 28 Sep 2020
I have lot of data in excel file where column 1 denotes the X-value and column to denotes the Y-value. I tried to get Y-value to corresponind X-value using interp1 (X,Y, certainX) but the following error shows:
Error using griddedInterpolant
The grid vectors must contain unique points.
I can get values by first interpolating yq=(X,Y, xq) but it changes the graph position and does not give the exact value. Suppose I want Y value for a X=1600. When I see at the X-values from workspace, I can see there is a X value of 1601.35 but not 1600. As a result, it shows Y-value NAN.
Is there any way to use tolerance that will cover 1600+/- 2 and will give the corresponding Y value.
I would really appreciate your help.

Accepted Answer

Sindar on 28 Sep 2020
Edited: Sindar on 28 Sep 2020
if you just want the Y value for the nearest point:
[~,idx] = min(abs(X-certainX));
certainY = Y(idx);
I don't see quite that error. Is certainX just a number?
  1 Comment
Sohel Rana
Sohel Rana on 28 Sep 2020
Perfect! This is exactly what I wanted. Thank you so much.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!