# How to plot x=f(y) ?

213 views (last 30 days)

Show older comments

##### 0 Comments

### 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 ;

plot(x,y)

xlabel('x')

ylabel('y')

title('y=x^3+x^2-x+6')

##### 3 Comments

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) ;

plot(x1,y1)

Actually range of x should be given.

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:

ezplot('y=x.^3+x.^2-x+6',[-3,3],[-3,10])

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('x=y.^3+y.^2-y+6',[-3,10],[-3,3])

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?

##### 0 Comments

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!