Euler

4
MÉTODO DE EULER Ivan Rene Alvarez Forero, Danyela Alejandra Luengas Universidad Distrital “Francisco José de Caldas”, Facultad de Ciencias y Educación Grupo de Física computacional Resumen En este archivo se explica el método de Euler para resolver ecuaciones diferenciales empleando un programa escrito en root, así mismo se explica como se desarrolló el código. Palabras clave: Ecuaciones Diferenciales. Índice INTRODUCCIÓN 1 MÉTODOS DE EULER 2 Definición ........................................ 2 PROGRAMACIÓN EN ROOT 3 Código del Programa .................................. 3 Explicacion del Codigo y Compilacion ........................ 4 CONCLUSIONES 4 Índice de figuras Índice de tablas INTRODUCCIÓN Este programa pretende mostrar un método numérico que se utiliza para resolver ecuaciones diferenciales ordinarias, utilizando la programación como mecanismo para desarrollar el algoritmo.

description

ddd

Transcript of Euler

  • MTODO DE EULER

    Ivan Rene Alvarez Forero, Danyela Alejandra LuengasUniversidad Distrital Francisco Jos de Caldas, Facultad de Ciencias y Educacin

    Grupo de Fsica computacional

    ResumenEn este archivo se explica el mtodo de Euler para resolver ecuacionesdiferenciales empleando un programa escrito en root, as mismo se explicacomo se desarroll el cdigo.

    Palabras clave: Ecuaciones Diferenciales.

    ndice

    INTRODUCCIN 1

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

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

    CONCLUSIONES 4

    ndice de figuras

    ndice de tablas

    INTRODUCCIN

    Este programa pretende mostrar un mtodo numrico que se utiliza para resolverecuaciones diferenciales ordinarias, utilizando la programacin como mecanismo paradesarrollar el algoritmo.

  • MTODO DE EULER 2

    MTODOS DE EULER

    Definicin

    Este mtodo parte de las condicin inicial x0 la cual corresponde a un punto quedescribe la curva de la ecuacin diferencial en estudio, sin embargo cabe recalcar que enla mayora de casos la curva es desconocida pero se sabe que x0 forma parte de la curvay por ende se conoce la recta tangente en el punto x0. Si e igual forma se analiza para elsiguiente punto x1 que esta un dx muy cerca de x0 (eso depende del numero de iteracionesque se utilicen), se vuelve hallar la recta tangente. As sucesivamente hasta llegar a xi se vatrazando 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

    dx= f(x, y) (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 pasode la siguiente forma:

    h = xMax xMinN

    (4)

    Teniendo el paso se hace uso de las ecuaciones de recurrencia para x y su variacin en cadapaso y se va sumando de forma de llegar a la iteracin final

    xi = x0 + h+ 2h+ 3h+ ...+Nh (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:

    f(x0, y0) = y1 y0x1 x0 (8)

    Es decir que, f(x0,y0) se conoce como la derivada o la recta tangente en la condicininicial y el valor de x1-x0 es el paso que existe de un punto a otro, as que se tiene que :

    y1 = y0 + f(x0, y0)h (9)

  • MTODO DE EULER 3

    Por ende se tendr una nueva funcin de recurrencia para y a medida que trascurrenlos 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 decirel 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) yel 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 inicializacinde los valores asociados a la ecuacin diferencial, aplicados en el mtodo de Euler paravariables x & y. Se crea un ciclo donde la ecuacin de recurrencia x acta sobre la ecuaciny, de tal suerte que se obtiene la funcin que describe la curva:

    xi = x0 + h+ 2h+ 3h+ ...+Nh Ecuacin de recurrencia para xyi = y0 + f(x0, y0)h+ f(x1, y1)2h+ .....+ f(xn, yn)h Ecuacin de recurrencia para y

    for(int i = 0; i

  • MTODO DE EULER 4

    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 enun 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 ynuestros parametros, como desde donde se evalua laintegral y hasta que y asi mismo en quepunto evaluamos la derivada

    CONCLUSIONES

    Finalmente se obtiene las siguiente grficas de la funcin seno como ecuacin solucina la ecuacin diferencial y coseno como f(x,y)

    INTRODUCCINMTODOS DE EULERDefinicin

    PROGRAMACIN EN ROOTCdigo del ProgramaExplicacion del Codigo y Compilacion

    CONCLUSIONES