Funcion Exponencial Mediante Serie de Potencias Matlab

[Recuerda que en este Blog los enlaces para la descarga del código se encuentran al final del artículo.]

Este es una ocasión adecuada para ilustrar, tanto la utilidad de los métodos numéricos para encontrar el valor de una variable deseada, como también para ilustrar la importancia del calculo del error DEFINIDO EN ESTA ENTRADA, en esta oportunidad enfocaremos nuestra atención  como el titulo lo dice, en el desarrollo en serie de potencias de la función exponencial que se conoce muy básicamente como e^x, esta es la típica función que todos conocemos cuya derivada es la misma e^x y donde e es el numero de Euler.

La función e^x o exponencial puede ser definida mediante diferentes formas, para nosotros, en este caso la mas importante a tratar es la conocida como serie “infinita”, como sabemos no podemos representar algo infinitamente grande pero mediante el desarrollo de métodos numéricos, podemos tener una excelente aproximación al valor indicado.

En primer lugar la equivalencia de la función exponencial como serie infinita es la siguiente:

exponen

Este es uno de los ejemplos mas comunes en los primeros cursos de programación principalmente, mucho antes de ilustrar por ejemplo los métodos numéricos propios, pero es una buena ocasión para practicar tanto la sintaxis del lenguaje que se esta aprendiendo como una buena practica para la lógica, al tratar de desarrollar el código mas optimo para esta expresión.

en este caso mi intención es mostrar la importancia de una buena aproximación del “error” para tener un buen desempeño en nuestros programas.

En primer lugar vamos a mostrar el algoritmo en Matlab, y después observaremos su comportamiento, así pues:

Imagen

En este ejemplo la función “exponencial” recibe como parámetro un valor de X para evaluarla en la formula e^x, así en su interior se definieron las siguientes variables:

  1.    e: la variable que se retornará con el resultado final.
  2.    error: error relativo porcentual del procedimiento, se inicia en 100%
  3.    aux: variable auxiliar para almacenar el ultimo valor tomado por e en cada iteración.
  4.    i: variable que servirá como exponente en la serie, y que aumenta en pasos de 1.

A continuación se mostrará el proceso paso a paso para un valor de X=0.5 y para este ejemplo, con una precisión donde el error sea menor al 2%, de esta forma al finalizar el procedimiento, la función debería retornar un numero bastante parecido al valor real de e^(0.5)=1.648

SE QUIERE ESTIMAR EL VALOR DE e^0.5

Primera Iteración.

formulas wp

Cabe aclarar que en esta primera iteración el valor de ‘error’ aparecerá como 100% ya que al ser la primera iteración, no se tiene un valor anterior de la variable almacenadora, que hemos denotado en la función de Matlab como ‘e’.

Segunda Iteración.

formulas wp

y el error correspondiente a esta itreción es:

cap

Así al evaluar la condición en el While error>0.1 esta será cierta, y se hará una nueva itración:

Tercera Iteración.

cap

El error correspondiente a esta iteración es:

cap

Al evaluar el nuevo ‘error’ en la condición del While error>0.1 se cumple, y tenemos una nueva iteración.

Cuarta Iteración.

cap

El error correspondiente a esta cuarta iteracón es:

cap

Al evaluar nuevamente el (probablemente por ultima vez) el condicional del While error>0.1 vemos que este se cumple y tenemos una nueva iteración.

Quinta Iteración.

cap

A estas alturas del programa el error aproximado que corresponde es:

cap

Al regresar nuevamente a la condición propuesta en el ‘While’ y evaluarla, esta nos retorna un 0 (cero) lógico ya que error>0.1 no se cumple, porque error en la ultima iteración quedó valiendo 0.1% que era la estimación que queríamos representar para este ejemplo, como es sabido la precisión se puede aumentar, colocando un umbral menor para el error, así pueden haber condiciones que se cumplan mientras se cumpla la condición por ejemplo While error>10^-100 que es una gran precisión.

Como conclusión  podemos resaltar la importancia tan grande que involucran las estimaciones del error, ya sea relativo o verdadero etc, en nuestro caso siempre será el error aproximado al no tener la posibilidad en la mayoría de los casos de conocer el valor exacto que deberá tomar nuestra variable resultante, y es lógico, de otra forma, no serían necesarios aplicar métodos si podemos conocer el valor real de dicha variable.

El archivo de Matlab, correspondiente a este ejemplo, lo puedes encontrar EN ESTE ENLACE de Mega, al abrir el archivo Exponencial.m encuentras todos los comentarios respectivos en cada paso, si quieres ver el comportamiento de cada variable  solo tienes que ‘quitar’ el ; en el lugar donde esta la variable de la cual quieres visualizar su comportamiento, así cada valor que esta tome, será visible en la ventana de comandos.

Autor: Julio Echeverri.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

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