First time here? Check out the FAQ!

Ask Your Question
3

how to correctly plot 1/(x-3)

asked 13 years ago

Amit Kumar gravatar image

I have to plot 1/(x-3). clearly the function is not defined at x=3. Whenever I try to plot it there is a huge vertical line at x=3, which should not be there. Help me out.

The code I write sage: f(x)=1/(x-3) sage: p=plot(f(x),(x,-10,10) sage: p.show()

Thanks Amit

Preview: (hide)

4 Answers

Sort by » oldest newest most voted
7

answered 13 years ago

Jason Grout gravatar image

updated 13 years ago

You can also use the detect_poles option to not draw the vertical line

plot(1/(x-3),(x,0,5), detect_poles=True,ymin=-2,ymax=2)

Or even better, have it automatically draw the asymptote:

plot(1/(x-3),(x,0,5), detect_poles='show',ymin=-2,ymax=2)
Preview: (hide)
link
1

answered 13 years ago

Use a plot range in show

p.show(ymin=-2, ymax=2)

Preview: (hide)
link
0

answered 13 years ago

niles gravatar image

In Sage you can add separate plots to draw them on the same image; try this:

sage: f(x)=1/(x-3)
sage: p=plot(f(x),(x,-10,2.9), aspect_ratio=1)
sage: q=plot(f(x),(x,3.1,10), aspect_ratio=1)
sage: (p+q).show()

or, if you want to be a little fancy, add the asymptote:

sage: L = line2d([(3,10),(3,-10)], linestyle="dashed", color="red")
sage: (p+q+L).show()
Preview: (hide)
link
0

answered 13 years ago

Amit Kumar gravatar image

Thanks Jason,tririver and Niles for the help.

especially Jason... Your method is with the least code and effective. Thanks

Preview: (hide)
link

Comments

You're welcome :) If you want, you can click the check mark to "accept" Jason's answer.

niles gravatar imageniles ( 13 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 13 years ago

Seen: 890 times

Last updated: Dec 17 '11