Ask Your Question
1

plot operation error

asked 2017-10-12 19:38:19 -0600

matxzero gravatar image

updated 2017-10-15 13:24:31 -0600

calc314 gravatar image

I'm trying to plot the following.

def myfn2(x): if x<0: return 1 else: return -1 plot(myfn2(x),x,-3,3,figsize=3,color="red")

The graph is only displayed as -1. Why?

edit retag flag offensive close merge delete

Comments

Welcome to Ask Sage! Thank you for your question.

slelievre gravatar imageslelievre ( 2017-10-15 02:17:56 -0600 )edit

2 answers

Sort by ยป oldest newest most voted
2

answered 2017-10-15 14:57:44 -0600

Emmanuel Charpentier gravatar image

updated 2017-10-15 14:57:59 -0600

Or simply:

plot(myfn,(x,-1,1))

HTH,

edit flag offensive delete link more
1

answered 2017-10-15 02:17:30 -0600

This is because it first evaluates myfn2(x) on the symbolic variable x, and the test x < 0 then returns False, so what gets plotted is only -1.

The workaround is this:

sage: def myfn2(x):
....:     if x < 0:
....:         return 1
....:     else:
....:         return -1
....:     
sage: plot(lambda x: myfn2(x), (-3, 3), figsize=3, color='red')
edit flag offensive delete link more

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: 2017-10-12 19:38:19 -0600

Seen: 63 times

Last updated: Oct 15