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"
mat.sin y math.cos dan valores erroneos
-
- Pi Beta
- Mensajes: 140
- Registrado: 06 Abr 2018, 10:41
- Agradecido: 0
- Agradecimiento recibido: 1 vez
Porque estas en radianes y no en grados.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"
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?
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?
-
- Pi Beta
- Mensajes: 140
- Registrado: 06 Abr 2018, 10:41
- Agradecido: 0
- Agradecimiento recibido: 1 vez
Tienes toda la razón, lo tenías bien.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?
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)))