# Please help me to draw f(x) = sin(x) if x<=0 and f(x)=cos(x) if x>1

thanks for your answers

Please help me to draw f(x) = sin(x) if x<=0 and f(x)=cos(x) if x>1

thanks for your answers

add a comment

2

`plot(sin(x), (x, -10, 0)) + plot(cos(x), (x, 1, 10))`

. By the way, I don't know if the question contains a typo or if there is not supposed to be a plot when x is between 0 and 1.

2

There are a few options. One is to use the `piecewise`

command:

```
f=Piecewise([[(-10,1),sin(x)],[(1,10),cos(x)]],x)
plot(lambda x: f(x),(-2*pi,2*pi))
```

Another is to use a python function definition:

```
def f(x):
if x<=1:
return(sin(x))
else:
return(cos(x))
plot(f,(-2*pi,2*pi))
```

Note that with the python function definition, the `plot`

command must be called just with `f`

and not `f(x)`

. Calling with `f(x)`

causes python to evaluate $f$ before doing the plot and will result in an incorrect plot.

More compactly, you could also use a lambda expression: `lambda x: sin(x) if x `<`= 1 else cos(x)`

Asked: **
2013-06-12 07:33:24 -0500
**

Seen: **1,500 times**

Last updated: **Jun 12 '13**

Plot Series of 3D Direction Vectors (Not All from Origen)

Why does graph plotting crop so aggressively, and what is a work-around?

convert a symbolic var into a numeric var

Sage on Mac unable to use plot3d due to Java/jmol issues

Evenly space points along a parametric curve?

Piecewise functions and legend label

How can I display a plot from a script?

How to control layouts of individual plots within a graphics_array?

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.