Desarrollo en serie de la función exponencial en C/C++

La función exponencial puede ser definida como la serie de potencias:

Como puede observarse, es una sucesión infinita de términos de un polinomio de grado n cuyos coeficientes guardan una relación predecible matemáticamente. En definitiva, la evaluación de la función exponencial en cualquier punto de su dominio real, expresada como serie de potencias, sería equivalente a evaluar a un polinomio de grado n en el mismo dominio. Mientras mayor sea el grado del polinomio mayor será la precisión de la evaluación. En este artículo:

Desarrollo en serie del Coseno en C/C++

se desarrolló un programa para evaluar la función en cada punto de su dominio real usando la serie. Para extenderlo al cálculo de la función exponencial sólo basta con cambiar la inicialización de los coeficientes del polinomio en esta parte del programa:

.
.
.
	// Se generan los coeficientes del polinomio

	for (i = 0; i <= n; i+=2) {

		prod *= -1;

		f[i] = prod * (1/factorial(i));

	}

	for (i = 1; i < n; i+=2) {

		f[i] = 0;

	}
.
.
.

por esta otra:

.
.
.
	// Se generan los coeficientes del polinomio

	for (i = 0; i <= n; i++) {		

		f[i] = (1/factorial(i));

	}
.
.
.

Los otros cambios obvios son cambiar coseno por función exponencial en la parte interactiva del programa.

Para compilar y ejecutar en cónsola de Linux:

g++ exponencial.c++ -o expo [Enter]
./expo [Enter]

Esta es la salida para la aproximación polinómica de grado 12 para la función exponencial:

Aproximacion polinomica para la exponencial (grado) = ? 12

La exponencial será evaluada en el punto

X = ? 1

e(1) = 2.718281828

Produce el mismo resultado que la calculadora gcalctool de Gnome/Linux.

Esta entrada fue publicada en Código C++, Linux. Guarda el enlace permanente.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s