Ask Your Question

# Calculate cosine in degrees

I'd like to calculate the value of the cosine of 52 degrees. The following fails:

lam = 52 * sage.units.degree
cos(lam)


How should I do it correctly?

edit retag close merge delete

## 1 answer

Sort by » oldest newest most voted

A degree is easily converted in radian (360° versus $2\pi$)

sage: cos(52 / 360 * (2*pi))
cos(13/45*pi)


While this is perfectly correct, this is not very useful. In order to get a numerical approximation you can do

sage: c = cos(52 / 360 * (2*pi))
sage: c.numerical_approx()
0.615661475325658

more

## Comments

1

Nice, though I do think it would be useful for Sage to auto-convert when the units are actually given.

( 2016-01-07 08:23:09 -0500 )edit

@kcrisman: I agree with you but there is no such module as sage.units

( 2016-01-07 08:33:31 -0500 )edit

Perhaps the OP was using http://doc.sagemath.org/html/en/refer... ?

( 2016-01-08 00:12:45 -0500 )edit

Right. Then it is units.angles.degree and units.angles.radian which ends up in error in evaluations

sage: s = 2 * units.angles.radian
sage: s.cos()
cos(2*radian)
sage: _.n()
Traceback (most recent call last):
...
TypeError: cannot evaluate symbolic expression numerically

( 2016-01-08 05:42:25 -0500 )edit

## Your Answer

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

Add Answer

## Stats

Asked: 2016-01-06 07:50:53 -0500

Seen: 465 times

Last updated: Jan 06 '16