mat.sin y math.cos dan valores erroneos

¿Algo falla o no sabes como funciona? Pide ayuda aquí!
Responder
alpha
Pi Newbie
Pi Newbie
Mensajes: 7
Registrado: 07 Abr 2018, 14:39
Agradecido: 0
Agradecimiento recibido: 0

No entiendo que estoy haciendo mal, debería obtener valores de 0, 1, 0, y -1

El codigo es este

import math

print (math.sin(math.radians(0)))
print (math.sin(math.radians(90)))
print (math.sin(math.radians(180)))
print (math.sin(math.radians(270)))
print (math.sin(math.radians(360)))

Y los resultados que devuelve:

0.0
1.0
1.2246467991473532e-16
-1.0
-2.4492935982947064e-16

¿Por qué para 180 y 360 me devuelve esas cifras? debería dar "cero"
cornholio
Pi Beta
Pi Beta
Mensajes: 140
Registrado: 06 Abr 2018, 10:41
Agradecido: 0
Agradecimiento recibido: 1 vez

alpha escribió: 25 Abr 2018, 03:53 No entiendo que estoy haciendo mal, debería obtener valores de 0, 1, 0, y -1

El codigo es este

import math

print (math.sin(math.radians(0)))
print (math.sin(math.radians(90)))
print (math.sin(math.radians(180)))
print (math.sin(math.radians(270)))
print (math.sin(math.radians(360)))

Y los resultados que devuelve:

0.0
1.0
1.2246467991473532e-16
-1.0
-2.4492935982947064e-16

¿Por qué para 180 y 360 me devuelve esas cifras? debería dar "cero"
Porque estas en radianes y no en grados.
alpha
Pi Newbie
Pi Newbie
Mensajes: 7
Registrado: 07 Abr 2018, 14:39
Agradecido: 0
Agradecimiento recibido: 0

Yo entiendo que "math.radians(90)" me transforma a radianes los valores que yo meto en grados entre parentesis, en este caso 90 grados

de hecho me da valores correctos para cero, noventa y doscientos setenta, que son cero, uno y menos uno respectivamente

Pero en 180 y 360 me da esos extraños valores con decimales

o dicho de otra manera, si lo estoy haciendo mal, ¿como lo hago?
cornholio
Pi Beta
Pi Beta
Mensajes: 140
Registrado: 06 Abr 2018, 10:41
Agradecido: 0
Agradecimiento recibido: 1 vez

alpha escribió: 28 Abr 2018, 07:58 Yo entiendo que "math.radians(90)" me transforma a radianes los valores que yo meto en grados entre parentesis, en este caso 90 grados

de hecho me da valores correctos para cero, noventa y doscientos setenta, que son cero, uno y menos uno respectivamente

Pero en 180 y 360 me da esos extraños valores con decimales

o dicho de otra manera, si lo estoy haciendo mal, ¿como lo hago?
Tienes toda la razón, lo tenías bien.
En realidad te está dando bien los valores pero sin redondear; los valores de 180 y 360 al estar elevados a -16 son prácticamente cero. Pero para sacar una salida limpia haz un math.round(math.sin(math.radians(180)))
Responder