3.4. Funciones matemáticas

Es posible que ya haya visto usted en matemáticas funciones como sin (seno) y log, y que haya aprendido a evaluar expresiones como sin(pi/2) y log(1/x).

Primero evalúa la expresión entre paréntesis, (el argumento). Por ejemplo, pi/2 es aproximadamente 1.571, y 1/x es 0.1 (si x es igual a 10.0).

Luego evalúa la función en sí misma, bien mirándola en una tabla, bien llevando a cabo diversos cálculos. El sin (seno) de 1.571 es 1, y el log de 0.1 es –1 (suponiendo que log indique el logaritmo de base 10).

Este proceso puede aplicarse repetidamente para evaluar expresiones mas complicadas como log(1/sin(pi/2)). Primero evaluamos el argumento de la función mas interna, luego se evalúa la función, y así sucesivamente.

Python dispone de un modulo matemático que proporciona la mayor³a de las funciones matemáticas habituales. Un modulo es un archivo que contiene una colección de funciones agrupadas juntas.

Antes de poder usar las funciones de un modulo, tenemos que importarlo:

   1: >>>import math


Para llamar a una de las funciones, tenemos que especificar el nombre del modulo y el nombre de la funcion, separados por un punto. A esto se le llama notación de punto:




   1: decibelio = math.log10 (17.0)
   2: angulo = 1.5
   3: altura = math.sin(angulo)


La primera sentencia da a decibelio el valor del logaritmo de 17, en base 10.


Hay tambien una funcion llamada log que toma logaritmos en base e.


La tercera sentencia halla el seno del valor de la variable angulo. sin y las otras funciones trigonometricas (cos, tan, etc.) toman sus argumentos en radianes.


Para convertir de grados a radianes, puede dividir por 360 y multiplicar por 2*pi. Por ejemplo, para hallar el seno de 45 grados, calcule primero el ángulo en radianes y luego halle el seno:




   1: grados = 45
   2: angulo = grados * 2 * math.pi / 360.0
   3: math.sin(angulo)

La constante pi tambien es parte del modulo math. Si se sabe la geometría, puede verificar el resultado comparandolo con el de la raíz cuadrada de 2, dividida entre 2.




   1: >>> math.sqrt(2) / 2.0
   2: 0.707106781187
0