Find X from Y in a graph

4 views (last 30 days)
msij
msij on 26 Apr 2016
Edited: msij on 27 Apr 2016
Hi,
I have plotted some x and y values to give me a hyperbola graph (I've attached the data in the excel file). I am trying to find what the x values are from a know y value but I am having some trouble.
An example:
From either the x/y values or the plotted graph; if y = -3.951, how can I find the corresponding x value?
I have looked around and most people recommend either using find (which I can't because the new y value won't definitely be in the given y values) or interp1. When I use interp1, it returns 'The grid vectors are not strictly monotonic increasing.'.
I used the line: x = interp1(y_values,x_values, m_A);
When I use,
x = interp1(x_values,y_values, -3.951);
I am returned with 'NaN'.
I'm not sure where to go from here. All help is appreciated.
Thanks!
EDIT:
Thanks for your help. I figured it out. I have decided to just separate out the x and y values so that they are unique. Then I can plot them oppositely.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 26 Apr 2016
Edited: Azzi Abdelmalek on 26 Apr 2016
Try
x = interp1(x_values,y_values, -3.951,'linear','extrap');
  2 Comments
msij
msij on 27 Apr 2016
I am not sure what this is doing. When I use the line above it returns an x-value of 1.6, but that isn't in the values of x on the graph.
I just need it to return the x-value for a given y, using the graph. Is this possible?
msij
msij on 27 Apr 2016
From what I've seen of interp, it can predict 'y' for a given 'x'. Because my graph is a kind of hyperbola, it won't let me plot them the other way around because interp1 returns 'The grid vectors are not strictly monotonic increasing.'

Sign in to comment.

More Answers (0)

Categories

Find more on Discrete Data Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!