Cálculo científico con Julia 🧪
¿Qué es Julia?
Julia es un moderno lenguaje de programación especialmente diseñado para el cálculo científico que destaca principalmente en la construcción de modelos matemáticos.
Cálculo del perímetro y del área de un círculo
En este taller veremos como utilizar el método de agotamiento para aproximar el perímetro y el área de un círculo con Julia.
Método de agotamiento
En el siglo III A.C Arquímedes usó el método por agotamiento para calcular el área encerrada por una circunferencia (y de paso el valor de $\pi$). La idea consiste en inscribir en la circunferencia polígonos regulares con un número de lados cada vez mayor.
Cálculo del perímetro de los polígonos inscritos
El perímetro de estos polígonos puede calcularse fácilmente descomponiendo los polígonos regulares en triángulos como en el siguiente ejemplo.
¿Cuál es la base de cada uno de estos triángulos?
Pista
Dividiendo el ángulo $\alpha$ por la mitad se obtienen triángulos rectángulos cuyo cateto opuesto es la mitad de la base del triángulo original.
MOSTRAR SOLUCIÓN
Cálculo del área de los polígonos inscritos
¿Cuál es el área de cada uno de estos triángulos?
Pista
Dividiendo el ángulo $\alpha$ por la mitad se obtienen triángulos rectángulos cuyo cateto contiguo es la altura del triángulo original.
MOSTRAR SOLUCIÓN
Aproximación del perímetro y del área de la circunferencia
Usando las fórmulas anteriores podemos definir una función en Julia para calcular el el perímetro y otra para el área de un polígono regular de $n$ lados. Para simplificar, tomaremos un círculo de radio $r=1$.
p (generic function with 1 method)
a (generic function with 1 method)
Número de lados
Perímetro | Área |
---|---|
5.196152422706632 | 1.299038105676658 |
¿Hacia qué valor tiende el perímetro? ¿Y el área?
Cálculo del límite
Parece evidente que el perímetro de la circunferencia aparecerá en el límite cuando el número de lados tiende a infinito del perímetro del polígono de $n$ lados. Y lo mismo ocurre con el área.
En Julia podemos calcular límites con la función limit
del paquete SymPy
.