# Plotting cos(x+2)cos(x)-cos(x+1)²

Hello.

Why does sage fail to plot this function?

plot(cos(x+2)

cos(x)-cos(x+1)cos(x+1),(x,-pi,pi))

Returns

IndexError: index out of bounds

Plotting cos(x+2)cos(x)-cos(x+1)²

asked **
2011-10-16 04:47:57 -0500
**

Anonymous

Hello.

Why does sage fail to plot this function?

plot(cos(x+2)

cos(x)-cos(x+1)cos(x+1),(x,-pi,pi))

Returns

IndexError: index out of bounds

add a comment

3

There are two points to your question: 1)

```
cos(x+2)*cos(x)-cos(x+1)*cos(x+1)=-sin(1)^2 #i.e. a constant
```

(Actually one of the experts should kick in and tell us what to do to make sage simplify your expression to that. I am frequently having problems to force sage to simplify even the most trivial expressions. A tutorial on that would be nice...)

2) sage uses matplotlib to do the plotting of your expression. The automatic selection of a 'proper' y-axis extent of that can cause problems when the actual y-extent of your data is identically zero. So, do something like:

```
plot(cos(x+2)*cos(x)-cos(x+1)*cos(x+1),(-pi,pi),ymin=-sin(1)^2*1.1,ymax=-sin(1)^2*.9)
```

and you'll get: ... a nice straight line

For your first point, try `f = cos(x+2)*cos(x)-cos(x+1)*cos(x+1)` and then `f.trig_reduce()`.

2

Asked: **
2011-10-16 04:47:57 -0500
**

Seen: **280 times**

Last updated: **Oct 16 '11**

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.