How to plot x=f(y) ?

213 views (last 30 days)
huynh trong
huynh trong on 8 Nov 2016
Edited: Thorsten on 8 Nov 2016
I'm new in matlab.I have function Y=x^3+x^2-x+6.I want to draw graph x=f(y).I don't know how to make it.Please support for me.Thank you so much

Answers (3)

KSSV on 8 Nov 2016
You have to mention x range. I am considering here 0 to 10.
x = linspace(0,10,500) ;
y=x.^3+x.^2-x+6 ;
huynh trong
huynh trong on 8 Nov 2016
But I Have value of y.Example.Y=0:.1:100. Can I draw x=f(y)?.Thanks for your support
KSSV on 8 Nov 2016
Ohhh John D'Errico I read it as y = f(x). Thanks for pointing out. How about this?
syms x
f(x) = x^3+x^2-x+6 ;
g = finverse(f) ;
y1 = linspace(0,10) ;
x1 = subs(g,y1) ;
Actually range of x should be given.

Sign in to comment.

John D'Errico
John D'Errico on 8 Nov 2016
Edited: John D'Errico on 8 Nov 2016
You wish to plot the inverse relationship, x=f(y), given the expression
y = x^3+x^2-x+6
Note that in general, this need not be a single valued function. In fact, your relationship is not:
So for some values of y, there are several values of x to be found. It looks like for y roughly in the interval [5,7] we will find three solutions.
I can convince ezplot to give that plot as:
ezplot is a bit dumb, but that is the plot you asked to see. It rather foolishly insists on putting x and y on their respective axes. We could as easily have done the work the hard way, using plot directly. But why bother?

Thorsten on 8 Nov 2016
Edited: Thorsten on 8 Nov 2016
Instead of plot(x,y), you plot(y,x)
x = linspace(-3,3); plot(x.^3+x.^2-x+6, x), xlabel('y'), ylabel('x')


Community Treasure Hunt

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

Start Hunting!