Está en la página 1de 15

Mtodo de Euler. Objetivos.

1. Conocer y desarrollar el Mtodo de Euler tanto su aplicacin en los problemas matemticos y el desarrollo en la programacin (en este caso en el lenguaje C++).

2. Diferenciar el Mtodo de Euler del mtodo de Runge-Kutta.

3. Observar y analizar las ventajas y desventajas que tiene el Mtodo de Euler para encontrar las aproximaciones de una funcin con un porcentaje de error aceptable.

4. Aprender y comprender el Mtodo de Euler para su desarrollo en la programacin en C++ y en su estructura en cdigo para razonar su procedimiento.

5. Obtener una visin clara de cul es el comportamiento de este Mtodo tanto en las matemticas como en la programacin.

MARCO TERICO. Leonhard Paul Euler (Basilea, Suiza, 15 de abril de 1707 - San Petersburgo, Rusia, 18 de septiembre de 1783), conocido como Leonhard Euler, fue un matemtico y fsico suizo. Se trata del principal matemtico del siglo XVIII y uno de los ms grandes y prolficos de todos los tiempos. Vivi en Rusia y Alemania la mayor parte de su vida y realiz importantes descubrimientos en reas tan diversas como el clculo o la teora de grafos. Tambin introdujo gran parte de la moderna terminologa y notacin matemtica, particularmente para el rea del anlisis matemtico, como por ejemplo la nocin de funcin matemtica. Asimismo se le conoce por sus trabajos en los campos de la mecnica, ptica y astronoma. Euler ha sido uno de los matemticos ms prolficos, y se calcula que sus obras completas reunidas podran ocupar entre 60 y 80 volmenes.Una afirmacin atribuida a Pierre Simon Laplace expresa la influencia de Euler en los matemticos posteriores: Lean a Euler, lean a Euler, l es el maestro de todos nosotros. Euler trabaj prcticamente en todas las reas de las matemticas: geometra, clculo, trigonometra, lgebra, teora de nmeros, adems de fsica continua, teora lunar y otras reas de la fsica. Adicionalmente, aport de manera relevante a la lgica matemtica con su diagrama de conjuntos. Ha sido uno de los matemticos ms prolficos de la historia. Su actividad de publicacin fue incesante (un promedio de 800 pginas de artculos al ao en su poca de mayor produccin, entre 1727 y 1783), y una buena parte de su obra completa est sin publicar. La labor de recopilacin y publicacin completa de sus trabajos, llamados Opera Omnia, comenz en 1911 y hasta la fecha ha llegado a publicar 76 volmenes. El proyecto inicial planeaba el trabajo sobre 887 ttulos en 72 volmenes. Se le considera el ser humano con mayor nmero de trabajos y artculos en cualquier campo del saber, slo equiparable a Gauss. Si se imprimiesen todos sus trabajos, muchos de los cuales son de una importancia fundamental, ocuparan entre 60 y 80 volmenes. Adems, y segn el matemtico Hanspeter Kraft, presidente de la Comisin Euler de la Universidad de Basilea, no se ha estudiado ms de un 10% de sus escritos. Por todo ello, el nombre de Euler est asociado a un gran nmero de cuestiones matemticas. Euler introdujo y populariz varias convenciones referentes a la notacin en los escritos matemticos en sus numerosos y muy utilizados libros de texto. Posiblemente lo ms notable fue la introduccin del concepto de funcin matemtica, siendo el primero en escribir f(x) para hacer referencia a la funcin f aplicada sobre el argumento x. Esta nueva forma de notacin ofreca ms comodidad frente a los rudimentarios mtodos del clculo infinitesimal existentes hasta la fecha, iniciados por Newton y Leibniz, pero desarrollados basndose en las matemticas del ltimo.

Tambin introdujo la notacin moderna de las funciones trigonomtricas, la letra e como base del logaritmo natural o neperiano (el nmero e es conocido tambin como el nmero de Euler), la letra griega como smbolo de los sumatorios y la letra para hacer referencia a la unidad imaginaria. El uso de la letra griega para hacer referencia al cociente entre la longitud de la circunferencia y la longitud de su dimetro tambin fue popularizado por Euler, aunque l no fue el primero en usar ese smbolo. Mtodo de Euler En matemtica y computacin, el mtodo de Euler, llamado as en honor de Leonhard Euler, es un procedimiento de integracin numrica para resolver ecuaciones diferenciales ordinarias a partir de un valor inicial dado. El mtodo de Euler es el ms simple de los mtodos numricos resolver un problema del siguiente tipo:

Considere el problema de calcular la pendiente de una curva desconocida que comienza en un punto dado y safisface una cierta ecuacin diferencial dada. Se puede pensar en la ecuacin diferencial como una frmula que nos permite calcular la pendiente de la recta tangente a la curva en cualquier punto de la curva, siempre que el punto se conozca. La idea es que a pesar de que la curva es desconocida en principio, su punto de comienzo(al cual denotamos por A0) es conocido. Entonces, de la ecuacin diferencial se puede computar la pendiente de la curva en el punto A0 y por lo tanto la recta tangente a la curva. Ahora, dando un pequeo paso sobre dicha recta, podemos tomarnos un nuevo punto A1 y suponer que dicho punto pertenece a la curva, entonces seguimos el mismo razonamiento aplicado anteriormente y volvemos a calcular la pendiente de la recta tangente a la curva en el punto A1. Luego de varios pasos tendremos formada una curva poligonal A0A1A2A3... En general esta curva que obtenemos al aplicar el mtodo no diverge lejos de la curva original, adems el error entre ambas curvas se puede minimizar si se dan pasos muy pequeos al avanzar sobre la recta tangente a la curva y adems el intervalo sobre el que trabajamos es finito(aunque las cosas son ms complicadas para ecuaciones inestables, como se discute ms abajo).

Consiste en dividir los intervalos que va de

en

subintervalos de ancho ; osea:

de manera que se obtiene un conjunto discreto de del intervalo de interes

puntos:

. Para cualquiera de estos puntos se cumlple que:

La condicin inicial , representa el punto por donde pasa la curva solucin de la ecuacin de el planteamiento inicial, la cual se denotar como . Ya teniendo el punto lo tanto: se puede evaluar la primera derivada de en ese punto; por

Con esta informacin se traza una recta, aquella que pasa por . Esta recta aproxima en una vecinidad de

y de pendiente .

. Tmese la recta como

reemplazo de y localcese en ella (la recta) el valor de y correspondiente a Entonces, podemos deducir segun la Grfica A:

Se resuelve para

Es evidente que la ordenada

calculada de esta manera no es igual a sirve para que se aproxime

, pues en el

existe un pequeo error. Sin embargo, el valor

punto y repetir el procedimiento anterior a fin de generar la sucesin de aproximaciones siguiente:

La solucin de las Ecuaciones diferenciales por medio de mtodos nmericos involucra varios tipos de errores:

Error del Mtodo (Error de Truncamiento Local y Global): Este se debe a que, cmo la aproximacin de una curva mediante una lnea recta no es exacta, se comete un error propio del mtodo. En este caso, el error es de primer orden - O(h1) -

Local: Es la diferencia que se produce entre el valor real de la funcin y el aproximado mediante la recta tangente -en lugar de moverse por la curvasuponiendo que el punto desde el que partimos -donde se cruzan la curva real y la recta que la aproxima- no tiene error alguno.

Propagado: Acumulacin de errores por las aproximaciones producidas durante los pasos previos acumuladas. Es decir, ya no se supone que el punto del cual partimos -donde se cruzan la curva real y la recta que la aproxima- no tena error sino que asumimos que dicho error existe y que se propaga de paso en paso. Dicha propagacin es, en el peor de los casos, lineal.

La suma de los dos es el error global.

Redondeo/Truncamiento: Resultado del nmero lmite de cifras significativas que puede retener una computadora. Ya que el nmero de dgitos utilizados para hacer los clculos es finito y los nmeros representados puede que no lo sean (es decir, numeros con infinita cantidad de dgitos). Al limitar los nmeros con infinita cantidad de dgitos -mediante truncamiento o redondeo- a nmeros con finita cantidad de dgitos estamos cometiendo un error extra.

Como se muestra en la Grafica B, bsicamente el mtodo se encarga de aproximar la curva por medio de una serie de segmentos en recta. Debido a que la aproximacin de una curva por medio de una lnea recta no es exacta, se comete un error derivado del mtodo. A este error se le conoce como error de truncamiento. Este error se puede disminuir reduciendo el valor de , pero se obtendra un mayor nmero de clculos y, por consiguiente, un error de redondeo mucho ms alto.

Sistema a resolver. Yi+1 = yi + f(xi, yi)h Con el Mtodo de Euler integre numricamente: Y= -2x3 + 12x2 -20x +8.5 Desde: x=0 hasta x=4 con h=0.5 y y=1 Solucin: i=0: f(x,y) = f(0,1) = -2(0)3 + 12(0)2 -20(0) +8.5 = 8.5 y1 = 1 + (8.5) (0.5) = 5.25 i=1: f(x,y) = f(0.5,5.25) = -2(0.5)3 + 12(0.5)2 -20(0.5) +8.5 = 1.25 y2 = 5.25 + (1.25) (0.5) = 5.875 i=2: f(x,y) = f(1.0,5.875) = -2(1.0)3 + 12(1.0)2 -20(1.0) +8.5 = -1.5 y3 = 5.875 + (-1.5) (0.5) = 5.125 i=3: f(x,y) = f(1.5,5.125) = -2(1.5)3 + 12(1.5)2 -20(1.5) +8.5 = -1.25 y4 = 5.125 + (-1.25) (0.5) = 4.5 i=4: f(x,y) = f(2.0,4.5) = -2(2.0)3 + 12(2.0)2 -20(2.0) +8.5 = 0.5 y5 = 5.125 + (0.5) (0.5) = 4.75 i=5: f(x,y) = f(2.5,4.75) = -2(2.5)3 + 12(2.5)2 -20(2.5) +8.5 = 2.25 y6 = 5.125 + (2.25) (0.5) = 5.875

i=6: f(x,y) = f(3.0,5.875) = -2(3.0)3 + 12(3.0)2 -20(3.0) +8.5 = 2.5 y7 = 5.875 + (0.5) (0.5) = 7.125 i=7: f(x,y) = f(3.5,7.125) = -2(3.5)3 + 12(3.5)2 -20(3.5) +8.5 = -0.25 y8 = 7.125 + (-0.25) (0.5) = 7

PSEUDOCDIGO Mtodo de Euler. Para integrar numricamente, proporciona los siguientes datos: - Datos: Los limites inferior y superior de las xs, condiciones iniciales y valor del intervalo. - Resultados: La aproximacin de la integracin numrica y el clculo de errores. Paso 1: Ingresar valores. Paso 2: Obtener L dividiendo x superior y el valor del intervalo. Paso 3: i=0. Paso 4: Mientras i<L repetir los pasos 5 y 6 (ciclo for). Paso 5: Hacer y[-1] igual a 1. Tambin se desarrollara para la funcin dada en el problema f[i]=-(2*(pow((x0+(h*i)),3)))+(12*(pow((x0+(h*i)),2)))-(20*(x0+(h*i)))+8.5 y la formula del metodo y[i]=y[i-1]+(f[i]*h). Paso 6: Hacer i=i+1. Paso 7: i=0. Paso 8: Mientras que i<L repetir los pasos 9 y 10 (ciclo for). Paso 9: Hacer yv[i]=-(0.5*(pow((x0+(h*i)),4)))+(4*(pow((x0+(h*i)),3)))(10*(pow((x0+(h*i)),2)))+(8.5*x0+h)+1; Para el valor real et=(yv[i]-y[i])*100; Para encontrar el error. Paso 10: Hacer i=i+1. Paso 11: Imprimir resultados y errores calculados. Terminar

Diagrama de flujo.
Inicio

H, x0, x1, y0

L=x1/h

i=0 i<L i++

y[-1]=1 f[i]=(2*(pow((x0+(h*i)),3)))+(12*(pow((x0+(h*i)),2))) -(20*(x0+(h*i)))+8.5 y[i]=y[i-1]+(f[i]*h)

i=j i<L i++

yv[i]=(0.5*(pow((x0+(h*i)),4)))+(4*(pow((x0+(h*i)),3)) )-(10*(pow((x0+(h*i)),2)))+(8.5*x0+h)+1 et=(yv[i]-y[i])*100;

Resultados. Y(Euler), et. (La aproximacin y los errores).

Fin

Cdigo en C++ /* INSTITUTO POLITECNICO NACIONAL ESIME ZACATENCO ALUMNO: GARCIA RANGEL JOSE MANUEL GRUPO: 3EM1 MATERIA: METODOS NUMERICOS COMPILADOR: Dev C++ PROGRAMA: Ecuaciones Diferenciales: Metodo de Euler */ #include <cstdlib> #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main(int argc, char *argv[]) { //Definicion de variables double h,x0,x1,y0=1,y1,y[100],f[100],L,yv[100],et; cout<<"\n\t **Ecuaciones Diferenciales**"; cout<<"\n\t *Metodo de Euler*"; cout<<"\n\n Ingresa los valores que se te piden"; cout<<"\n Ingresa h: "; cin>>h; cout<<"\n x0: "; cin>>x0; cout<<"\n y0: "<<y0; cout<<"\n\n x1: "; cin>>x1; cout<<endl; //Desarrollo del Metodo de Euler //Calculo de limite L=x1/h; //Tabla para el Metodo cout<<"\n\n X \t\tY(x)Verdadero\tY(x)Euler \tEt(%)"<<endl; //Ciclo for para el desarrollo del metodo y que va imprimiendo los valores for(int i=0;i<=L;i++){ y[0]=1; f[i]=-(2*(pow((x0+(h*i)),3)))+(12*(pow((x0+(h*i)),2)))-(20*(x0+(h*i)))+8.5;

y[i+1]=y[i]+(f[i]*h); yv[i]=-(0.5*pow((x0+(h*i)),4))+(4*pow((x0+(h*i)),3))(10*pow((x0+(h*i)),2))+(8.5*(x0+(h*i)))+1; et=((yv[i]-y[i])/yv[i])*100; cout<<"\n"<<setiosflags(ios::fixed)<<x0+(h*i)<<"\t"<<yv[i]<<"\t"<<y[i]<<"\t"<<et; } cout<<endl<<endl; system("PAUSE"); return EXIT_SUCCESS; }

Resultados del programa en C++

Al principio del ejecutable del cdigo en c++ del mtodo de Euler nos piden ingresar los valores correspondientes para realizar el programa y la solucin aproximada para la solucin de ecuaciones diferenciales. El condigo en si realiza con ciclos for las operaciones y clculos indicados por el usuario donde este mismo introdujo las formulas del mtodo y la organizacin para que se fuera desarrollando. Tambin en otro ciclo for se colocaron las formulas para los valores verdaderos de la ecuacin diferencial y los errores que se fueron calculando entre el mtodo de Euler y el del valor verdadero. La pantalla muestra como se imprime en forma de lista las operaciones realizadas con el desarrollo del mtodo en el programa.

Anlisis del programa en C++ del Mtodo de Euler El desarrollo del programa en c++ se baso en la creacin de dos ciclos for para ir desarrollando las formulas y ecuaciones del problema a partir de los ciclos con ciertas condiciones de inicio que fueron ingresadas por el usuario. El primer for desarrolla la parte de las formulas las cuales sustituyen los valores iniciales ingresados por el usuario y despus de sacar el limite al cual debe de detenerse el ciclo como tambin para el segundo ciclo for. Ya resueltos la sustitucin y desarrollo de las formulas para la aproximacin de los resultados el segundo ciclo for realiza las operaciones correspondientes a las funciones verdaderas y los errores para tambin imprimirlos en ese mismo for y asi mostrarlos en el ejecutable.

CONCLUSIONES. Mtodo de Euler Conclusiones de Eyenith Saraliz Hernndez Hernndez: En mi opinin general sobre el Mtodo pues es muy favorable su procedimiento ya que cuenta con menos clculos a comparacin del mtodo de kutta. Su desarrollo se basa en el numero de intervalos obtenidos por el valor del intervalo que le asigne el usuario y correspondiente entre los limites de los puntos que se encuentra para obtenerla. En si el mtodo es fascinante ya que su procedimiento como dije antes es muy poco a comparacin del otro mtodo visto en clase pero tiene un detalle su margen de error es muy grande dependiendo al valor del intervalo que se encuentre, mientras ms pequeo sea el valor del intervalo ms exacto ser la aproximacin al valor verdadero de la funcin. Esto significa que se llevara mas procedimiento o ms bien mas operaciones mientras ms aproximado deseemos que este el resultado.

Conclusiones de Jos Manuel Garca Rangel: El Mtodo de Euler es ms fcil desarrollarlo que con el Mtodo de Kutta ya que es ms fcil en desarrollar por las formulas que se emplean para este mtodo. Las formulas ocupadas en este mtodo pueden ser muy sencillas pero si el intervalo que se proponga para los extremos de la funcin es demasiado grande sern pocos las operaciones que se desarrollen mientras que si el intervalo es demasiado pequeo su gran cantidad de operaciones sern muchos y eso complicara mucho la existencia del usuario pero estaran mas exactos los resultados con un mnima casi inexistente de error. La nica ventaja de este mtodo que su desarrollo es muy fcil y sencillo de realizar su desventaja sera el de hacer muchas operaciones si queremos llegar a la exactitud. En mi conclusin es muy sencillo este mtodo y recomendable para la prctica pero para la exactitud estara mejor la del mtodo de Runge-Kutta.

Bibliografa. Mtodos Numricos aplicados a la ingeniera. Antonio Nieves. Tercera edicin. Grupo Editorial Patria.

Cybergrafia. http://es.wikipedia.org/wiki/Leonhard_Euler http://es.wikipedia.org/wiki/M%C3%A9todo_de_Euler