marzo 29, 2024

BitCuco

¡Hola Mundo!

Serie de Taylor : Aproximando el número e

serie de taylor

¿Qué es una Serie de Taylor? Dentro de tus materias de cálculo posiblemente has escuchado en varias ocasiones sobre éste nombre, y quizá hasta ya lo has utilizado en varias ocasiones, por lo tanto el objetivo de éste artículo es mostrarte qué es una serie de Taylor y cómo se utiliza

Para ayudarte en el tema, haremos el cálculo aproximado del número e, te mostraremos una forma muy sencilla de calcularlo utilizando una Serie de Taylor por medio de un código en C que te mostraremos más adelante.

Definición de una Serie de Taylor

Es una aproximación que utiliza suma de potencias de polinomios para obtener la convergencia de un valor. Cada elemento (o polinomio) de la Serie de Taylor se denomina término, y a través de la suma de las derivadas de la función se busca la convergencia de la serie.

En resumen la serie de Taylor busca converger una serie de potencias por medio de la suma de términos derivables en un grado de acuerdo al valor del término n. Ésto significa una suma de términos que se componen de la siguiente forma:

serie de taylor

Aquí se muestra una suma que se puede resumir en una sola fórmula general. Ésta fórmula es en sí la expresión general de una serie de Taylor y se compone de la suma de todos sus términos, de acuerdo a la siguiente forma:

serie de taylor

Número exponencial

El número exponencial (e) es un número irracional denominado más formalmente Número de Euler o Constante de Napier. Su obtención fue definida en 1748 por el matemático Leonard Euler (el mismo matemático que mejoró la aproximación del número Pi), y consta de la obtención del número de acuerdo la siguiente serie:

numero e

Al realizar la suma consecutiva de los términos relacionados con ésta serie, obtenemos un número aproximado a 2.71828, cuyo valor se denomina número e (o exponencial) y el cual se puede aproximar mejor utilizando una serie de Taylor.

serie de taylor

Serie de Taylor para la aproximación del número e

Como vimos en la sección anterior, es posible aproximar de mejor forma el valor del número de Euler (número e) utilizando una serie de Taylor. La serie de Taylor que se sugiere utilizar es la especificada para determinar una función exponencial, la cual obtiene valores en el conjunto de los números naturales. Ésta expresión es la siguiente:

numero e

Como vemos en la fórmula, el objetivo es realizar la suma de los términos para cada iteración n, en donde n tiende al infinito. Evidentemente computacionalmente es imposible obtener la convergencia de una operación que tiende al infinito, sin embargo con un suficiente número de iteraciones podemos obtener una buena aproximación, éste es el objetivo de una serie de Taylor.

Para el caso de la serie de Taylor en la aproximación del número e, el número de iteraciones debe ser sumamente grande para tener una buena aproximación del valor e. Al seguir la fórmula y de acuerdo con la necesidad de precisión, podemos utilizar unas pocas iteraciones, o bien podemos utilizar GPU e incluso una supercomputadora para obtener la mejor aproximación en el menor tiempo posible.

Código en C: Serie de Taylor para aproximar el número e

Ahora viene la parte más emocionante, la implementación de la serie de Taylor en el lenguaje C. Vamos a implementar la fórmula mostrada en la sección anterior para calcular el valor del número e.

Función Aproximación de e

Las función principal para calcular el valor aproximado del número e es la que utilizamos la serie de Taylor. Ésta función se puede hacer en forma iterativa invocando la llamada a la misma función suma, tomando los nuevos valores de acuerdo a la cantidad de veces que queramos iterar.

El código en C de la función aproximación es el que se muestra a continuación:

float aproximacion(int n,float x){
  int i;
  float suma=0;
  for(i=0;i<=n;i++)
    suma = suma + potencia(x,i)/factorial(i);
  return suma;
}

El funcionamiento de ésta función recibe dos valores: x (el valor de la potencia e^x) y n (el número de iteraciones, en donde entre mayor sea el valor de n, mejor la aproximación).

Funciones Auxiliares

Para desarrollar el código de la serie de Taylor, no requerimos de ninguna biblioteca externa, únicamente la estándar de C stdio.h, además requerimos crear dos funciones auxiliares:

  • Función potencia: Nos ayuda a calcular el valor proveniente de una cantidad elevada a determinada potencia (es decir, el producto del mismo valor x durante n veces, x^n).
  • Función factorial: n! Es un valor factorial que significa el producto del número n con todos sus anteriores, hasta llegar a 1.

El código de éstas dos funciones es el que se muestra a continuación:

float potencia(float x,int i){
  int k; 
  float pot=1; 
  for(k=1;k<=i;k++) 
    pot=pot*x; 
  return pot;
}

int factorial(int n){
  int i,fact=1; 
  for(i=1;i<=n;i++) 
    fact=fact*i; 
  return fact;
}

Como podemos ver, la función potencia recibe dos prámetros: x (el valor del número) e i (el número de veces que requerimos realizar el producto x). Y la función factorial recibe como parámetro n, el número para calcular el valor factorial, es decir n!

Código completo de la serie de Taylor para el valor e

Ahora que hemos analizado cómo funciona la serie de Taylor para calcular el valor del número e, procedemos a compartir el código completo para que lo puedas implementar en tu propio ambiente. Recuerda, como el código utiliza el lenguaje de programación C, vas a requerir de un compilador para C (por ejemplo el clásico gcc de gnu).

El código completo de la Serie de Taylor para calcular el valor aproximado del número e se muestra a continuación:

#include <stdio.h>

float potencia(float x,int i);
int factorial(int n);
float aproximacion(int n,float x);

float potencia(float x,int i){
  int k; 
  float pot=1; 
  for(k=1;k<=i;k++) 
    pot=pot*x; 
  return pot;
}

int factorial(int n){
  int i,fact=1; 
  for(i=1;i<=n;i++) 
    fact=fact*i; 
  return fact;
}

float aproximacion(int n,float x){
  int i;
  float suma=0;
  for(i=0;i<=n;i++)
    suma = suma + potencia(x,i)/factorial(i);
  return suma;
}

main(){
  int n;
  float x;
  printf("Ingresa el valor de n y x\n");
  scanf("%d %f",&n,&x);
  printf("La aproximacion para n=%d y x=%f es %f\n",n,x,aproximacion(n,x));
}

La compilación del código anterior se realiza ejecutando el siguiente comando desde tu terminal:

gcc serieTaylor.c -o serieTaylor

Y la ejecución se realiza en forma directa desde tu terminal de Linux o MacOS:

./serieTaylor

Conclusiones

La Serie de Taylor para la aproximación del valor del número e es una buena forma para converger al valor e utilizando un algoritmo perfectamente programable. La ventaja de utilizar el algoritmo es tener la facilidad de implementación independientemente del ambiente que tengamos disponible.

La precisión del cálculo se basa directamente en el número de iteraciones buscadas para encontrar el valor e, las cuáles se pueden ejecutar en CPU, o bien utilizando GPU si lo que requerimos es obtener una aproximación sumamente buena. Sin embargo para efectos académicos y de uso, una aproximación buena se debe conseguir utilizando un número de iteraciones superior a 1000.

Otras herramientas y algoritmos recomendados

Adicionalmente te recomendamos aprender a calcular el valor de Pi utilizando el código contenido en el siguiente artículo (también hace uso del lenguaje de programación C).