MATLAB: How to get Y-values from X-values

carl witthoftjanstephan

Hi,
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.

Best Answer

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?