Anda di halaman 1dari 4

MTODO DE EULER

Ivan Rene Alvarez Forero, Danyela Alejandra Luengas


Universidad Distrital Francisco Jos de Caldas, Facultad de Ciencias y Educacin
Grupo de Fsica computacional
Resumen
En este archivo se explica el mtodo de Euler para resolver ecuaciones
diferenciales empleando un programa escrito en root, as mismo se explica
como se desarroll el cdigo.
Palabras clave: Ecuaciones Diferenciales.

ndice
INTRODUCCIN

MTODOS DE EULER
Definicin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2
2

PROGRAMACIN EN ROOT
Cdigo del Programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Explicacion del Codigo y Compilacion . . . . . . . . . . . . . . . . . . . . . . . .

3
3
4

CONCLUSIONES

4
ndice de figuras

ndice de tablas

INTRODUCCIN
Este programa pretende mostrar un mtodo numrico que se utiliza para resolver
ecuaciones diferenciales ordinarias, utilizando la programacin como mecanismo para
desarrollar el algoritmo.

MTODO DE EULER

MTODOS DE EULER
Definicin
Este mtodo parte de las condicin inicial x0 la cual corresponde a un punto que
describe la curva de la ecuacin diferencial en estudio, sin embargo cabe recalcar que en
la mayora de casos la curva es desconocida pero se sabe que x0 forma parte de la curva
y por ende se conoce la recta tangente en el punto x0. Si e igual forma se analiza para el
siguiente punto x1 que esta un dx muy cerca de x0 (eso depende del numero de iteraciones
que se utilicen), se vuelve hallar la recta tangente. As sucesivamente hasta llegar a xi se va
trazando la curva1 de tal forma que se aproxima a la curva que se desea encontrar.
El mtodo de Euler parte de las condiciones iniciales de forma cualitativa as:
dy
= f (x, y)
dx

(1)

y(x0) = y0

(2)

y(xi) =?

(3)

Adems de la condicin inicial es necesario definir un nmero necesario de iteraciones


N, es decir de divisiones dentro de un x inicial a un x final, posterior a ello definir el paso
de la siguiente forma:
xM ax xM in
(4)
N
Teniendo el paso se hace uso de las ecuaciones de recurrencia para x y su variacin en cada
paso y se va sumando de forma de llegar a la iteracin final
h=

xi = x0 + h + 2h + 3h + ... + N h

(5)

Si se conoce x0 se se conocer x1 es decir:


x1 = x0 + h

(6)

x2 = x0 + 2h

(7)

Conocido esos valores por definicin de la pendiente de la curva se sabe que esta
definida as:
y1 y0
(8)
x1 x0
Es decir que, f(x0,y0) se conoce como la derivada o la recta tangente en la condicin
inicial y el valor de x1-x0 es el paso que existe de un punto a otro, as que se tiene que :
f (x0, y0) =

y1 = y0 + f (x0, y0)h

(9)

MTODO DE EULER

Por ende se tendr una nueva funcin de recurrencia para y a medida que trascurren
los pasos as:
yi = y0 + f (x0, y0)h + f (x1, y1)h + f (x2, y2)h + ..... + f (xn, yn)h

(10)

PROGRAMACIN EN ROOT
Cdigo del Programa
En la elaboracin del cdigo se utilizan las siguientes libreras de root, TMath,
TCanvas, TGraph, se definen las condiciones iniciales que exige el mtodo de Euler es decir
el x0 toma valor cero; xMin que se le asigna valor de -8; xMax que se le asigno valor de 8;
N corresponde a 100 iteraciones, luego se define dos funciones la derivada, es decir f(x,y) y
el paso as:

f(x,y)\\
double fun(double x){
return TMath::Cos(x);
}
Paso \\
double paso( double xf, double x1, int n){
double h;
h= (xf- x1)/(double)n;
return h;
}
Luego se define la funcin principal Reuler en la cual despus de haber dado la inicializacin
de los valores asociados a la ecuacin diferencial, aplicados en el mtodo de Euler para
variables x & y. Se crea un ciclo donde la ecuacin de recurrencia x acta sobre la ecuacin
y, de tal suerte que se obtiene la funcin que describe la curva:
xi = x0 + h + 2h + 3h + ... + N h Ecuacin de recurrencia para x
yi = y0 + f (x0, y0)h + f (x1, y1)2h + ..... + f (xn, yn)h Ecuacin de recurrencia para y

for(int i = 0; i <= N; i++){


x = x0 + (double)i*h; // Ecu. de recurrencia para x
y += fun(x)*h ; // Ecu de recurrencia para y
cout <<"valores y "<< y <<endl;
cout <<"valores x"<<x<<endl;
De esta manera se obtiene el codigo que permite calcular ecuaciones diferenciales usando
el mtodo de Euler

MTODO DE EULER

Con los datos obtenidos para la solucin a la ecuacin diferencial se usa la clase TGraph.
Se crea un arreglo matricial que guarde los datos para x e y, de forma que los grafique en
un lienzo.

xx[i] = x;
yy[i] = y;
gr[0] = new TGraph(N,xx,yy);
gr[0]->Draw("AP");

Explicacion del Codigo y Compilacion


en el codigo se declaran las librerias, despues definimos pues nuestras constantes y
nuestros parametros, como desde donde se evalua laintegral y hasta que y asi mismo en que
punto evaluamos la derivada
CONCLUSIONES
Finalmente se obtiene las siguiente grficas de la funcin seno como ecuacin solucin
a la ecuacin diferencial y coseno como f(x,y)

Anda mungkin juga menyukai