Está en la página 1de 15

Método de Euler.

Objetivos.

1. Conocer y desarrollar el Método de Euler tanto su aplicación en los problemas


matemáticos y el desarrollo en la programación (en este caso en el lenguaje C++).

2. Diferenciar el Método de Euler del método de Runge-Kutta.

3. Observar y analizar las ventajas y desventajas que tiene el Método de Euler para
encontrar las aproximaciones de una función con un porcentaje de error
aceptable.

4. Aprender y comprender el Método de Euler para su desarrollo en la programación


en C++ y en su estructura en código para razonar su procedimiento.

5. Obtener una visión clara de cuál es el comportamiento de este Método tanto en


las matemáticas como en la programación.
MARCO TEÓRICO.

Leonhard Paul Euler (Basilea, Suiza, 15 de abril de 1707 - San Petersburgo, Rusia, 18 de
septiembre de 1783), conocido como Leonhard Euler, fue un matemático y físico suizo. Se
trata del principal matemático del siglo XVIII y uno de los más grandes y prolíficos 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 cálculo o la teoría de grafos. También introdujo gran parte
de la moderna terminología y notación matemática, particularmente para el área del
análisis matemático, como por ejemplo la noción de función matemática. Asimismo se le
conoce por sus trabajos en los campos de la mecánica, óptica y astronomía.

Euler ha sido uno de los matemáticos más prolíficos, y se calcula que sus obras completas
reunidas podrían ocupar entre 60 y 80 volúmenes.Una afirmación atribuida a Pierre Simon
Laplace expresa la influencia de Euler en los matemáticos posteriores: «Lean a Euler, lean
a Euler, él es el maestro de todos nosotros.»

Euler trabajó prácticamente en todas las áreas de las matemáticas: geometría, cálculo,
trigonometría, álgebra, teoría de números, además de física continua, teoría lunar y otras
áreas de la física. Adicionalmente, aportó de manera relevante a la lógica matemática con
su diagrama de conjuntos.

Ha sido uno de los matemáticos más prolíficos de la historia. Su actividad de publicación


fue incesante (un promedio de 800 páginas de artículos al año en su época de mayor
producción, entre 1727 y 1783), y una buena parte de su obra completa está sin publicar.
La labor de recopilación y publicación completa de sus trabajos, llamados Opera Omnia,
comenzó en 1911 y hasta la fecha ha llegado a publicar 76 volúmenes. El proyecto inicial
planeaba el trabajo sobre 887 títulos en 72 volúmenes. Se le considera el ser humano con
mayor número de trabajos y artículos en cualquier campo del saber, sólo equiparable a
Gauss. Si se imprimiesen todos sus trabajos, muchos de los cuales son de una importancia
fundamental, ocuparían entre 60 y 80 volúmenes. Además, y según el matemático
Hanspeter Kraft, presidente de la Comisión Euler de la Universidad de Basilea, no se ha
estudiado más de un 10% de sus escritos. Por todo ello, el nombre de Euler está asociado
a un gran número de cuestiones matemáticas.

Euler introdujo y popularizó varias convenciones referentes a la notación en los escritos


matemáticos en sus numerosos y muy utilizados libros de texto. Posiblemente lo más
notable fue la introducción del concepto de función matemática, siendo el primero en
escribir f(x) para hacer referencia a la función f aplicada sobre el argumento x. Esta nueva
forma de notación ofrecía más comodidad frente a los rudimentarios métodos del cálculo
infinitesimal existentes hasta la fecha, iniciados por Newton y Leibniz, pero desarrollados
basándose en las matemáticas del último.
También introdujo la notación moderna de las funciones trigonométricas, la letra e como
base del logaritmo natural o neperiano (el número e es conocido también como el
número de Euler), la letra griega Σ como símbolo 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 diámetro también fue
popularizado por Euler, aunque él no fue el primero en usar ese símbolo.

Método de Euler

En matemática y computación, el método de Euler, llamado así en honor de Leonhard


Euler, es un procedimiento de integración numérica para resolver ecuaciones diferenciales
ordinarias a partir de un valor inicial dado.

El método de Euler es el más simple de los métodos numéricos 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 ecuación diferencial dada. Se puede pensar en la
ecuación diferencial como una fórmula 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 ecuación 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 pequeño 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 método no
diverge lejos de la curva original, además el error entre ambas curvas se puede minimizar
si se dan pasos muy pequeños al avanzar sobre la recta tangente a la curva y además el
intervalo sobre el que trabajamos es finito(aunque las cosas son más complicadas para
ecuaciones inestables, como se discute más abajo).
Consiste en dividir los intervalos que va de a en subintervalos de ancho ; osea:

de manera que se obtiene un conjunto discreto de puntos:


del intervalo de interes . Para cualquiera de estos puntos se cumlple que:

La condición inicial , representa el punto por donde pasa la


curva solución de la ecuación de el planteamiento inicial, la cual se denotará como
.

Ya teniendo el punto se puede evaluar la primera derivada de en ese punto; por


lo tanto:
Con esta información se traza una recta, aquella que pasa por y de pendiente
. Esta recta aproxima en una vecinidad de . Tómese la recta como
reemplazo de y localícese en ella (la recta) el valor de y correspondiente a .
Entonces, podemos deducir segun la Gráfica A:

Se resuelve para :

Es evidente que la ordenada calculada de esta manera no es igual a , pues


existe un pequeño error. Sin embargo, el valor sirve para que se aproxime en el
punto y repetir el procedimiento anterior a fin de generar la sucesión de
aproximaciones siguiente:
La solución de las Ecuaciones diferenciales por medio de métodos númericos involucra
varios tipos de errores:

 Error del Método (Error de Truncamiento Local y Global): Este se debe a que, cómo
la aproximación de una curva mediante una línea recta no es exacta, se comete un
error propio del método. En este caso, el error es de primer orden - O(h1) -

 Local: Es la diferencia que se produce entre el valor real de la función y el


aproximado mediante la recta tangente -en lugar de moverse por la curva-
suponiendo que el punto desde el que partimos -donde se cruzan la curva real y la
recta que la aproxima- no tiene error alguno.

 Propagado: Acumulación 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 tenía error
sino que asumimos que dicho error existe y que se propaga de paso en paso. Dicha
propagación es, en el peor de los casos, lineal.

La suma de los dos es el error global.

 Redondeo/Truncamiento: Resultado del número límite de cifras significativas que


puede retener una computadora. Ya que el número de dígitos utilizados para hacer
los cálculos es finito y los números representados puede que no lo sean (es decir,
numeros con infinita cantidad de dígitos). Al limitar los números con infinita
cantidad de dígitos -mediante truncamiento o redondeo- a números con finita
cantidad de dígitos estamos cometiendo un error extra.

Como se muestra en la Grafica B, básicamente el método se encarga de aproximar la curva


por medio de una serie de segmentos en recta.

Debido a que la aproximación de una curva por medio de una línea recta no es exacta, se
comete un error derivado del método. A este error se le conoce como error de
truncamiento. Este error se puede disminuir reduciendo el valor de , pero se obtendra
un mayor número de cálculos y, por consiguiente, un error de redondeo mucho más alto.
Sistema a resolver.

Yi+1 = yi + f(xi, yi)h

Con el Método de Euler integre numéricamente:

Y´= -2x3 + 12x2 -20x +8.5

Desde: x=0 hasta x=4 con h=0.5 y y=1

Solución:

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


PSEUDOCÓDIGO

“Método de Euler”.

Para integrar numéricamente, proporciona los siguientes datos:

- Datos: Los limites inferior y superior de las x´s, condiciones iniciales y valor del intervalo.

- Resultados: La aproximación de la integración numérica y el cálculo 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. También se desarrollara para la función 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 y[-1]=1

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

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

i++

Resultados.

Y(Euler), et. (La aproximación y


los errores).

Fin
Código 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 código en c++ del método de Euler nos piden ingresar los
valores correspondientes para realizar el programa y la solución aproximada para la
solución de ecuaciones diferenciales. El condigo en si realiza con ciclos for las operaciones
y cálculos indicados por el usuario donde este mismo introdujo las formulas del método y
la organización para que se fuera desarrollando. También en otro ciclo for se colocaron las
formulas para los valores verdaderos de la ecuación diferencial y los errores que se fueron
calculando entre el método de Euler y el del valor verdadero.

La pantalla muestra como se imprime en forma de lista las operaciones realizadas con el
desarrollo del método en el programa.

Análisis del programa en C++ del “Método de Euler”

El desarrollo del programa en c++ se baso en la creación 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
después de sacar el limite al cual debe de detenerse el ciclo como también para el
segundo ciclo for. Ya resueltos la sustitución y desarrollo de las formulas para la
aproximación de los resultados el segundo ciclo for realiza las operaciones
correspondientes a las funciones verdaderas y los errores para también imprimirlos en ese
mismo for y asi mostrarlos en el ejecutable.
CONCLUSIONES.

“Método de Euler”

Conclusiones de Eyenith Saraliz Hernández Hernández:

En mi opinión general sobre el Método pues es muy favorable su procedimiento ya que


cuenta con menos cálculos a comparación del método 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
método es fascinante ya que su procedimiento como dije antes es muy poco a
comparación del otro método visto en clase pero tiene un detalle su margen de error es
muy grande dependiendo al valor del intervalo que se encuentre, mientras más pequeño
sea el valor del intervalo más exacto será la aproximación al valor verdadero de la función.
Esto significa que se llevara mas procedimiento o más bien mas operaciones mientras más
aproximado deseemos que este el resultado.

Conclusiones de José Manuel García Rangel:

El Método de Euler es más fácil desarrollarlo que con el Método de Kutta ya que es más
fácil en desarrollar por las formulas que se emplean para este método. Las formulas
ocupadas en este método pueden ser muy sencillas pero si el intervalo que se proponga
para los extremos de la función es demasiado grande serán pocos las operaciones que se
desarrollen mientras que si el intervalo es demasiado pequeño su gran cantidad de
operaciones serán muchos y eso complicaría mucho la existencia del usuario pero estarían
mas exactos los resultados con un mínima casi inexistente de error. La única ventaja de
este método que su desarrollo es muy fácil y sencillo de realizar su desventaja sería el de
hacer muchas operaciones si queremos llegar a la exactitud. En mi conclusión es muy
sencillo este método y recomendable para la práctica pero para la exactitud estaría mejor
la del método de Runge-Kutta.
Bibliografía.

Métodos Numéricos aplicados a la ingeniería. Antonio Nieves. Tercera edición. Grupo


Editorial Patria.

Cybergrafia.

http://es.wikipedia.org/wiki/Leonhard_Euler

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

También podría gustarte