77
Índice general 1. Ecuaciones Diferenciales Ordinarias 3 1.1. Problema de valores iniciales en el plano ....................... 4 1.2. Campo de direcciones ................................. 6 1.3. Existencia, unicidad y continuidad de soluciones ................... 8 1.4. Métodos Numéricos ................................... 9 1.4.1. Métodos de la serie de Taylor ......................... 9 1.4.2. Método de Euler ................................ 10 1.5. Métodos de Runge-Kutta ............................... 12 1.5.1. Método de Runge-Kutta 2 ........................... 12 1.5.2. Método de Heun ................................ 14 1.5.3. Método de Runge-Kutta 4 ........................... 15 1.6. Métodos incorporados en Matlab ........................... 16 1.7. Problemas Resueltos .................................. 16 2. Sistema de ecuaciones diferenciales lineales 19 2.1. Introducción ....................................... 19 2.2. Solución analítica usando matrices .......................... 20 2.3. Sistema homogéneo ................................... 20 2.4. Sistema no homogéneo. Método Variación de Parámetros .............. 22 2.5. Sistema dos por dos .................................. 24 2.6. Ecuaciones diferenciales de orden superior ...................... 31 2.7. Problemas Resueltos .................................. 31 3. Problemas de Contorno 35 3.1. Conceptos Básicos ................................... 35 3.2. Método de disparo ................................... 36 3.2.1. Disparo lineal .................................. 36 1

Cap6MN (1)

Embed Size (px)

DESCRIPTION

H

Citation preview

  • ndice general

    1. Ecuaciones Diferenciales Ordinarias 3

    1.1. Problema de valores iniciales en el plano . . . . . . . . . . . . . . . . . . . . . . . 4

    1.2. Campo de direcciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    1.3. Existencia, unicidad y continuidad de soluciones . . . . . . . . . . . . . . . . . . . 8

    1.4. Mtodos Numricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    1.4.1. Mtodos de la serie de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . 9

    1.4.2. Mtodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    1.5. Mtodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    1.5.1. Mtodo de Runge-Kutta 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    1.5.2. Mtodo de Heun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    1.5.3. Mtodo de Runge-Kutta 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    1.6. Mtodos incorporados en Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    1.7. Problemas Resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    2. Sistema de ecuaciones diferenciales lineales 19

    2.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    2.2. Solucin analtica usando matrices . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    2.3. Sistema homogneo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    2.4. Sistema no homogneo. Mtodo Variacin de Parmetros . . . . . . . . . . . . . . 22

    2.5. Sistema dos por dos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    2.6. Ecuaciones diferenciales de orden superior . . . . . . . . . . . . . . . . . . . . . . 31

    2.7. Problemas Resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    3. Problemas de Contorno 35

    3.1. Conceptos Bsicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    3.2. Mtodo de disparo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    3.2.1. Disparo lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    1

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    3.2.2. Disparos no lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    3.3. Mtodo de Diferencias Finitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    3.3.1. Algoritmo de Thomas para sistemas tridiagonales . . . . . . . . . . . . . . 42

    3.3.2. Diferencias Finitas lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    3.3.3. Diferencias nitas no lineales . . . . . . . . . . . . . . . . . . . . . . . . . 47

    3.4. Mtodo de Rayleigh-Ritz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    3.4.1. Caso lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    3.4.2. Caso no lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    3.5. Problemas Resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    3.6. Problemas propuestos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    3.7. Mtodo de Rayleigh-Ritz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    3.7.1. Caso lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

    3.7.2. Caso no lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

    3.8. Problemas Resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

    3.9. Problemas propuestos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

    2

  • Captulo 1

    Ecuaciones Diferenciales Ordinarias

    Las ecuaciones diferenciales representan una herramienta muy valiosa e insustituible para en-

    tender el mundo fsico, pues ellas llevan en s algo que no es fcil de manejar o incluso denir

    por ningn otro medio: el cambio. Algunas leyes en la fsica y otras ciencias que involucran

    cantidades como velocidad, aceleracin, rapidez, tiempo, por citar algunas, pueden enunciarse en

    la forma de una ecuacin diferencial.

    Una ecuacin diferencial sirve de modelo matemtico porque relaciona a la variable de inters con

    una o ms de sus derivadas. Una parte importante del proceso de solucin es tener presente las

    condiciones iniciales que quedarn incorporadas en la expresin nal de la funcin que resuelve

    la ecuacin diferencial. Consideraremos ecuaciones que se puedan resolverse analticamente as

    como aquellas que solo se pueden resolver numricamente, mediante un mtodo numrico. En

    todas las reas de las ciencias se aplican las ecuaciones diferenciales como modelo de cambio.

    1. La razn de cambio del volumen de un lquido respecto a la altura en un recipiente.

    2. La aceleracin como la razn de cambio de la velocidad instantnea respecto al tiempo.

    3. La densidad lineal como la razn de cambio de la masa con respecto a la longitud.

    4. La razn de cambio del costo respecto al nmero de unidades de un producto.

    5. La razn de cambio de la poblacin de una especie respecto al tiempo.

    Denicin 1.1. Se llama ecuacin diferencial a una ecuacin que relaciona la variable inde-

    pendiente x con la funcin incgnita y = f(x) y con sus derivadas y0; y00; y(n), es decir, unaecuacin de la forma

    F (x; y; y0; y(n)) = 0: (1.0.1)

    3

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    Una ecuacin diferencial de primer orden dependiente del tiempo

    x0 = f(t; x) (1.0.2)

    sirve de modelo matemtico a muchos fenmenos fsicos donde el tiempo es la variable indepen-

    diente. En algunos casos se denotar como _x =dx

    dt.

    La solucin de la ecuacin (1.0.2) es una funcin diferenciable x = (t) tal que al reemplazar en

    la ecuacin se obtiene una identidad 0(t) = f(t; (t)). Cuando no se tiene una condicin inicial,

    la solucin depende de una constante, (t; C).

    1.1. Problema de valores iniciales en el plano

    Sea R = [a; b] [c; d] una regin rectangular en el plano xy, la cual contiene al punto (x0; y0). Unproblema de valores iniciales (pvi), consiste de una ecuacin diferencial y una condicin inicial.(

    y0 = f(x; y); (x; y) 2 Ry(x0) = y0; (x0; y0) 2 R

    (1.1.1)

    Una solucin del problema de valor inicial (1.1.1) es una funcin derivable y = y(x) tal que

    y(x0) = y0; y0(x) = f(x; y(x)); x 2 [a; b]

    Teorema 1.1 (de existencia y unicidad). Si f y @f=@y son continuas en R entonces existe

    un > 0 tal que el intervalo I0 =]x0 ; x0 + [ contenido en [a; b] y una funcin y(x) denidaen I0 que representa una nica solucin al problema de valor inicial (1.1.1).

    Ejemplo 1.1. Halle la solucin de la ecuacin diferencial de primer orden

    dy

    dt= f(t; y) = tet

    2 2ty

    Solucin. La solucin por el mtodo de factor integrante, es una funcin diferenciable que

    depende de t y de una constante C,

    y(t; C) = et2

    t2

    2+ C

    :

    Las grcas de las soluciones y(t; C) son curvas paralelas que tienen forma de campana de Gauss.

    Guardamos en archivos de extensin m tanto la ecuacin diferencial como la solucin.

    %Para la ecuacin diferencial

    function z=fedo5(t,y)

    z=t*exp(-t^2)-2*y*t;

    4

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    %Para la solucin

    function y=sfedo5(t)

    y=exp(-t.^2).*(0.5*t.^2+C);

    Para cada condicin inicial y0 se obtiene una solucin distinta. Nosotros estamos interesados en

    una curva de esa familia de curvas. Aplicando las condiciones iniciales a la solucin general de

    la ecuacin diferencial descartamos las soluciones (curvas) que no la satisfacen.

    Ejemplo 1.2. Sea el problema de valores iniciales, (el mismo del ejemplo (1.1)),

    y0 = f(t; y) = tet2 2ty; y(2) = 0;1; 2 t 2

    1. Determine la solucin particular.

    2. Halle la grca de la solucin.

    Solucin. La solucin general de la ecuacin diferencial en el intervalo I = [2; 2],

    y(t; C) = et2

    t2

    2+ C

    :

    1. Hallamos el valor de la constante C de la condicin inicial

    y(2) = 0;1 = e4[2 + c]) C = 110e4 2 = 3;4598

    La solucin particular en el intervalo I = [2; 2],

    y(t) = et2

    t2

    2+ 3;4598

    ; 2 t 2:

    2. La grca de la solucin y(t) en Matlab

    t=linspace(-2,2,3000);

    y=exp(-t.^2).*(0.5*t.^2+3.4598);

    plot(t,y,linewidth,2),title(Grfica de la solucin y(t))),

    FALTA FIGURA

    En el texto [14], puede consultar los detalles de como se halla la solucin analticamente.

    5

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    1.2. Campo de direcciones

    Sea un problema de valor inicial (y0 = f(t; y); t 2 [a; b]y(t0) = y0; y 2 [c; d]

    La solucin de un problema de valores iniciales es una funcin derivable y = y(t) tal que

    y(t0) = y0; y0(t) = f(t; y(t)); t 2 [a; b]:

    Asumiremos que los problemas de valor inicial que vamos a considerar tienen solucin nica en

    cada punto (t; y) del rectngulo R = f(t; y) : a t b; c y bg, por lo tanto, la pendiente dela curva solucin y(t), m = f(t; y(t)), tambin es nica en cada punto.

    Un campo de direcciones o campo de pendientes en una regin del plano R R2, asignaa cada punto x 2 R un vector F (x) 2 R con origen en el punto x. La grca de un campovectorial puede usarse para ver el comportamiento global de las soluciones en toda la regin

    R.

    En el siguiente ejemplo, el campo de direcciones y curvas solucin para algunas condiciones

    iniciales, usando en Matlab meshgrid y quiver

    Ejemplo 1.3. Graque el campo de direcciones de la ecuacin diferencial

    y0 =t y2

    (1.2.1)

    denidas en el rectngulo R = [0; 5] [0; 5] con las siguientes condiciones iniciales:

    1. y(0) = 1.

    2. y(0) = 4.

    Solucin. La ecuacin (1.2.1) es una ecuacin lineal de primer orden, la solucin general es

    y(t) = t 2 + Cet=2

    El comportamiento global de la solucin y(t), usando el campo de direcciones, desde todo punto

    de la regin tiende hacia la recta y = t 2, pues la expresin Cet=2 ! 0 cuando t! +1. Lascondiciones iniciales sirven para hallar el valor de la constante de integracin. En la gura 1.1,

    se muestra las dos curvas solucin y el campo de direcciones.

    1. y(0) = 1 entonces y(t) = 3et=2 2 + t.

    2. y(0) = 4 entonces y(t) = 6et=2 2 + t.

    6

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    f=inline(t,t,y);

    [t,y]=meshgrid(0:0.5:5,0:0.5:5);

    [n,m]=size(t);

    dt=ones(n,m);

    z=(t-y)/2;

    dy=z;

    quiver(t,y,dt,dy)

    hold on

    x=0:0.01:5;

    z1=3*exp(-x/2)-2+x;

    z2=6*exp(-x/2)-2+x;

    plot(x,z1,x,z2), grid on

    axis([-1 6 -1 6])

    hold off

    1 0 1 2 3 4 5 61

    0

    1

    2

    3

    4

    5

    6

    x

    y

    Campo de direcciones

    Figura 1.1: y0 = (t y)=2

    Cuando t!1) et=2 ! 0, esto implica que todas las trayectorias de y(t)! L : y = t 2. El campo de direcciones ser til especialmente en las ecuaciones diferenciales que no se pueden

    determinar la solucin analticamente. Sin emabrgo, se puede visualizar el comportamiento global

    de la ecuacin con el campo vectorial o calcular numricamente las aproximaciones a la solucin.

    Por el teorema (1.1) se prueba que el problema tiene solucin nica.

    7

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    1.3. Existencia, unicidad y continuidad de soluciones

    Antes de empezar a calcular o aproximar la solucin de un problema, es necesario saber que la

    solucin existe y solo hay una nica solucin.

    Denicin 1.3.1. Una funcin f(t; x) es continua de Lipschitz en la variable x sobre el

    rectngulo R = [a; b] [c; d] si existe una constante L (llamada constante de Lipschitz) quesatisface

    jf(t; x1) f(t; x2)j Ljx1 x2j

    para cada (t; x1); (t; x2) en R.

    La regin R de la denicin 1.3.1 puede ser un conjunto convexo, dados dos puntos cualesquiera

    de R, el segmento que los une est contenido en R.

    La hiptesis de continuidad de Lipschitz garantiza la existencia y unicidad de las soluciones de

    valores iniciales.

    Teorema 1.3.2. Suponga que f(t; x) es continua de Lipschitz en la variable x sobre el rectngulo

    R = [a; b] [c; d] y que c < xa < d. Entonces existe una constante c entre a y b de tal forma queel problema de valor inicial (

    x0 = f(t; x); t 2 [a; c]x(a) = xa

    tiene exactamente una solucin x(t).

    Por otra parte, si f es continua de Lipschitz en [a; b]] 1;1[, entonces existe exactamenteuna solucin en [a; b].

    jx(t) y(t)j eL(ta)jx(a) y(a)j

    Teorema 1.3.3. Suponga que f(t; x) es continua de Lipschitz en la variable x sobre el rectngulo

    R = [a; b] [c; d]. Si x(t) y y(t) son soluciones en R de la ecuacin diferencial

    x0 = f(t; x)

    con las condiciones iniciales x(a) e y(a), respectivamente entonces

    jx(t) y(t)j eL(ta)jx(a) y(a)j:

    Una forma de cuanticar los cambios pequeos en los datos de entrada, cuando la condicin

    inicial x(a) se cambia a y(a), el mayor cambio posible en la salida t unidades despus, x(t)y(t),es exponencial en t y lineal en la diferencia de la condicin inicial.

    8

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    1.4. Mtodos Numricos

    Dado el problema de valores iniciales(y0 = f(t; y); t 2 [a; b]y(t0) = y0

    (1.4.1)

    Suponemos que existe la solucin pero que no es posible hallarla explcitamente. Por lo tanto,

    nuestro objetivo es buscar una aproximacin a la solucin y = y(t) discretizando el problema,

    construyendo una ecuacin equivalente que permita aproximar a las soluciones. Todos, o casi

    todos los mtodos para aproximar a la solucin de una ecuacin diferencial, deben seguir los

    siguientes pasos:

    1. Dividir el intervalo [a; b] en M subintervalos de longitud h =b aM

    , generando los nodos

    tk+1 = tk + h para k = 0; 1; 2; ;M 1.

    2. Aproximar a la solucin mediante una sucesin de puntos yk = y(tk), generada por el

    mtodo numrico. La sucesin es generada a partir de una ecuacin en diferencias asociada

    al mtodo.

    3. Implementar el programa del mtodo que calcula los elementos de la sucesin con algn

    lenguaje de programacin.

    4. Determinar los errores y analizar los resultados.

    1.4.1. Mtodos de la serie de Taylor

    Los diferentes mtodos numricos para resolver ecuaciones diferenciales tienen su origen en la

    serie de Taylor (1.4.2). Los mtodos de la serie de Taylor son de aplicabilidad general y son

    los mtodos estndares con los que se comparan la precisin de otros mtodos numricos para

    resolver problemas de valor inicial.

    Teorema 1.2 (Teorema de Taylor). Supongamos que y(t) 2 CN+1[t0; b] y que y(t) tiene eldesarrollo de Taylor de orden N alrededor de un punto t = tk 2 [a; b] dado por

    y(tk + h) = y(tk) + h

    NXj=1

    y(j)(tk)

    j!hj1 +O(hN+1) (1.4.2)

    donde y(j)(t) = f (j1)(t; y(t)) denota la derivada (j1)-sima de la funcin f(t; y(t)) con respectoal tiempo t.

    El error

    E =hN+1

    (N + 1)!y(N+1)(); 2 [a; b]

    9

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    Si usamos la aproximacin

    yN+1(x) =y(N)(x+ h) y(N)(x)

    h) E = h

    N

    (N + 1)!

    hy(N)( + h) y(N)(x)

    iAlgunas derivadas de y(t) = f (j1)(t; y(t)), por regla de la cadena.

    1. Para j = 1; y0(t) = f .

    2. Para j = 2; y00(t) = ft + fyf

    3. Para j = 3; y000(t) = ftt + 2ftyf + fyyf2 + fy(ft + fyf).

    Las derivadas de orden mayor son ms complicadas de calcular. Por esta dicultad surgen los

    otros mtodos ms usuales.

    1.4.2. Mtodo de Euler

    Dado el problema de valores iniciales(y0 = f(t; y); t 2 [a; b]y(t0) = y0

    (1.4.3)

    Suponemos que la solucin de la ecuacin es (t); t 2 [a; b].SiM es el nmero de nodos que divide el intervalo [a; b] enM subintervalos de longitud h =

    b aM

    .

    La sucesin que aproxima a la solucin se genera en las ecuacin en diferencias(tk+1 = tk + h

    yk+1 = yk + hf(tk; yk); k = 0; 1; ;M 1:(1.4.4)

    asociado al mtodo de Euler.

    El mtodo de Euler construye el valor de yk mediante (1.4.4) de tal manera que se tiene la

    aproximacin al valor verdadero (t) en cada nodo tk del intervalo [a; b]

    (tk) = yk; 8k = 0; 1; ;M 1:

    Programa en Matlab

    function E=euler(f,a,b,ya,M)

    % datos: f la funcin, ya la condicin inical

    % Resultados

    % E=[T Y], T vector de abscisas, Y vector de ordenadas

    h=(b-a)/M;

    10

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    T=zeros(1,M+1);

    Y=zeros(1,M+1);

    T=a:h:b;

    Y(1)=ya;

    for j=1:M

    Y(j+1)=Y(j)+h*feval(f,T(j),Y(j));

    end

    E=[T Y];

    Ejemplo 1.4. Dado el problema de valores iniciales

    y0 =p1 + t5

    1 + y2; y(1) = 2; 1 t 5:

    1. Aproxime a la solucin usando el mtodo de Euler con n = 8 y n = 16 nodos.

    2. Halle la grca de la aproximacin.

    Solucin

    1. Para n = 8 se tiene h = 0;5 y los nueves nodos t0 = 1; t2 = 1;5; ; t8 = 5. Los clculosde los yk = y(tk) en la ecuacin (1.4.4)

    y0 = y(t0) = y(1) = 2

    y1 = y0 + hf(t0; y0)

    = 2 + 0;5

    p1 + 15

    1 + 22= 2;1414

    y2 = y1 + hf(t1; y1) = 2;4038

    ... =...

    y8 = 6;0969

    En Matlab guardamos la ecuacin diferencial como

    function z=fn1(t,y)

    z=sqrt(1+t.^5)./(1+y.^2);

    Luego, en la ventana de comandos ingresamos E=euler(fn1,1,5,2,16)

    1.0000 2.0000

    1.2500 2.0707

    11

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    ...............

    4.5000 5.4215

    4.7500 5.7749

    5.0000 6.1329

    2. Grca de las aproximaciones. Con

    plot(E(:,1),E(:,2),or)

    se tienen los pares ordenados (tk; yk) en color rojo, obtenidos con Euler.

    Existen otros mtodos de Taylor, denominados Taylor 2, Taylor 3, Taylor 4, etc; cuando en el

    teorema de Taylor (1.4.2) se consideran trminos que contienen y0; y00; y000; etc. Sin embargo,la dicultad en determinar esas derivadas en los mtodos de Taylor hizo que surjan los mtodos

    de Runge-Kutta que son tan ecientes como los de Taylor, en donde se aproximan las derivadas

    en varios puntos.

    1.5. Mtodos de Runge-Kutta

    Sea el problema de valores iniciales(y0 = f(t; y); t 2 [a; b]y(t0) = y0;

    (1.5.1)

    Considerando la serie de Taylor para una funcin de dos variables f(x; y)

    f(x+ h; y + k) =

    1Xi=0

    1

    i!

    h@

    @x+ k

    @

    @y

    if(x; y) (1.5.2)

    y el desarrollo de Taylor para la solucin de problema de valores iniciales (1.5.1)

    se construye un sistema de tres ecuaciones con cuatro variables. De las diferentes soluciones de

    este sistema se derivan (generan) los mtodos de Runge-Kutta, de Heun y otros. Ms detalles en

    [2].

    1.5.1. Mtodo de Runge-Kutta 2

    Los mtodos de Runge-Kutta se construyen a partir de un mtodo de Taylor de orden N , de

    tal manera que el error global nal sea del mismo orden O(hN ), pero se evita la evaluacin de

    las derivadas parciales. Esto se consigue a cambio de evaluar, en cada paso, la funcin en varios

    puntos. Nos restringimos a Runge-Kutta de orden 2 y Runge-Kutta de orden 4.

    12

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    La ecuacin en diferencias del mtodo de Runge-Kutta 2, para los M nodos en el intervalo [a; b]

    tk+1 = tk + h; k = 0; 1; ;M 1)yk+1 = yk +

    1

    2[K1 +K2] ; donde

    K1 = hf(tk; yk);

    K2 = hf(tk + h; yk +K1):

    Programa de RK-2 en Matlab

    function R2=rk2(f,a,b,ya,M)

    h=(b-a)/M;

    T=zeros(1,M+1);

    Y=zeros(1,M+1);

    T=a:h:b;

    Y(1)=ya;

    for j=1:M

    k1=h*feval(f,T(j),Y(j));

    k2=h*feval(f,T(j)+h,Y(j)+k1);

    Y(j+1)=Y(j)+(k1+k2)/2;

    end

    R2=[T Y];

    Ejemplo 1.5. Sea el problema de valores iniciales(y0 = arctan(et); t 2 [2; 5]y(2) = 4;

    (1.5.3)

    1. Con M = 20 halle una aproximacin a la solucin usando el mtodo de Runge-Kutta 2.

    2. Halle la grca de las aproximaciones.

    Solucin

    1. Con M = 20 en el mtodo de Runge-Kutta 2,

    R2=rk2(fedo2,2,5,0,20)

    R2 =

    2.0000 0

    2.1500 0.0962

    ... ...

    4.8500 3.7699

    5.0000 3.9748

    13

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    2. La grca de las aproximaciones.

    plot(R2(:,1),R2(:,2))

    1.5.2. Mtodo de Heun

    Si M es el nmero de nodos que divide el intervalo [a; b] en subintervalos de longitud h =b aM

    .

    La ecuacin en diferencias del mtodo de Heun.

    k = 0; 1; ;M 1: tk+1 = tk + h;K1 = hf(tk; yk);

    K2 = hf(tk+1; yk + hK1);

    yk+1 = yk +1

    2[K1 +K2]

    Programa en Matlab del mtodo de Heun

    function H=heun(f,a,b,ya,M)

    h=(b-a)/M;

    T=zeros(1,M+1);

    Y=zeros(1,M+1);

    T=a:h:b;

    Y(1)=ya;

    for j=1:M

    k1=h*feval(f,T(j),Y(j));

    k2=h*feval(f,T(j+1),Y(j)+h*k1);

    Y(j+1)=Y(j)+(1/2)*(k1+k2);

    end

    H=[T Y];

    Ejemplo 1.6. Sea el pvi

    y0 = arctan(et); y(2) = 4; 2 t 10

    1. Con M = 20 halle una aproximacin a la solucin usando el mtodo de Heun.

    2. Halle la grca de las aproximaciones.

    Solucin

    1. Con M = 20 en el mtodo de Heun. En la ventana de comandos de Matlab.

    14

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    H=heun(fedo3,2,10,-4,20)

    H =

    2.0000 -4.0000

    2.4000 -3.4167

    ... ...

    9.6000 7.8013

    10.0000 8.4296

    2. La grca de las aproximaciones con

    plot(H(:,1),H(:,2))

    1.5.3. Mtodo de Runge-Kutta 4

    La ecuacin en diferencias del mtodo de Runge-Kutta 4.

    k = 0; 1; ;M 1: tk+1 = tk + h;yk+1 = yk +

    1

    6(K1 + 2K2 + 2K3 +K4)

    donde

    k1 = hf(Tj ; Yj);

    k2 = hf(Tj + h=2; Yj + k1=2);

    k3 = hf(Tj + h=2; Yj + k2=2);

    k4 = hf(Tj + h; Yj + k3);

    Programa en Matlab

    function R4=rk4(f,a,b,ya,M)

    h=(b-a)/M;

    T=zeros(1,M+1);

    Y=zeros(1,M+1);

    T=a:h:b;

    Y(1)=ya;

    for j=1:M

    k1=h*feval(f,T(j),Y(j));

    k2=h*feval(f,T(j)+h/2,Y(j)+k1/2);

    k3=h*feval(f,T(j)+h/2,Y(j)+k2/2);

    15

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    k4=h*feval(f,T(j)+h,Y(j)+k3);

    Y(j+1)=Y(j)+(k1+2*k2+2*k3+k4)/6;

    end

    R4=[T Y];

    Ejemplo 1.7. Resuelva el pvi

    y0 = cos(et cos(t)); y(0) = 0; 0 t 6

    Solucin

    R4=rk4(fedo4,0,6,0,20)

    plot(R4(:,1),R4(:,2))

    no olvidar su error

    1.6. Mtodos incorporados en Matlab

    Algunos de los mtodos numricos que trae Matlab son ode23 para resolver problemas de valores

    iniciales reales (no complejos) y los ode45 que resuelven pvi ms difceles; existen otros mtodos

    incorporado en Matlab. Ver la gua del usuario en [12].

    Ejemplo 1.8. Resuelva el pvi

    y0 = cos(et cos(t)); y(0) = 0; 0 t 6

    Solucin. La forma de aplicar al pvi es mediante

    [t,y]=ode45(fedo4,[0,6],0)

    donde (f,[a,b],y0) son las variables de entrada.

    1.7. Problemas Resueltos

    Previamente algunos conceptos importantes tomados del captulo 19 de [10]. El calor es la trans-

    ferencia de energa de un objeto a otro como resultado de una diferencia de temperatura entre

    los dos. El Equilibrio trmico es una situacin en la que dos objetos en contacto trmico uno

    con otro dejan de intercambiar energa por el proceso de calor. La ley cero de la termodi-

    nmica dice que si los objetos A y B estn por separado en equilibrio trmico con un tercer

    objeto C, entonces los objetos A y B estn en equilibrio trmico entre s. Se puede considerar la

    16

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    temperatura como la propiedad que determina si un objeto est en equilibrio trmico con otros

    objetos. Dos objetos es equilibrio trmico entre s estn a la misma temperatura. Por

    el contrario, si dos objetos tienen temperaturas diferentes, no se encuentran en equilibrio trmico

    entre s.

    Ejemplo 1.9 (Ley de Enfriamiento de Newton). La velocidad de enfriamiento de un cuerpo

    es directamente proporcional a la diferencia de temperaturas entre el cuerpo y el medio circun-

    dante. Esto es:dT (t)

    dt= k[T (t) a] ; (1.7.1)

    donde T (t) es la temperatura del cuerpo en un tiempo t, a es la temperatura del medio circundante

    y k es la constante de proporcionalidad.

    1. Halle la temperatura T en funcin del tiempo t, si el cuerpo calentado hasta T0 grados est

    introducido en un local donde la temperatura es constante e igual a a grados

    2. Al cabo de cunto tiempo la temperatura de un cuerpo que tiene una temperatura de

    100oC descender hasta hasta los 25oC si la temperatura en el local es de 20oC y durante

    los primeros 10 minutos el cuerpo se enfri hasta los 60C.

    3. Interprete fsicamente el enfriamiento de cuerpos desde distintas temperaturas iniciales en

    el intervalo [200; 200]. Cul es el valor de estas temperaturas cuando t! +1?

    4. Analice que pasa con las temperaturas de los cuerpos cuando t! +1. Todos los cuerpostienden al equilibrio trmico?

    Solucin. La ecuacin diferencial es de variables separables

    dT

    dt= k(T a)

    1. La solucin general

    T (t; C) = 40 + Ce0;1352t (1.7.2)

    De la condicin inicial T (0) = 200F ) C = 160.

    T (t) = 40 + 160e0;1352t

    Para efectuar aproximaciones, guardamos con fedoP(t,T) la ecuacin

    T 0(t) = 0;1352 (T 40) + 0 t:

    LLamaremos con fedoP en el mtodo de Euler para aproximar las soluciones en cada

    condicin inicial.

    17

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    2. Para cada condicin inicial diferente existe una constante C. La grca de las diferentes

    curvas de enfriamiento con

    hold on

    for i=200:-10:10

    [t,yi]=euler(fedoP,0,30,i,0.25);

    plot(t,yi)

    end

    3. Cuando transcurre un tiempo muy grande los cuerpos tienden a equilibrarse alrededor de

    la temperatura del medio ambiente que los rodea, en este caso 40F . Esto se explica porque

    en (1.7.2), el trmino e0;1352t tiende a cero cuando t es muy grande.

    Observacin 1.7.1. T [C] = 59(T [F ] 32)

    Ejemplo 1.10. En los siguientes problemas use los mtodos de Runge-Kutta2 y Runge-Kutta

    4 con h = 0;25 para aproximar a la solucin en [0; 4].

    1. y0 = x2 + y2; y(0) = 1

    2. y0 = (x y)2; y(0) = 0;5

    3. y0 = xy +py; y(0) = 1

    4. y0 = xy2 yx; y(1) = 1

    Algunos problemas de valores iniciales que no se pueden resolver analticamente y que aproxi-

    maremos su solucin mediante los mtodos numricos.

    1. y0 =p1 + t5; y(0) = 2; 0 t 10.

    2. y0 = ecos(2t); y(0) = 0; 2 t 5.

    3. y0 = arctan(et); y(2) = 4; 2 t 10.

    4. y0 = 1y3

    cos(et cos(t)); y(0) = 2; 0 t 6.

    Guardamos estos problemas en archivos de extensin.m. con la nalidad de considerarlos como

    ejemplos en los diferentes mtodos numricos que resuelven el pvi (1.4.1).

    18

  • Captulo 2

    Sistema de ecuaciones diferenciales

    lineales

    2.1. Introduccin

    Una lista sucientemente amplia, como para ver el alcance de la modelizacin con sistemas de

    ecuaciones diferenciales, que se aplican a diferentes reas de ciencias e ingeniera, campos como

    circuitos elctricos, sistemas mecnicos, desintegracin radioactiva, movimiento descendente de

    cuerpos, movimiento pendular, velocidad de proyectiles y cohetes, enfriamiento de cuerpos, inters

    compuesto, movimiento en un plano inclinado, modelos de poblaciones, mezclas y disoluciones,

    salida de lquidos por oricios, comportamiento de gases connados y en movimiento, absorcin

    de la luz, espesor de capas de slidos en formacin o destruccin, crecimiento de gotas, otacin

    de barcos, movimiento en uidos viscosos, resistencia de materiales, problemas epidemiolgicos,

    comportamiento de alas de aviones, difusin en medios porosos, electro-magnetismo, dispersin de

    contaminantes en la atmsfera y en medios submarinos, distribucin de calor en placas y slidos,

    absorcin de medicamentos, ujo a presin en tuberas, ujo en canales abiertos, prdidas de

    peso, movimiento planetario, reacciones y equilibrios qumicos, resonancia en sistemas elctricos

    e hidrulicos, gua de misiles, comportamiento de semiconductores, clulas solares, bras pticas,

    guas de ondas, entre otros.

    19

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    2.2. Solucin analtica usando matrices

    Un sistema de ecuaciones diferenciales de primer orden18>>>>>>>:dx1dt

    = f1(t; x1; ; xn)...

    dxndt

    = fn(t; x1; ; xn)) X 0 =

    2664f1(t;X)

    ...

    fn(t;X)

    3775 = ~F (t;X) = 0 (2.2.1)expresado como una ecuacin diferencial en forma matricial

    X 0(t) = AX(t) + F (t);

    t 2 [a; b]; X = (x1; ; xn)0 2 Rn; F (t) 2 Rn(2.2.2)

    donde A es una matriz n n,

    A = [aij(t)] =

    0BB@a11(t) : : : a1n(t)

    ......

    ...

    an1(t) : : : ann(t)

    1CCA (2.2.3)La condicin inicial

    X(t0) = X(0) =

    2664x(0)1...

    x(0)n

    3775 : (2.2.4)Se dice que el sistema es homogneo si F (t) = 0.

    X 0(t) = AX(t) + F (t)) X 0 = AX (2.2.5)

    En caso contrario, F (t) 6= 0, se dice no homogneo.La solucin de la ecuacin (2.2.2) se obtiene en dos etapas: solucin de la parte homognea

    Xh(t) y solucin de la parte no homognea Xp(t), es decir, X(t) = Xh(t) +Xp(t).

    2.3. Sistema homogneo

    En un sistema 2 2,X 0 =

    a11 a12

    a21 a22

    !X , X 0 = AX: (2.3.1)

    Los valores y vectores propios de A son los que generan la solucin homognea del sistema.

    Son tres clases de valores y vectores propios. Reales y diferentes, reales repetidos y complejos

    conjugados.1Ver ms detallado en captulo 8 de [14].

    20

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    Si 1 y 2 son los valores propios reales diferentes con sus respectivos vectores propios

    asociados a cada uno de ellos K1 y K2, entonces las soluciones fundamentales (individuales) que

    corresponden a cada uno de las parejas de valores y vectores propios

    X(1) = K1e1t y X(2) = K2e2t

    La solucin homognea est dada por la combinacin lineal de estas soluciones fundamentales,

    es decir,

    Xh(t) = c1X(1)(t) + c2X

    (2)(t) (2.3.2)

    En el caso que los valores propios son reales e iguales 1 = 2 = los vectores propios

    asociados a los valores propios se obtienen de resolver los sistemas

    [A I]K = 0 y [A I]P = K (2.3.3)

    luego, las soluciones fundamentales o individuales sern

    X(1) = Ket y X(2) = Ktet + Pet (2.3.4)

    Ejemplo 2.1. Halle la solucin del siguiente sistema homogneo.

    X 0(t) =

    3 182 9

    !X (2.3.5)

    Solucin. De resolver jA Ij = 0 se obtiene = 3. Uno de los vectores propios asociado

    [A+ 3I]K = 0) K ="

    3

    1

    #

    El otro vector propio en la ecuacin (2.3.3), [A+ 3I]P = K ) P ="

    1=2

    0

    #Las soluciones fundamentales

    X(1) =

    "3

    1

    #e3t y X(2) =

    "3

    1

    #te3t +

    "1=2

    0

    #e3t = e3t

    "3t+ 0;5

    t

    #

    Por lo tanto, la solucin homognea

    Xh(t) = c1X(1) + c2X

    (2) = c1

    "3

    1

    #e3t + c2

    "3t+ 0;5

    t

    #e3t

    En el caso que los valores propios son complejos y conjugados, basta considerar uno de

    los valores propios y su vector propio asociado. La parte real y la parte imaginaria de ese par

    considerado generarn las soluciones fundamentales. En el siguiente ejemplo mostramos este caso.

    21

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    Ejemplo 2.2.

    X 0(t) =

    6 15 4

    !X

    Solucin. De resolver jA Ij = 0 se obtiene 1 = 5 + 2i y 2 = 5 2i con i =p1. Los

    valores propios asociados

    K1 =

    "1

    1 2i

    #y K2 =

    "1

    1 + 2i

    #

    Considerando uno de ellos, por ejemplo 1 = 5+ 2i y su vector asociado K1, determinamos una

    solucin X = K1e1t. Las soluciones fundamentales

    X(1) = Re(X) y X(2) = Im(X)

    Por lo tanto, la solucin homognea es Xh(t) = c1X(1) + c2X(2).

    2.4. Sistema no homogneo. Mtodo Variacin de Parmetros

    Denicin 2.4.1 (Matriz fundamental). Si los vectores de n componentes X1; X2; ; Xnes un conjunto fundamental de soluciones del sistema homogneo X 0 = AX en un intervalo I,

    entonces la matriz fundamental es aquella que tiene como columnas a los vectores X1; X2; ; Xn,es decir

    (t) = [X1; X2; ; Xn]

    La solucin general del sistema homogneo en el intervalo I, se puede expresar como combinacin

    lineal de las soluciones fundamentales X = c1X1 + c2X2 + + cnXn o

    X = c1

    0BBBBB@x11

    x21...

    xn1

    1CCCCCA+ c20BBBBB@

    x12

    x22...

    xn2

    1CCCCCA+ + cn0BBBBB@

    x1n

    x2n...

    xnn

    1CCCCCA = (t)C (2.4.1)

    donde C es el vector columna n 1 de las constantes.Considerando el sistema (2.2.2)

    X 0(t) = AX(t) + F (t); X(t0) = X(0); t 2 [a; b]; (2.4.2)

    se toma en cuenta las soluciones fundamentales de la parte homognea,

    X(1) = K1e1t y X(2) = K2e2t; ; X(n) = Knent:

    22

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    Estos vectores colocados como columnas van a constituir la matriz fundamental (t). Los

    vectoress X(1); X(2); ; X(n) son linealmente independientes entonces existe la inversa 1(t).En base a la matriz fundamental (t) se puede expresar la solucin homognea como

    Xh(t) = (t)C

    donde C =

    c1

    c2

    !. Si el sistema homogneo tiene condicin inicial X(t0) = X(0), entonces

    Xh(t0) = (t0)C ) C = 1(t0)X(0)

    Por lo tanto, la solucin del sistema homogneo con condiciones iniciales

    Xh(t) = (t)1(t0)X(0):

    Adems, la matriz fundamental satisface la ecuacin homognea (2.4)

    0(t) = A(t) (2.4.3)

    Para resolver el sistema (2.4.2) por el mtodo de variacin de parmetros, suponemos que la

    solucin no homognea tiene la forma

    Xp(t) = (t)U(t) (2.4.4)

    por determinar el vector U(t).

    Derivando Xp se obtiene

    X 0p = 0(t)U(t) + (t)U 0(t) (2.4.5)

    Reemplazando (2.4.4) y (2.4.5) en (2.4.2) y como por (2.4.3) 0U = AU , se obtiene

    0(t)U(t) + (t)U 0(t) = A(t)U(t) + F (t)

    Simplicando

    (t)U 0(t) = F (t)) U 0 = 1F (t)Integrando

    U(t) =

    Z1(s)F (s)ds (2.4.6)

    Reemplazando (2.4.6) en (2.4.4) se obtiene la solucin particular,

    Xp(t) = (t)

    Z1(s)F (s)ds (2.4.7)

    La solucin general del sistema (2.4.2) ser

    X(t) = Xh(t) +Xp(t) = (t)C +(t)

    Z1(s)F (s)ds (2.4.8)

    23

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    Las constantes se determinan con las condiciones iniciales.

    Problema de valores iniciales. Cuando t = t0 en la solucin del sistema,

    X(0) = (t0)C ) C = 1(t0)X(0)

    pues Z t0t0

    1F (s)ds = 0

    Finalmente la solucin particular del problema (2.4.2) con condiciones iniciales

    X(t) = (t)1(t0)X(0) +(t)Z tt0

    1(s)F (s)ds (2.4.9)

    2.5. Sistema dos por dos

    Un sistema 2x2 8>>>>>:dx

    dt= f(t; x; y); x(t0) = x0

    dy

    dt= g(t; x; y); y(t0) = y0

    o en forma matricial

    X 0(t) = AX(t) + F (t); X(t0) = X(0); t 2 [a; b]: (2.5.1)

    Sean 1; K1 y 2; K2 los valores y vectores propios de A, las soluciones fundamentales

    X(1) = K1e1t y X(2) = K2e2t:

    La matriz fundamental (t) = [X(1) X(2)].

    1. Ecuacin Homognea.

    X 0 = AX; (1)

    La solucin de (1) como combinacin de las soluciones fundamentales

    Xh(t) = c1X(1) + c2X

    (2):

    Como los vectores X(1) y X(2) son linealmente independientes, existe 1(t).

    La solucin homognea se expresa como

    Xh(t) = (t)C

    donde C =

    c1

    c2

    !.

    24

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    2. Ecuacin no homognea. Mtodo Variacin de parmetros.

    X 0 = AX + F; (2)

    Suponemos que la solucin no homognea tiene la forma

    Xp(t) = (t)U(t) (2.5.2)

    por determinar el vector U(t), donde

    U 0 = 1F (t)) U(t) =Z

    1(t)F (t)dt

    La solucin particular,

    Xp(t) = (t)

    Z1(t)F (t)dt (2.5.3)

    3. La solucin general del sistema

    X(t) = Xh(t) +Xp(t) = (t)C +(t)

    Z1(t)F (t)dt (2.5.4)

    4. Problema de valores iniciales. Cuando t = t0; X(t0) = X(0), en

    X(t) = (t)C +(t)

    Z tt0

    1(s)F (s)ds (2.5.5)

    X(t0) = X(0) = (t0)C ) C = 1(t0)X(0); pues

    Z t0t0

    1F (s)ds = 0

    Finalmente la solucin particular,

    X(t) = (t)1(t0)X(0) +(t)Z tt0

    1(s)F (s)ds (2.5.6)

    En Matlab.

    Ejemplo 2.3. Resuelva el problema de valores iniciales

    X 0(t) =

    3 11 3

    !X +

    4e2t

    4e4t

    !; X(0) =

    1

    1

    !Solucin. Expresado en forma matricial.

    X 0(t) = AX(t) + F (t); X(0) =

    1

    1

    !donde

    A =

    3 11 3

    !; F (t) =

    4e2t

    4e4t

    !En Matlab, previamente syms t. Luego, 1 F y U = R 1 F , etc.

    25

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    1. Solucin al sistema homogneo. Los valores y vectores propios de A en Matlab con

    [V,D]=eig(A),

    se obtienen 1 = 2; 2 = 4 y los vectores propios asociados

    K1 =

    1

    1

    !y K2 =

    11

    !

    Las soluciones fundamentales X(1) = K1e2t; X(2) = K2e4t y la solucin homognea

    Xh = c1K1e2t + c2K2e

    4t:

    2. Formamos la matriz fundamental U(t),

    (t) =

    e2t e4te2t e4t

    !

    Luego, determinamos el vector

    U(t) = 1 F =

    2 + 2e2t

    2 2e2t

    !

    De (2.4.7), la solucin no homognea

    Xp = U

    3. Condiciones iniciales. Matriz fundamental evaluada en t = 0,

    (0) =

    1 11 1

    !

    4. La solucin usando la ecuacin (2.4.9)

    X(t) =

    e2t(2t 1)(1 e2t)e2t(2t+ 1)(1 + e2t)

    !, x(t) = e

    2t(2t 1)(1 e2t)y(t) = e2t(2t+ 1)(1 + e2t)

    La funcin pretty(A(t)*B(t)) en Matlab nos da una versin simplicada.

    Ejemplo 2.4. Halle la solucin del siguiente pvi.

    X 0(t) =

    1 23 4

    !X +

    3

    3

    !; X(0) =

    45

    !

    Solucin

    26

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    1. Solucin homognea. Valores propios y vectores propios de A =

    1 23 4

    !;

    1 = 1; 2 = 2; K1 =

    11

    !; K2 =

    23

    !Las soluciones fundamentales

    X(1) = K1et =

    11

    !et; X(2) = K2e

    2t =

    2

    3

    !e2t

    La solucin homognea

    Xh(t) = c1X(1) + c2X

    (2)

    es la solucin homognea.

    Matriz fundamental

    (t) =

    et 2e2tet 3e2t

    !La solucin homognea

    Xh(t) = (t)C; C =

    c1

    c2

    !

    2. Solucin no homognea. Como j(t)j = e3t

    1(t) =

    3et 2et

    e2t e2t

    !

    El producto

    1(t) F (t) =

    15et

    6e2t

    !Integrando

    U(t) =

    Z1(t) F (t)dt =

    15et

    3e2t

    !La solucin no homognea

    Xp(t) = (t) U(t) = 96

    !

    3. La solucin X(t) = Xh(t) +Xp(t)

    En resumen, las operaciones en Matlab para hallar la solucin de sistemas de ecuaciones diferen-

    ciales de primer orden, en particular 2 2.

    27

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    1. syms t, %Matemtica simblica

    2. Ingresar las matrices y vectores A, C y F.

    3. [V,D]=eig(A), valores y vectores propios

    >> format rational,

    4. Phi, matriz fundamental

    >> Xh=Phi*C, solucin homognea

    >> det(Phi), matriz no singular

    >> inv(Phi)*F, para hallar U(t)

    >> Up=inv(Phi)*F;

    >> U=int(Up,t);

    >> Xp=Phi*U, solucin no homogenea

    X=Xh+Xp

    Mtodos Numricos para sistemas

    Un sistema de dos ecuaciones diferenciales de primer orden con dos variables con condiciones

    iniciales (2.5.1), se pueden resolver numricamente. Nos restringimos a los mtodos de Euler,

    Runge-Kutta para sistemas de orden 2 y de orden 4.

    Mtodo de Euler para sistemas

    Si el intervalo [a; b] se divide en M sub-intervalos, cada uno de longitud h = baM , las ecuaciones

    en diferencias del Mtodo de Euler para sistemas de ecuaciones diferenciales 2 2 son:

    tk+1 = tk + h;

    xk+1 = xk + hf(tk; xk; yk);

    yk+1 = yk + hg(tk; xk; yk); k = 0; 1; ;M 1

    Expresado en forma vectorial

    X(k+1) = X(k) + hF (t;X); X =

    "x

    y

    #; F =

    "f

    g

    #:

    function E=eulerm(F,a,b,Za,M)

    %Datos: f(x,y) funcin, ya condicin iniciales

    %Resultados: R = [T Z]

    h=(b-a)/M;

    T=zeros(1,M+1);

    28

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    Y=zeros(1,M+1);

    T=a:h:b;

    Z(1,:)=Za;

    for j=1:M

    Z(j+1,:)=Z(j,:)+h*feval(F,T(j),Z(j,:));

    end

    E=[T Z];

    end

    Runge-Kutta 2 para sistemas rks2

    Las ecuaciones en diferencias 8>>>>>:xn+1 = xn +

    1

    2(k1 + k2)

    yn+1 = yn +1

    2(G1 +G2)

    (2.5.7)

    Previamente se calculan los valores de ki y Gi para i = 1; 2.

    k1 = hf (tn; xn; yn), G1 = hg (tn; xn; yn)

    k2 = hf (tn+1; xn + k1; yn +G1), G2 = hg (tn+1; xn + k1; yn +G1)

    function R=rks2(F,a,b,Za,M)

    %Datos: F funcin vectorial X=F(t,X),

    % - Z=[x1(a)...xn(a)] es la condicin inicial

    % Resultados

    % - T es el vector de los nodos

    % - Z=[x1(t)...xn(t)]; donde xk(t) es la aproximacin a la k-sima

    h=(b-a)/M;

    T=zeros(1,M+1);

    Z=zeros(M+1,length(Za));

    T=a:h:b;

    Z(1,:)=Za;

    for j=1:M

    k1=h*feval(F,T(j),Z(j,:));

    k2=h*feval(F,T(j)+h/2,Z(j,:)+k1/2);

    Z(j+1,:)=Z(j,:)+(k1+k2)/2;

    end

    R=[T Z];

    29

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    Runge Kutta 4 para sistemas rks4

    Las ecuaciones en diferencias

    8>>>>>:xn+1 = xn +

    h

    6(k1 + 2k2 + 2k3 + k4)

    yn+1 = yn +h

    6(G1 + 2G2 + 2G3 +G4)

    (2.5.8)

    Previamente se calculan los valores de ki y Gi para i = 1; 2; 3; 4.

    k1 = f(tn; xn; yn), G1 = g(tn; xn; yn)

    k2 = f(tn +h

    2; xn +

    h

    2k1; yn +

    h

    2G1), G2 = g(tn +

    h

    2; xn +

    h

    2k1; yn +

    h

    2G1)

    k3 = f(tn +h

    2; xn +

    h

    2k2; yn +

    h

    2G2), G3 = g(tn +

    h

    2; xn +

    h

    2k2; yn +

    h

    2G2)

    k4 = f (tn + h; xn + hk3; yn + hG3), G4 = g (tn + h; xn + hk3; yn + hG3)

    function R=rks4(F,a,b,Za,M)

    %Datos: F funcin vectorial X=F(t,X),

    % - Z=[x1(a)...xn(a)] es la condicin inicial

    % Resultados

    % - T es el vector de los nodos

    % - Z=[x1(t)...xn(t)]; donde xk(t) es la aproximacin a la k-sima

    h=(b-a)/M;

    T=zeros(1,M+1);

    Z=zeros(M+1,length(Za));

    T=a:h:b;

    Z(1,:)=Za;

    for j=1:M

    k1=h*feval(F,T(j),Z(j,:));

    k2=h*feval(F,T(j)+h/2,Z(j,:)+k1/2);

    k3=h*feval(F,T(j)+h/2,Z(j,:)+k2/2);

    k4=h*feval(F,T(j)+h,Z(j,:)+k3);

    Z(j+1,:)=Z(j,:)+(k1+2*k2+2*k3+k4)/6;

    end

    R=[T Z];

    30

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    2.6. Ecuaciones diferenciales de orden superior

    Con t como variable independiente y y como variable dependiente

    y000 = f(t; y; y0; y00) (2.6.1)

    mediante el cambio de variable

    u1 = y

    u2 = y0

    u3 = y00

    se puede convertir la ecuacin (2.6.1) como el sistema de primer orden 2 2,8>>>>>>>>>>>>>>>>>:

    du1dt

    = u2

    du2dt

    = u3

    du3dt

    = f(t; u1; u2; u3)

    (2.6.2)

    Falta resolver edo no lineales

    2.7. Problemas Resueltos

    Ejemplo 2.5. Sea el problema de valores iniciales(x00 + x = 4et; t 2 [0; ]x(0) = 4; x0(0) = 3

    Solucin analtica. La solucin x(t) y la velocidad y = x0(t),

    x(t) = 2 cos t 5 sen t+ 2et

    y(t) = 2 sen t 5 cos t+ 2et

    Expresamos la ecuacin diferencial como un sistema dos por dos de primer orden.8>>>>>:dx

    dt= y; t 2 [0; ]

    x(0) = 4dy

    dt= 4et x; y (0) = 3

    (2.7.1)

    Solucin numrica. Mtodo de Runge-Kutta para sistemas de orden 4.

    31

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    1. Archivo para el sistema de ecuaciones diferenciales 2 2:

    function W=Fs2(t,Z)

    x=Z(1);y=Z(2);W=[y,-x+4*exp(t)];

    2. En la ventana de comandos de MATLAB, la condicin inicial Za = [4;3].

    3. Resultados con rks4(Fs2,0,pi,Za,40)

    La matriz de los resultados en tres columnas, para t, para x y para y = x0.

    4. Con plot(R(:,1),R(:,2)), se obtiene el grco de los valores aproximados a x(t).

    5. Grca de la solucin. Guardamos con

    function y=sFs2(t)

    y=2*cos(t)-5*sin(t)+2*exp(t);

    En la ventana de comandos

    t=0:0.1:pi; y=sFs2(t); hold on, plot(t,y)

    6. Con funciones annimas y ode45 de Matlab, que trabaja con vectores columna para el

    sistema como para las condiciones iniciales

    %Uso de ode45-Matlab en la edo: x+x=4e^t, 0

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    A =

    1 23 4

    !) 1 = 1; 2 = 2; K1 =

    11

    !; K2 =

    2

    3

    !Las soluciones fundamentales

    X(1) = K1et

    etet

    !; X(2) = K2e

    2t =

    2e2t

    3e2t

    !

    Matriz fundamental

    (t) =

    et 2e2tet 3e2t

    !La solucin homognea

    Xh(t) = c1X(1) + c2X

    (2) = (t)C; C =

    c1

    c2

    !

    2. Solucin no homognea. Suponemos Xp(t) = (t)U(t)

    1(t) =

    3et 2et

    e2t e2t

    !) 1(t) F (t) =

    15et

    6e2t

    !Integrando

    U(t) =

    Z1(t) F (t)dt =

    15et

    3e2t

    !La solucin no homognea

    Xp(t) = (t) U(t) = 96

    !

    3. La solucin

    X(t) = Xh(t) +Xp(t) = (t) =

    et 2e2tet 3e2t

    ! c1

    c2

    !+

    96

    !

    4. Las condiciones iniciales

    X(0) = (0)C +Xp(0)

    Ejemplo 2.7. Sea el sistema

    dx

    dt= 2x+ 3y + 2; t 2 [0; 1]

    x(0) = fdy

    dt= 2x+ y 3; y (0) = f

    (2.7.2)

    33

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    1. Halle la solucin.

    2. Aproxime a la solucin por el Runge-Kutta para sistemas de orden 4, para M = 8.

    3. Compare los grcos de la solucin analtica con el aproximado.

    Ejemplo 2.8. Dada la siguiente ecuacin diferencial

    2x00(t) 5x0(t) 3x(t) = 45e2t

    x(0) = 2; x0(0) = 1

    t 2 [0; 2]

    1. Halle la solucin.

    2. Aproxime a la solucin por el Runge-Kutta para sistemas de orden 4, para M = 8.

    3. Compare los grcos de la solucin analtica con el aproximado.

    34

  • Captulo 3

    Problemas de Contorno

    3.1. Conceptos Bsicos

    En un problema de valores iniciales, las constantes que resultan de integrar las ecuaciones dife-

    renciales se determinan con las condiciones iniciales. En un problema de contorno esos valores se

    especican en los puntos extremos o frontera de un sistema. Un problema de contorno consiste

    de una ecuacin diferencial ordinaria de segundo orden con condiciones de contorno

    x00(t) = f(t; x; x0); a t bx(a) = ; x(b) = :

    (3.1.1)

    Suponemos que x(t) es la solucin.

    Teorema 3.1 (Problema de contorno). Supongamos que f(t; x; y) es una funcin continua

    en la regin

    R = f(t; x; y) : a t b;1 < x

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    3. Condiciones de frontera mixtas

    x0(a) + c1x(a) = ; x0(b) + c2x(b) = ;

    cuando se combina las dos anteriores.

    Mostraremos como se obtiene una aproximacin numrica a la solucin en Matlab, usando los

    mtodos de disparo lineal, diferencias nitas y Rayleigh-Ritz.

    3.2. Mtodo de disparo

    El mtodo del disparo combina un mtodo de problema de valores iniciales con un mtodos para

    encontrar un cero de una funcin. La eleccin de estos mtodos debe reejar la naturaleza del

    problema por resolver.

    3.2.1. Disparo lineal

    Si en la ecuacin (3.1.1), f(t; x; y) = p(t)x0 + q(t)x + r(t) es lineal en x y en y = x0 se tiene el

    problema de frontera lineal(x00(t) = p(t)x0 + q(t)x+ r(t); a t bx(a) = ; x(b) = ;

    (3.2.1)

    El trmino disparo lineal se debe a la estructura lineal de f en el problema de contorno (3.2.1) y

    a la bsqueda de la solucin mediante varias aproximaciones, hasta encontrar una muy cerca de

    la solucin. La combinacin de las soluciones de estos problemas de valores iniciales es la solucin

    del problema de contorno (3.2.1).

    El mtodo de disparo descompone al problema (3.2.1) en dos problemas de valores iniciales

    equivalentes.

    Problema 1: Primer disparo(u00(t) = p(t)u0 + q(t)u+ r(t); a t bu(a) = ; u0(a) = 0;

    (3.2.2)

    Suponemos que u(t) es la solucin de (3.2.2).

    Problema 2: Segundo disparo(v00(t) = p(t)v0 + q(t)v; a t bv(a) = 0; v0(a) = 1;

    (3.2.3)

    Sea v(t) la solucin de (3.2.3). Segundo disparo.

    36

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    El mtodo que se usar para aproximar las soluciones u(t) y v(t) ser el mtodo de Runge Kutta

    4 para sistemas.

    La solucin de (3.2.1) est dada por x(t) = u(t) + Cv(t) donde C = u(b)v(b)

    se halla de las

    condiciones de frontera. A la constante se denomina correcin del ngulo de disparo.

    Si v(b) 6= 0 entonces la solucin de (3.2.1) est dada por

    x(t) = u(t) +

    u(b)v(b)

    v(t): (3.2.4)

    Resolver el problema de frontera (3.2.1) equivale a resolver los problemas (3.2.2) y (3.2.3).

    Cada uno de los problemas se debe convertir a un sistema de ecuaciones diferenciales 2x2 de

    primer orden, luego, usando el mtodo de Runge-Kutta 4 para sistemas aproximar a la solucin

    de (3.2.1), x(t) con las soluciones u(t) y v(t).

    Programa del mtodo de Disparo Lineal

    function L=linsht(F1,F2,a,b,alpha,beta,M)

    %Resolucin del Problema 1 como sistema F1

    Za=[alpha,0];

    A=rks4M(F1,a,b,Za,M);%A=[T Z]; en rks4M y Z=[x,y] vector 2 componentes.

    U=A(:,2);

    %Resolucin del Problema 2 como sistema F2

    Za=[0,1];

    A=rks4M(F2,a,b,Za,M);

    V=A(:,2);

    %Clculo de la solucin del problema de contorno

    X=U+(beta-U(M+1))*V/V(M+1);

    T=A(:,1);

    L=[T U V X];

    La matriz de los resultados L = [T U V X] que brinda el disparo lneal tiene 4 columnas: T son los

    nodos en [a; b], U son las aproximaciones a la solucin del problema 1, V son las aproximaciones

    a la solucin del problema 2 y X son las aproximaciones a la solucin del problema principal

    (3.2.1).

    Los problemas (3.2.2) y (3.2.3) tambin pueden resolverse por otros mtodos incluyendo a los

    implementados en Matlab como ode45(F1,[a:h:b],[alfa,0]).

    La grca de las aproximaciones (tk; xk) a la solucin de (3.2.1), se obtienen considerando la

    primera columna versus la cuarta columna, es decir, plot(L(:,1),L(:,4)).

    37

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    Ejemplo 3.1. Usando el mtodo de disparo lineal, resuelva el problemas de valores en la frontera8>>>>:x0 = y; 0 t 4y0 =

    2t

    1 + t2y 2

    1 + t2x+ 1;

    x(0) = 1;25; x(4) = 0;95;(3.2.6)

    2. Los problemas de valores iniciales equivalentes como sistemas F1 y F2.

    F1 8>>>>>:x0 = y

    y0(t) =2t

    1 + t2y 2

    1 + t2x+ 1; 0 t 4

    x(0) = 1;25; y(0) = 0;

    (3.2.7)

    F2 8>>>>>:x0 = y

    y0(t) =2t

    1 + t2y 2

    1 + t2x; 0 t 4

    x(0) = 0; y(0) = 1;

    (3.2.8)

    3. Guardamos en archivos m tanto F1 como F2.

    function Z=F1(t,Z)

    x=Z(1);y=Z(2);Z=[y,-2*x/(1+t^2)+2*t*y/(1+t^2)+1];

    function Z=F2(t,Z)

    x=Z(1);y=Z(2);Z=[y,-2*x/(1+t^2)+2*t*y/(1+t^2)];

    4. Aproximaciones aplicando el mtodo de disparo lineal.

    L=linsht(F1,F2,0,4,1.25,-0.95,8)

    L =

    0 1.2500 0 1.2500

    0.5000 1.0673 0.5000 1.3069

    1.0000 0.5715 1.0000 1.0509

    ....................................

    3.5000 -2.7097 3.5000 -1.0320

    4.0000 -2.8674 4.0000 -0.9500

    38

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    5. Grca de las aproximaciones mediante,

    plot(L(:,1),L(:,4))

    3.2.2. Disparos no lineales

    Sea el problema de valores en la frontera,

    x00(t) = f(t; x; x0); a t bx(a) = ; x(b) = :

    x = x(t); solucin

    (3.2.9)

    donde f es no lineal en x y x0.

    Para aproximar a la solucin x(t) se necesitan las soluciones de una sucesin de problemas de

    valores iniciales que contenga un parmetro r

    x00(t) = f(t; x; x0); a t bx(a) = ; x0(a) = r:

    x = x(t; r); solucin

    (3.2.10)

    Cada ecuacin de (3.2.10) genera un rk.

    El objetivo de la sucesin frkg es que cuando t = b entonces

    lmk!1

    x(b; rk) = x(b) = :

    Como x(t; r) es solucin de (3.2.10) entonces en t = b se debera cumplir x(b; r) = .

    Formamos la ecuacin no lineal F (r) = x(b; r) = 0. Los elementos rk de la sucesin frkgdeben ser muy cercanos a r tal que jx(b; rk) j < tol.Determinaremos los elementos de la sucesin frkg por el mtodo de la secante o por el deNewton-Raphson para ecuaciones no lineales.

    1. Mtodo de la secante. Se necesitan dos puntos de inicio, r0; r1. La ecuacin de iteracin

    del mtodo de la secante

    rk = rk1 x(b; rk1) x(b; rk1) x(b; rk2)(rk1 rk2); k = 2; 3;

    Los clculos para hallar un rk tal que jx(b; rk) j < tol. Se har uso de las funcionesode45, incorporado en Matlab para resolver los problemas de valores iniciales.

    Programa del disparo no lineal con mtodo de secante

    39

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    function [t,x,r,iter,inc]=dispse(f,a,b,alfa,beta,n,M,tol)

    % n nmero de subinter divide [a,b],M num.mximo iterac

    h=(b-a)/n; r1=0;

    [t,x]=ode45(f,a:h:b,[alfa,r1]); %x matriz de dos columnas

    xb1=x(n+1,1);

    r2=1;

    [t,x]=ode45(f,a:h:b,[alfa,r2]);

    xb2=x(n+1,1);

    inc=abs(xb2-beta);iter=0;%mide la cercana de x(b,rk) con beta

    while inc>tol & iter

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    Ejemplo 3.2 (Disparo no lineal con mtodo de la secante). Sea el problema de

    frontera no linealt3x00(t) = (x tx0)2; 1 t 2x(1) = 0; x(2) = 2:

    (3.2.12)

    Halle una aproximacin a la solucin usando el mtodo de disparo no lineal.

    Solucin. Sucesin de problemas de valores iniciales dependientes del parmetro r

    x00(t) = 1t3(x tx0)2; 1 t 2

    x(1) = 0; x0(1) = r:(3.2.13)

    Cada ecuacin de (3.2.13) genera un rk muy cercanos a r tal que

    jx(b; rk) j = jx(2; rk) 2j < tol

    Expresamos la ecuacin (3.2.13) como un sistema 2 2 de primer orden

    x0 = y

    y0 = 1t3(x ty)2; 1 t 2

    x(1) = 0; y(1) = r:

    (3.2.14)

    El archivo de extensin m para el sistema (3.2.14) como funcin vectorial columna

    function F=PF2(x,u)

    F=zeros(2,1);

    F(1)=u(2);

    F(2)=(1/x^3)*(u(1)-x*u(2))^2;

    Aproximamos el problema no lineal con n = 10 subintervalos, M = 100 nmero mximo

    de iteraciones y tolerancia = 107,

    [t,x,r,iter,inc]=dispse(PF2,1,2,0,2,10,100,1e-7)

    Matlab nos brinda los resultados r = 1;2642; iter = 6; inc = 3;7630e 011 y la matriz deresultados con [t x],

    1.0000 0 1.2642

    1.1000 0.1343 1.4206

    1.2000 0.2839 1.5714

    ..........................

    1.9000 1.7355 2.5721

    2.0000 2.0000 2.7183

    41

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    3.3. Mtodo de Diferencias Finitas

    3.3.1. Algoritmo de Thomas para sistemas tridiagonales

    Sea el sistema AX = b donde A es una matriz tridiagonal n n con A = [cda], es decir,c = diag(A;1); d = diag(A); a = diag(A; 1); a(n) = 0; c(1) = 0.

    function x=Thomas(a,d,c,b)

    n=length(d);

    a(1)=a(1)/d(1); b(1)=b(1)/d(1);

    for i=2:n-1

    denom=d(i)-c(i)*a(i-1);

    if(denom==0),error(cero en el denominador), end

    a(i)=a(i)/denom;

    b(i)=(b(i)-c(i)*b(i-1))/denom;

    end

    b(n)=(b(n)-c(n)*b(n-1))/(d(n)-c(n)*a(n-1));

    x(n)=b(n);

    for i=n-1:-1:1

    x(i)=b(i)-a(i)*x(i+1);

    end

    Ejemplo 3.3. Sea el sistema

    2x1 + 2x2 = 4

    2x1 + 4x2 + 4x3 = 6

    x2 + 3x3 + 3x4 = 7

    2x3 + 5x4 = 10

    Solucin. Ingresamos en WC los vectores diagonales de la matriz de los coecientes A, mediante

    d = diag(A); a = diag(A; 1); c = diag(A;1) y el vector de los trminos independientes b.d=[2 4 3 5];

    a=[2 4 3 0];

    c=[0 2 1 2];

    b=[4 6 7 10];

    Luego, la solucin del sistema tridiagonal AX = b con

    >> x=Thomas(a,d,c,b)

    x =[1 1 0 2]

    42

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    3.3.2. Diferencias Finitas lineales

    (x00(t) = p(t)x0 + q(t)x+ r(t); a t bx(a) = ; x(b) = :

    (3.3.1)

    Ahora exponemos un mtodo completamente diferente. Se basa en la discretizacin de la ecuacin

    diferencial y la de su dominio.

    Aproximacin numrica de las derivadas de x = x(t),

    x0(tj) = x(tj+1) x(tj1)2h

    y x00(tj) = x(tj+1) 2x(tj) + x(tj1)h2

    :

    La particin del intervalo [a; b] en N sub-intervalos, cada uno de longitud h = baN , los nodos

    tj = a+ jh; j = 0; 1; ; N .Cuando reemplazamos las aproximaciones de las derivadas en la ecuacin (3.3.1), con la nota-

    cin pj = p(tj); qj = q(tj); rj = r(tj) se genera la ecuacin en diferencias,

    xj+1 2xj + xj1h2

    = p(tj)

    xj+1 xj1

    2h

    + q(tj)xj + r(tj);

    j = 1; 2; ; N 1;

    de donde h2pj 1

    xj1 +

    2 + h2qj

    xj +

    h

    2pj 1

    xj+1 = h2rj ; (3.3.2)

    j = 1; 2; ; N 1;

    El sistema (3.3.2), es un sistema de ecuaciones lineales tridiagonal (N 1) (N 1).Los resultados que se obtienen para cada longitud de paso de la discretizacin h, es un conjunto

    de puntos (tj ; xj) aproximados a la solucin de (3.3.1) x(tj), es decir, xj x(tj).Programa en Matlab

    function F=diffin(p,q,r,a,b,alpha,beta,N)

    %Datos: p, q, y r son funciones coeficientes

    %Result: F=[T X]

    %Inicializacin de vectores y de h

    T=zeros(1,N+1);

    X=zeros(1,N-1);

    Va=zeros(1,N-2);

    Vb=zeros(1,N-1);

    Vc=zeros(1,N-2);

    43

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    Vd=zeros(1,N-1);

    h=(b-a)/N;

    %Clculo de B en AX=B

    Vt=a+h:h:a+h*(N-1);

    Vb=-h^2*feval(r,Vt);

    Vb(1)=Vb(1)+(1+h/2*feval(p,Vt(1)))*alpha;

    Vb(N-1)=Vb(N-1)+(1-h/2*feval(p,Vt(N-1)))*beta;

    %Clculo de A in AX=B

    Vd=2+h^2*feval(q,Vt);

    %Calculate the super diagonal of A in AX=B

    Vta=Vt(1,2:N-1);

    Va=-1-h/2*feval(p,Vta);

    %Calculate the sub diagonal of A in AX=B

    Vtc=Vt(1,1:N-2);

    Vc=-1+h/2*feval(p,Vtc);

    %Solve AX=B using trisys

    X=trisys(Va,Vd,Vc,Vb);%A,D,C,B

    T=[a,Vt,b];

    X=[alpha,X,beta];

    F=[T X];

    Ejemplo 3.4. Sea el problema de contorno

    ((1 + x2)y00(x) + 2xy0 = x3; 0 x 4y(0) = 0; y(4) = 0;

    (3.3.3)

    1. Halle la solucin del problema (3.3.3).

    2. Usando el mtodo de diferencias nitas, halle una aproximacin a la solucin, h = 0;25.

    3. Compare grcamente la solucin con la aproximacin.

    Solucin

    44

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    1. Solucin analtica. Integrando la ecuacin diferencial

    (1 + x2)y00(x) + 2xy0 = x3

    d

    dx

    (1 + x2)y0

    =

    d

    dx

    x4

    4

    (1 + x2)y0 =

    1

    4x4 + c1

    y0 =x4

    1 + x2+

    c11 + x2

    y =x3

    12 x

    4+ c1 arctanx+ c2

    De las condiciones de frontera

    c1 = 133 arctan 4

    ; c2 = 0) y = x3

    12 x

    4 13

    3 arctan 4arctanx:

    Esta solucin guardamos para la parte (3) como

    function y=se(x)

    y=x.^3/12-x/4-13/(3*atan(4))*atan(x);

    2. Mtodo de diferencias nitas. Redenimos el problema de frontera

    y00(x) = 2xy0

    1 + x2+

    x3

    1 + x2: (3.3.4)

    Sean los archivos

    function y=pe(x)

    y=-2*x./(1+x.^2);

    function y=qe(x)

    y=0*x;

    function y=re(x)

    y=x.^3./(1+x.^2);

    En la ventana de comandos con F=din(pe,qe,re,0,4,0,0,8), se obtiene los resultados

    F =

    0 0

    0.5000 -1.6679

    1.0000 -2.7590

    45

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    ................

    3.5000 -1.5221

    4.0000 0

    3. Comparacin de Las grcas de la solucin y de la aproximacin

    x=0:0.1:4;

    >> y=se(x);

    >> plot(x,y)

    >> hold on

    >> plot(F(:,1),F(:,2),or)

    Ejemplo 3.5. Resuelva la ecuacin diferencial con condiciones de contorno8

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    3.3.3. Diferencias nitas no lineales

    Sea el problema de frontera (y00(x) = f(x; y; y0); a x by(a) = ; y(b) = ;

    (3.3.5)

    Similar que en el caso lineal para aproximar a la solucin por diferencias nitas no lineal, se

    deben discretizar la ecuacin diferencial y las condiciones de frontera, si es necesario.

    Dividiendo [a; b] en n+ 1 subintervalos con los n+ 2 puntos

    a = x0 < x1 < < xn < xn+1 = b

    Aproximacin de las derivadas

    y0(xi) =y(xi+1) y(xi1)

    2h

    y00(xi) =y(xi+1) 2y(xi) + y(xi1)

    h2

    Reemplazando las derivadas en (3.3.5),

    y(xi+1) 2y(xi) + y(xi1)h2

    = f

    xi; y(xi);

    y(xi+1) y(xi1)2h

    Sean yi = y(xi); i = 2; 3; ; n con y0 = y(x0) = y yn+1 = y(xn+1) = .Si

    zi =y(xi+1) y(xi1)

    2h;8i = 2; ; n

    entonces el sistema tridiagonal no lineal

    f1 = 2y1 y2 + h2f(x1; y1; z1) = 0f2 = y1 + 2y2 y3 + h2f(x2; y2; z2) = 0 =

    fn1 = yn2 + 2yn1 yn + h2f(xn1; yn1; zn1) = 0fn = yn1 + 2yn + h2f(x1; y1; z1) = 0;

    expresado como funcin vecorial F (X) = 0. Usaremos el mtodo de Newton. El jacobiano del

    sistema

    JF =

    2666666664

    2 + h2fy 1 + h2fy2 0 0 01 + h2fy1 2 + h2fy2 1 0 0

    ......

    ......

    ...

    0 0 0 1 + h2fyn2 00 0 0 0 2 + h2fyn

    377777777547

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    Evaluando JF y F se tiene el sistema JFv = F donde v es el vector de las variables. Por el

    mtodo de Crout para hallar v y luego,

    y(k) = y(k1) + v

    Programa del mtodo de Diferencias Finitas no lineales

    function [Y,X,iter,inc]=difnolin(f,p,q,a,b,alfa,beta,n,Max,tol)

    h=(b-a)/n;X=a:h:b;

    k=(beta-alfa)/n;Y=alfa:k:beta;

    x=X(2:n);y=Y(2:n);

    inc=tol+1;iter=0;

    while inc>inc & iter

  • Mtodo de Rayleigh-Ritz

    3.4. Mtodo de Rayleigh-Ritz

    Sea el problema de frontera8>: d

    dx

    p(x)

    dy

    dx

    + q(x)y(x) = f(x); x 2 [0; 1]

    y(0) = 0; y(1) = 0:

    (3.4.1)

    Suponemos que la solucin de (3.7.1) es y(x).

    Teorema 3.2. Supongamos que p(x) 2 C1[0; 1]; f(x) 2 C[0; 1] tal que p(x) > 0, q(x) 0.La funcin y(x) 2 C2[0; 1] es la nica solucin de (3.7.1) si y solo si, es la nica funcin queminimiza el funcional

    I[u] =

    Z 10

    p(x)(u0(x))2 + q(x)(u(x))2 2f(x)u(x) dx (3.4.2)

    Un conjunto de funciones f1(x); ; n(x)g, denominadas funciones bse, minimiza a I.Estas funciones i tienen las siguientes caractersticas: son de clase C2[0; 1], linealmente inde-

    pendientes en [0; 1] y satisfacen las condiciones de frontera en cada nodo, i(0) = i(1) = 0; 8i =1; 2; ; n. La combinacin lineal de estas funciones, expresado como

    (x) =

    nXi=1

    cii(x)

    es una aproximacin a la solucin de (3.7.1), y(x).

    Determinacin de las constantes ci. Reemplazando (x) en I[u],

    I

    "nXi=1

    cii(x)

    #=

    Z 10

    24p(x) nXi=1

    ci0i(x)

    !2+ q(x)

    nXi=1

    cii(x)

    !2 2f(x)

    nXi=1

    cii(x)

    !35 dxI(c1; ; cn) depende de las constantes ci. Para mnimizar I, @I

    @cj= 0.

    49

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    nXi=1

    Z 10

    p(x)0i(x)

    0j(x) + q(x)i(x)j(x)

    dx

    ci

    Z 10f(x)j(x)dx = 0

    para j = 1; 2; ; n.Equivale

    nXi=1

    Z 10

    p(x)0i(x)

    0j(x) + q(x)i(x)j(x)

    dx

    ci =

    Z 10f(x)j(x)dx

    si denominamos

    ai;j =

    Z 10

    p(x)0i(x)

    0j(x) + q(x)i(x)j(x)

    dx (3.4.3)

    bj =

    Z 10f(x)j(x)dx (3.4.4)

    se forma el sistema AC = b, donde la matriz A = [ai;j ] es simtrica, tridiagonal y denida

    positiva; u es el vector de las constantes y b = [bj ].

    Ahora, vamos a formar el sistema Au = b. Para ello,

    1. Dividir [0; 1] en n + 1 subintervalos, con nodos 0 = x0 < x1 < < xn < xn+1 = 1. Lalongitud de cada subintervalo hi = xi+1 xi; i = 0; 1; ; n.

    2. Denir las funciones base que pueden ser lineales o no lineales. En este caso, son lineales

    i en [xi1; xi+1] y sus derivadas

    i(x) =

    8>>>>>>>>>>>>>>>>>:

    x xi1hi1

    ; xi1 x xi

    xi+1 xhi

    ; xi x xi+1

    0; otros subint.

    ) 0i(x) =

    8>>>>>>>>>>>>>>>>>:

    1

    hi1; xi1 x xi

    1hi; xi x xi+1

    0; otros subint.

    3. Resolver el sistema tridiagonal Au = b por el mtodo de Thomas. Como i y 0i son distintos

    de cero solo en el intervalo ]xi1; xi+1[, entonces

    i(x)j(x) 0 y 0i(x)0j(x) 0

    excepto cuando j = i 1; i; i + 1. En consecuencia, el sistema lineal Au = b se reduce aun sistema tridiagonal. Los elementos de la matriz A ubicados en la diagonal

    50

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    aii =

    Z 10

    p(x)0i(x)

    0j(x) + q(x)i(x)j(x)

    dx

    =1

    h2i1

    Z xixi1

    p(x)dx+1

    h2i

    Z xx+1xi

    p(x)dx+1

    h2i1

    Z xixi1

    (x xi1)2q(x)dx+

    +1

    h2i

    Z xi+1xi

    (xi+1 x)2q(x)dx; i = 1; 2; ; n:

    en la superdiagonal

    ai;i+1 =

    Z 10

    p(x)0i(x)

    0i+1(x) + q(x)i(x)i+1(x)

    dx

    = 1h2i

    Z xi+1xi

    p(x)dx+1

    h2i

    Z xx+1xi

    (xi+1 x)(x xi)q(x)dx; i = 1; 2; ; n 1:

    y en la subdiagonal para i = 1; 2; ; n:

    ai;i1 =Z 10

    p(x)0i(x)

    0i1(x) + q(x)i(x)i1(x)

    dx

    = 1h2i1

    Z xixi1

    p(x)dx+1

    h2i1

    Z xixi1

    (xi x)(x xi1)q(x)dx; (3.4.5)

    As como los elementos de b

    bi =

    Z 10f(x)i(x)dx

    =1

    hi1

    Z xixi1

    (x xi1)f(x)dx+ 1hi

    Z xi+1xi

    (xi+1 x)f(x)dx; (3.4.6)

    Finalmente, resolvemos el sistema Au = b con el mtodo de Thomas.

    4. Programa del mtodo de Rayleigh-Ritz lineal. En base a las ecuaciones (3.7.5) y

    (3.7.6). Requiere archivos para las funciones p(x), q(x) y f(x).

    function [x,u]=raritz(p,q,f,n)

    x=linspace(0,1,n+2);

    h=x(2)-x(1);

    %Los elementos de la diagonal de A=[da,d,dc]

    d=1/(2*h)*(feval(p,x(1:n))+2*feval(p,x(2:n+1))+feval(p,x(3:n+2)))+...

    h/12*(feval(q,x(1:n))+ 6*feval(q,x(2:n+1))+feval(q,x(3:n+2)));

    %Las otras diagonales da y dc en A=[da,d,dc]

    dac=-1/(2*h)*(feval(p,x(2:n))+feval(p,x(3:n+1)))+...

    h/12*(feval(q,x(2:n))+ 6*feval(q,x(3:n+1)));

    51

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    da=[dac 0];

    dc=[0 dac];

    %Vector b en Au=b

    b=h/6*(feval(f,x(1:n))+4*feval(f,x(2:n+1))+feval(f,x(3:n+2)));

    %Mtodo de Thomas para sistemas tridiagonales

    u=Thomas(da,d,dc,b);

    u=[0 u 0];

    Ejemplo 3.7. Dado un problema de frontera8>>>>>: ddx

    (p(x)y0) + q(x)y(x) = f(x); x 2 [0; 1]y(0) = 0; y(1) = 0;

    p(x) = 1; q(x) = 4; f(x) = xex(3.4.7)

    Resolveremos por el mtodo de Rayleigh-Ritz, este problema lineal. Archivos de extensin m

    function y=pe(x)

    y=1+0.*x;

    function y=qe(x)

    y=4+0*x;

    function y=Fe(x)

    y=exp(-x).*x;

    La matriz u de aproximacin y su grca aproximada

    [x,u]=raritz(pe,qe,Fe,8)

    plot(x,u)

    Solucin. Adecuando a Matlab.

    y=dsolve(D2y=4*y-x*exp(-x),y(0)=0,y(1)=0,x)

    y = e2x(2e2 + e1)9(e2 e2) +

    e2x(2e2 + e1)9(e2 e2) +

    (3x 2)ex9

    Ejercicio 3.1. Dado un problema de frontera8>>>>>: ddx

    (p(x)y0) + q(x)y(x) = f(x); x 2 [0; 1]y(0) = 0; y(1) = 0;

    p(x) = x2 + 1; q(x) = 4x+1 ; f(x) = x3 24x

    (3.4.8)

    Resolver segn el mtodo indicado.

    52

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    1. Disparo lineal.

    2. Diferncias nitas

    3. Raylegih-Ritz

    Halle la grca en cada caso.

    Observacin 3.4.1. Dos transformaciones puntuales.

    1. La funcin lineal

    : [c; d] ! [a; b];t 7! x = (t);

    denida por

    (t) =c dd ct+

    ad bcd c

    transforma el intervalo [c; d] en [a; b].

    Por ejemplo, en integrales denidasZ dcf(t)dt!

    Z baf(x)dx

    La inversa, t = 1(x), transforma [a; b] en [c; d].

    til en problemas de frontera que se requiera convertir de [a; b] en [0; 1].

    2. El cambio de variable z = yx(1x), transforma los valores en las fronteras y(0) = y y(1) = en z(0) = 0 y z(1) = 0. Vea el problema 3.7.9, pgina 67.

    Ejemplo 3.8. Dado un problema de frontera

    8

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    Solucin. De z = y x (1 x) se tienen z0 = y0 + ; z00 = y00. Reemplazando en(3.7.9)

    ddx

    p(x)(z0 + )+ q(x)(z + x+ (1 x)) = f(x)

    ddx

    p(x)z0

    + q(x)z = H(x);

    f(x) + p0( ) q(x)(x+ (1 x)) = H(x)

    3.4.1. Caso lineal

    Si en el problema de frontera (3.7.1), p(x) = 1; q(x) = 0, se tiene(u00(x) = f(x); x 2 [0; 1]

    u(0) = 0; u(1) = 0:(3.4.11)

    Suponemos que la solucin de (3.7.11) es u(x). La funcin

    (x) =

    nXi=1

    cii(x)

    es una aproximacin a la solucin de (3.7.11), u(x).

    Se tienen las ecuacionesnXi=1

    Z 100i(x)

    0j(x)dx

    ci =

    Z 10f(x)j(x)dx; j = 1; 2; ; n

    Si denominamos

    ai;j =

    Z 100i(x)

    0j(x)dx; y bj =

    Z 10f(x)j(x)dx

    se forma el sistema AC = b, donde la matriz A = [ai;j ] es simtrica, tridiagonal y denida

    positiva; C es el vector de las constantes y b = [bj ]. Construir el sistema AC = b.

    1. Dividimos [0; 1] en n+ 1 subintervalos, con nodos 0 = x0 < x1 < < xn < xn+1 = 1. Lalongitud de cada subintervalo hi = xi+1 xi; i = 0; 1; ; n.

    2. Si todos los subintervalos tienen la misma longitud h, son equivalentes

    i(x) =

    8>>>>>>>>>>>>>>>>>:

    x xi1hi1

    ; xi1 x xi

    xi+1 xhi

    ; xi x xi+1

    0; otros subint.

    i(x) =

    8>>>>>:1 jx xij

    h; xi1 x xi+1

    0; otros subint.

    54

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    3. Los elementos de la matriz tridiagonal A,

    ai;i =1

    hi1+

    1

    hi

    y en la superdiagonal

    ai;i+1 = 1h1

    As como los elementos de b

    bj =

    Z xi+1xi1

    1 jx xij

    h

    f(x)dx

    Resolveremos el sistema AC = b con el mtodo de Thomas.

    Ejemplo 3.9. Sea el problema de valores en la frontera(u00 = sen(x2); x 2 [0; 1]

    u(0) = 0; u(1) = 0:(3.4.12)

    Halle la solucin, usando el mtodo de Rayleigh-Ritz, con n = 50. Explique el procedimiento.

    Solucin. Como n = 50) h = 1n+ 1

    =1

    51.

    Los elementos de la matriz A tridiagonal, de tamao 50 50,

    ai;j =1

    hi1+

    1

    hi= 2(51); ai;i+1 = 1

    h1= 51

    A = 51

    0BBBBBBBB@

    2 1 0 1 2 1 00 1 2 1

    0. . . 11 2

    1CCCCCCCCALos elementos del vector b,

    bi =

    Z xi+1xi1

    (1 51jx xij) sen(x2)dx

    guardamos en archivos de extensin m,

    function y=fr11(x)

    global xi;

    y=(1-51*abs((xi-x))).*sin(x.^2);

    Dividimos el intervalo [0; 1] en 52 nodos, mediante

    55

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    >>global xi;

    for i=1:52

    x(i)=(i-1)/51;

    end

    Calculamos los bi,

    >>for i=2:51

    xi=(i);

    b(i)=quadl(fr1,x(i-1),x(i+1));

    end

    Calculamos los ai;j ,

    >>d=2*ones(50,1)*51;

    da=-1*ones(50,1)*51;da(51)=0;

    dc=-1*ones(50,1)*51;dc(1)=0;

    Resolvemos el sistema AC = b con el algoritmo de Thomas

    >>c=Thomas(da,d,dc,b(2:51));

    La grca de las aproximaciones, gura (3.3),

    >>c=[0 c 0]; plot(x,c,b-o)

    Ejemplo 3.10. Sea el problema de frontera(u00 + 6u = e10x cos(2x); x 2 [0; 1]

    u(0) = 0; u(1) = 0:(3.4.13)

    1. Halle la solucin.

    2. Mtodo de Rayleigh-Ritz con n = 500. Caso lineal.

    3. Mtodo de Rayleigh-Ritz con n = 500. Caso no lineal.

    4. Compare la solucin con las aproximaciones.

    56

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    0 0.2 0.4 0.6 0.8 10

    0.01

    0.02

    0.03

    0.04

    0.05

    0.06

    0.07

    0.08

    x

    yProblema de frontera no lineal. Mtodo de RayleighRitz

    Figura 3.1: Mtodo de Rayleigh-Ritz

    Solucin

    1. La solucin con Matlab.

    ys=dsolve(-D2y+6*y=exp(10*t)*cos(12*t),y(0)=0,y(1)=0);

    Para evaluar ys en los nodos de la discretizacin de [0; 1] la funcin subs convierte de su

    forma simblica a punto otante. Matlab considera como variable independiente a t.

    t=linspace(0,1,502);

    >> ys=subs(ys,t);

    >> plot(t,ys,r)

    >> hold on

    2. Mtodo de Rayleigh-Ritz con n = 500) h = 1n+ 1

    =1

    501. Dividimos [0; 1] en 502 nodos.

    Archivos del PVF para

    bi =

    Z xi+1xi1

    f(x)i(x)dx =

    Z xi+1xi1

    (1 501jxi xj)e10x cos(12x)dx

    57

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    function y=frr1(x)

    global xi;

    y=(1-501*abs((xi-x))).*exp(10*x).*cos(12*x);

    Para los trminos que aparecen en los ai;i

    (x xi1)2q(x); (x xi+1)2q(x); (xi+1 x)(x xi)q(x)

    function y=frr2(x)

    global xim;

    y=(x-xim).^2*6;

    function y=frr3(x)

    global xip;

    y=(x-xip).^2*6;

    function y=frr4(x)

    global xi xip;

    y=(xip-x).*(x-xi)*6;

    En la ventana de comandos, los coecientes del sistema AC = b

    >> x=linspace(0,1,502);h=1/501;global xi xim xip;

    for i=2:501

    xi=x(i);xim=x(i-1);xip=x(i+1);

    b(i)=quadl(frr1,xim,xip); %vector b en AC=b

    d(i)=2/h+1/h^2*quadl(frr2,xim,xi)...

    +1/h^2*quadl(frr3,xi,xip);%d=diag(A)

    da(i)=-1/h+1/h^2*quad(frr4,xi,xip);%da=diag(A,1)

    end

    % Condiciones de los coef, dc=diag(A,-1)

    >> dc(3:501)=da(2:500);

    >> dc(2)=0;da(501)=0;

    Solucion del sistema AC=b con el mtodo de Thomas

    >> cl=Thomas(da(2:501),d(2:501),dc(2:501),b(2:501));

    cl=[0 cl 0];

    Grca de las aproximaciones con plot(x,cl,linewidth,2) En la gura 3.4, estn la

    grca de las aproximaciones. Segn la leyenda, la de color azul es de la aproximacin.

    58

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    0 0.2 0.4 0.6 0.8 140

    35

    30

    25

    20

    15

    10

    5

    0

    5

    x

    yProblema de valores en la frontera

    SolucinAproximacin

    Figura 3.2: Mtodo de Rayleigh-Ritz

    3. Falta. Tarea

    4. En la grca 3.4, se compara la solucin con las aproximaciones lineales.

    3.4.2. Caso no lineal

    FALTA con B splines. Tarea

    3.5. Problemas Resueltos

    Problema 3.1. Dado el siguiente problema de contorno(x00(t) = 2x0(t) x(t) + t2; t 2 [0; 1]

    x(0) = 5; x(1) = 10:(3.5.1)

    1. Halle la solucin del problema.

    2. Calcule las soluciones aproximadas mediante Disparo lineal.

    3. Calcule las soluciones aproximadas mediante Diferencias nitas.

    Solucin

    59

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    1. La solucin homognea

    r2 2r + 1 = 0) xh(t) = c1et + c2tet

    La solucin no homognea por el mtodo de coecientes indeterminados

    xp(t) = At2 +Bt+ C ) xp(t) = t2 + 4t+ 6

    Por lo tanto, la solucin general

    x(t) = xh(t) + xp(t) = c1et + c2te

    t + t2 + 4t+ 6

    El valor de las constantes con las condiciones de frontera

    x(0) = 5) c1 = 1; x(1) = 10) c2 = 1 e1

    Por lo tanto, la solucin

    x(t) = xh(t) + xp(t) = et + (1 e1)tet + t2 + 4t+ 6

    2. La grca de la solucin. Un archivo para la solucin

    function y=Fs(t)

    y=-exp(t)+(1-exp(-1))*t.*exp(t)+t.^2+4*t+6;

    En Command Window

    >> t=0:0.1:1;

    >> y=Fs(t);

    >> plot(t,y,r)

    >> hold on %con disparo lineal

    plot(L(:,1),L(:,2),o)

    3. Mtodo numricos

    a) Construir los dos problemas de valores iniciales equivalentes

    P1 :

    (u00 = 2u0 u+ t2; t 2 [0; 1]

    u(0) = 5; u0(0) = 0(3.5.2)

    y

    P2 :

    (v00 = 2v0 v; t 2 [0; 1]v(0) = 0; v0(1) = 1

    (3.5.3)

    60

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    b) Sistemas de ecuaciones diferenciales 2x2 de los problemas P1 y P2.

    P1 :

    (x0 = y; t 2 [0; 1]y0 = x+ 2y + t2; x(0) = 5; y(0) = 0

    (3.5.4)

    y

    P2 :

    (x0 = y; t 2 [0; 1]y0 = 2y x; x(0) = 0; y(0) = 1

    (3.5.5)

    c) Para las aproximaciones a la solucin con Matlab. Se requiere tres archivos de exten-

    sin para guardar los sistemas

    function W=F1(t,Z)

    x=Z(1); y=Z(2);

    W=[y, -x+2*y+t^2];

    function W=F2(t,Z)

    x=Z(1); y=Z(2);

    W=[y, -x+2*y];

    d) Mtodo del disparo lineal. Identicamos las variables de entrada, a=0, b=1, alp-

    ha=5, beta=10, M=8, puede variar M,

    L=linsht(F1,F2,0,1,5,10,8)

    Grfica de las aproximaciones con disparo lineal

    plot(L(:,1),L(:,2),o)

    4. Mtodo de Diferencias nitas y su grca de las aproximaciones

    %Archivos de extensin m

    function y =p(t)

    y=2+0*t;

    function y =q(t)

    y=-1+0*t;

    function y =r(t)

    y=t.^2;

    %El programa del mtodo de diferencias finitas

    F=findiff(p,q,r,0,1,5,10,8)

    %La grfica de las aproximaciones

    plot(F(:,1),F(:,2),+).

    61

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    Problema 3.2. Dado el siguiente problema de contorno

    x00 = 2x0 2x+ et + sin(2t) t 2 [0; 4];x(0) = 0;6; x(4) = 0;1

    1. Demuestre que la solucin del problema de frontera es

    x(t) =1

    5+ et 1

    5et cos(t) 2

    5cos2(t)3;67et sin(t) 1

    5cos(t) sin(t)

    2. Resuelva el problema de frontera con diferencias nitas.

    3.6. Problemas propuestos

    Problemas de frontera para en el caso lineal

    1. x2y00 xy0 = 3x3; y(1) = 2; y(2) = 9; x 2 [1; 2]; n = 4.

    2. x2y00 + xy0 y = x2; y(1) = 1;333; y0(3) = 3; x 2 [1; 3]; n = 6.

    3. x2y00 2y = 0; y(1) 2y0(1) = 0; y(2) = 4;5; x 2 [1; 2]; n = 5.

    Para el caso no lineal

    1. y00 = 2(y + x)(y0 + 1); y(1) = 0; y(2) = 2; x 2 [1; 2]; n = 8.

    2. (1 + x2)y00 = 4xy0 6y; y(0) = 1; y(1) = 4=3; x 2 [0; 1]; n = 10.

    3. y00 = x(y0)3; y(0) = 0; y(1) = =2; x 2 [0; 1]; n = 10.

    Faltan problemas de frontera con condiciones de Dirichlet, de Newman y mixtas, tanto lineales

    como no lineales

    62

  • Mtodo de Rayleigh-Ritz

    3.7. Mtodo de Rayleigh-Ritz

    Sea el problema de frontera8>: d

    dx

    p(x)

    dy

    dx

    + q(x)y(x) = f(x); x 2 [0; 1]

    y(0) = 0; y(1) = 0:

    (3.7.1)

    Suponemos que la solucin de (3.7.1) es y(x).

    Teorema 3.3. Supongamos que p(x) 2 C1[0; 1]; f(x) 2 C[0; 1] tal que p(x) > 0, q(x) 0.La funcin y(x) 2 C2[0; 1] es la nica solucin de (3.7.1) si y solo si, es la nica funcin queminimiza el funcional

    I[u] =

    Z 10

    p(x)(u0(x))2 + q(x)(u(x))2 2f(x)u(x) dx (3.7.2)

    Un conjunto de funciones f1(x); ; n(x)g, denominadas funciones bse, minimiza a I.Estas funciones i tienen las siguientes caractersticas: son de clase C2[0; 1], linealmente inde-

    pendientes en [0; 1] y satisfacen las condiciones de frontera en cada nodo, i(0) = i(1) = 0; 8i =1; 2; ; n. La combinacin lineal de estas funciones, expresado como

    (x) =

    nXi=1

    cii(x)

    es una aproximacin a la solucin de (3.7.1), y(x).

    Determinacin de las constantes ci. Reemplazando (x) en I[u],

    I

    "nXi=1

    cii(x)

    #=

    Z 10

    24p(x) nXi=1

    ci0i(x)

    !2+ q(x)

    nXi=1

    cii(x)

    !2 2f(x)

    nXi=1

    cii(x)

    !35 dxI(c1; ; cn) depende de las constantes ci. Para mnimizar I, @I

    @cj= 0.

    63

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    nXi=1

    Z 10

    p(x)0i(x)

    0j(x) + q(x)i(x)j(x)

    dx

    ci

    Z 10f(x)j(x)dx = 0

    para j = 1; 2; ; n.Equivale

    nXi=1

    Z 10

    p(x)0i(x)

    0j(x) + q(x)i(x)j(x)

    dx

    ci =

    Z 10f(x)j(x)dx

    si denominamos

    ai;j =

    Z 10

    p(x)0i(x)

    0j(x) + q(x)i(x)j(x)

    dx (3.7.3)

    bj =

    Z 10f(x)j(x)dx (3.7.4)

    se forma el sistema AC = b, donde la matriz A = [ai;j ] es simtrica, tridiagonal y denida

    positiva; u es el vector de las constantes y b = [bj ].

    Ahora, vamos a formar el sistema Au = b. Para ello,

    1. Dividir [0; 1] en n + 1 subintervalos, con nodos 0 = x0 < x1 < < xn < xn+1 = 1. Lalongitud de cada subintervalo hi = xi+1 xi; i = 0; 1; ; n.

    2. Denir las funciones base que pueden ser lineales o no lineales. En este caso, son lineales

    i en [xi1; xi+1] y sus derivadas

    i(x) =

    8>>>>>>>>>>>>>>>>>:

    x xi1hi1

    ; xi1 x xi

    xi+1 xhi

    ; xi x xi+1

    0; otros subint.

    ) 0i(x) =

    8>>>>>>>>>>>>>>>>>:

    1

    hi1; xi1 x xi

    1hi; xi x xi+1

    0; otros subint.

    3. Resolver el sistema tridiagonal Au = b por el mtodo de Thomas. Como i y 0i son distintos

    de cero solo en el intervalo ]xi1; xi+1[, entonces

    i(x)j(x) 0 y 0i(x)0j(x) 0

    excepto cuando j = i 1; i; i + 1. En consecuencia, el sistema lineal Au = b se reduce aun sistema tridiagonal. Los elementos de la matriz A ubicados en la diagonal

    64

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    aii =

    Z 10

    p(x)0i(x)

    0j(x) + q(x)i(x)j(x)

    dx

    =1

    h2i1

    Z xixi1

    p(x)dx+1

    h2i

    Z xx+1xi

    p(x)dx+1

    h2i1

    Z xixi1

    (x xi1)2q(x)dx+

    +1

    h2i

    Z xi+1xi

    (xi+1 x)2q(x)dx; i = 1; 2; ; n:

    en la superdiagonal

    ai;i+1 =

    Z 10

    p(x)0i(x)

    0i+1(x) + q(x)i(x)i+1(x)

    dx

    = 1h2i

    Z xi+1xi

    p(x)dx+1

    h2i

    Z xx+1xi

    (xi+1 x)(x xi)q(x)dx; i = 1; 2; ; n 1:

    y en la subdiagonal para i = 1; 2; ; n:

    ai;i1 =Z 10

    p(x)0i(x)

    0i1(x) + q(x)i(x)i1(x)

    dx

    = 1h2i1

    Z xixi1

    p(x)dx+1

    h2i1

    Z xixi1

    (xi x)(x xi1)q(x)dx; (3.7.5)

    As como los elementos de b

    bi =

    Z 10f(x)i(x)dx

    =1

    hi1

    Z xixi1

    (x xi1)f(x)dx+ 1hi

    Z xi+1xi

    (xi+1 x)f(x)dx; (3.7.6)

    Finalmente, resolvemos el sistema Au = b con el mtodo de Thomas.

    4. Programa del mtodo de Rayleigh-Ritz lineal. En base a las ecuaciones (3.7.5) y

    (3.7.6). Requiere archivos para las funciones p(x), q(x) y f(x).

    function [x,u]=raritz(p,q,f,n)

    x=linspace(0,1,n+2);

    h=x(2)-x(1);

    %Los elementos de la diagonal de A=[da,d,dc]

    d=1/(2*h)*(feval(p,x(1:n))+2*feval(p,x(2:n+1))+feval(p,x(3:n+2)))+...

    h/12*(feval(q,x(1:n))+ 6*feval(q,x(2:n+1))+feval(q,x(3:n+2)));

    %Las otras diagonales da y dc en A=[da,d,dc]

    dac=-1/(2*h)*(feval(p,x(2:n))+feval(p,x(3:n+1)))+...

    h/12*(feval(q,x(2:n))+ 6*feval(q,x(3:n+1)));

    65

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    da=[dac 0];

    dc=[0 dac];

    %Vector b en Au=b

    b=h/6*(feval(f,x(1:n))+4*feval(f,x(2:n+1))+feval(f,x(3:n+2)));

    %Mtodo de Thomas para sistemas tridiagonales

    u=Thomas(da,d,dc,b);

    u=[0 u 0];

    Ejemplo 3.11. Dado un problema de frontera8>>>>>: ddx

    (p(x)y0) + q(x)y(x) = f(x); x 2 [0; 1]y(0) = 0; y(1) = 0;

    p(x) = 1; q(x) = 4; f(x) = xex(3.7.7)

    Resolveremos por el mtodo de Rayleigh-Ritz, este problema lineal. Archivos de extensin m

    function y=pe(x)

    y=1+0.*x;

    function y=qe(x)

    y=4+0*x;

    function y=Fe(x)

    y=exp(-x).*x;

    La matriz u de aproximacin y su grca aproximada

    [x,u]=raritz(pe,qe,Fe,8)

    plot(x,u)

    Solucin. Adecuando a Matlab.

    y=dsolve(D2y=4*y-x*exp(-x),y(0)=0,y(1)=0,x)

    y = e2x(2e2 + e1)9(e2 e2) +

    e2x(2e2 + e1)9(e2 e2) +

    (3x 2)ex9

    Ejercicio 3.2. Dado un problema de frontera8>>>>>: ddx

    (p(x)y0) + q(x)y(x) = f(x); x 2 [0; 1]y(0) = 0; y(1) = 0;

    p(x) = x2 + 1; q(x) = 4x+1 ; f(x) = x3 24x

    (3.7.8)

    Resolver segn el mtodo indicado.

    66

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    1. Disparo lineal.

    2. Diferncias nitas

    3. Raylegih-Ritz

    Halle la grca en cada caso.

    Observacin 3.7.1. Dos transformaciones puntuales.

    1. La funcin lineal

    : [c; d] ! [a; b];t 7! x = (t);

    denida por

    (t) =c dd ct+

    ad bcd c

    transforma el intervalo [c; d] en [a; b].

    Por ejemplo, en integrales denidasZ dcf(t)dt!

    Z baf(x)dx

    La inversa, t = 1(x), transforma [a; b] en [c; d].

    til en problemas de frontera que se requiera convertir de [a; b] en [0; 1].

    2. El cambio de variable z = yx(1x), transforma los valores en las fronteras y(0) = y y(1) = en z(0) = 0 y z(1) = 0. Vea el problema 3.7.9, pgina 67.

    Ejemplo 3.12. Dado un problema de frontera

    8

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    Solucin. De z = y x (1 x) se tienen z0 = y0 + ; z00 = y00. Reemplazando en(3.7.9)

    ddx

    p(x)(z0 + )+ q(x)(z + x+ (1 x)) = f(x)

    ddx

    p(x)z0

    + q(x)z = H(x);

    f(x) + p0( ) q(x)(x+ (1 x)) = H(x)

    3.7.1. Caso lineal

    Si en el problema de frontera (3.7.1), p(x) = 1; q(x) = 0, se tiene(u00(x) = f(x); x 2 [0; 1]

    u(0) = 0; u(1) = 0:(3.7.11)

    Suponemos que la solucin de (3.7.11) es u(x). La funcin

    (x) =

    nXi=1

    cii(x)

    es una aproximacin a la solucin de (3.7.11), u(x).

    Se tienen las ecuacionesnXi=1

    Z 100i(x)

    0j(x)dx

    ci =

    Z 10f(x)j(x)dx; j = 1; 2; ; n

    Si denominamos

    ai;j =

    Z 100i(x)

    0j(x)dx; y bj =

    Z 10f(x)j(x)dx

    se forma el sistema AC = b, donde la matriz A = [ai;j ] es simtrica, tridiagonal y denida

    positiva; C es el vector de las constantes y b = [bj ]. Construir el sistema AC = b.

    1. Dividimos [0; 1] en n+ 1 subintervalos, con nodos 0 = x0 < x1 < < xn < xn+1 = 1. Lalongitud de cada subintervalo hi = xi+1 xi; i = 0; 1; ; n.

    2. Si todos los subintervalos tienen la misma longitud h, son equivalentes

    i(x) =

    8>>>>>>>>>>>>>>>>>:

    x xi1hi1

    ; xi1 x xi

    xi+1 xhi

    ; xi x xi+1

    0; otros subint.

    i(x) =

    8>>>>>:1 jx xij

    h; xi1 x xi+1

    0; otros subint.

    68

  • EDO Roy Snchez G.EDO Roy Snchez G.EDO Roy Snchez G.

    3. Los elementos de la matriz tridiagonal A,

    ai;i =1

    hi1+

    1

    hi

    y en la superdiagonal

    ai;i+1 = 1h1

    As como los elementos de b

    bj =

    Z xi+1xi1

    1 jx xij

    h

    f(x)dx

    Resolveremos el sistema AC = b con el mtodo de Thomas.

    Ejemplo 3.13. Sea el problema de valores en la frontera(u00 = sen(x2); x 2 [0; 1]

    u(0) = 0; u(1) = 0:(3.7.12)

    Halle la solucin, usando el mtodo de Rayleigh-Ritz, con n = 50. Explique el procedimiento.

    Solucin. Como n = 50) h = 1n+ 1

    =1

    51.

    Los elementos de la matriz A tridiagonal, de tamao 50 50,

    ai;j =1

    hi1+

    1

    hi= 2(51); ai;i+1 = 1

    h1= 51

    A = 51

    0BBBBBBBB@

    2 1 0 1 2 1 00 1 2 1

    0. . . 11 2

    1CCCCCCCCALos e