You are on page 1of 77

ndice general

1. Ecuaciones Diferenciales Ordinarias

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

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

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

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

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

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

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

Captulo 1

Ecuaciones Diferenciales Ordinarias


Las ecuaciones diferenciales representan una herramienta muy valiosa e insustituible para entender 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 independiente x con la funcin incgnita y = f (x) y con sus derivadas y , y , y (n) , es decir, una
ecuacin de la forma
F (x, y, y , y (n) ) = 0.
3

(1.0.1)

EDO

Roy Snchez G.

Una ecuacin diferencial de primer orden dependiente del tiempo


x = f (t, x)

(1.0.2)

sirve de modelo matemtico a muchos fenmenos fsicos donde el tiempo es la variable independx
diente. En algunos casos se denotar como x =
.
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 (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 ). Un
problema de valores iniciales (pvi), consiste de una ecuacin diferencial y una condicin inicial.
{
y = f (x, y), (x, y) R
(1.1.1)
y(x0 ) = y0 , (x0 , y0 ) R
Una solucin del problema de valor inicial (1.1.1) es una funcin derivable y = y(x) tal que
y(x0 ) = y0 ,

y (x) = f (x, y(x)), x [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) denida
en 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
2
= f (t, y) = tet 2ty
dt
Solucin. La solucin por el mtodo de factor integrante, es una funcin diferenciable que
depende de t y de una constante C,
t2

y(t, C) = e

]
t2
+C .
2

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.

%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)),
y = f (t, y) = tet 2ty,
2

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],
t2

y(t, C) = e

]
t2
+C .
2

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


y(2) = 0,1 = e4 [2 + c] C =

1 4
e 2 = 3,4598
10

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


t2

y(t) = e

]
t2
+ 3,4598 ,
2

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.

1.2.

Campo de direcciones

Sea un problema de valor inicial


{

y = f (t, y),
y(t0 ) = y0 ,

t [a, b]
y [c, d]

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

y (t) = f (t, y(t)), t [a, b].

Asumiremos que los problemas de valor inicial que vamos a considerar tienen solucin nica en
cada punto (t, y) del rectngulo R = {(t, y) : a t b, c y b}, por lo tanto, la pendiente de
la 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 , asigna
a cada punto x R un vector F (x) R con origen en el punto x. La grca de un campo
vectorial 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
y =

ty
2

(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 +. Las
condiciones 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.

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
Campo de direcciones
6

1
1

Figura 1.1: y = (t y)/2


Cuando t 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

1.3.

Roy Snchez G.

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) que
satisface
|f (t, x1 ) f (t, x2 )| L|x1 x2 |
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 que
el problema de valor inicial

x = f (t, x), t [a, c]


x(a) = xa

tiene exactamente una solucin x(t).


Por otra parte, si f es continua de Lipschitz en [a, b]] , [, entonces existe exactamente
una solucin en [a, b].
|x(t) y(t)| eL(ta) |x(a) y(a)|
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
x = f (t, x)
con las condiciones iniciales x(a) e y(a), respectivamente entonces
|x(t) y(t)| eL(ta) |x(a) y(a)|.
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.

1.4.

Mtodos Numricos

Dado el problema de valores iniciales


{

y = f (t, y),

t [a, b]

(1.4.1)

y(t0 ) = y0

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 =
tk+1 = tk + h para k = 0, 1, 2, , M 1.

ba
, generando los nodos
M

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) C N +1 [t0 , b] y que y(t) tiene el
desarrollo de Taylor de orden N alrededor de un punto t = tk [a, b] dado por
y(tk + h) = y(tk ) + h

y (j) (tk )

j!

j=1

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 respecto
al tiempo t.
El error
E=

hN +1 (N +1)
y
(), [a, b]
(N + 1)!
9

EDO

Roy Snchez G.

Si usamos la aproximacin
y N +1 (x) =

[
]
y (N ) (x + h) y (N ) (x)
hN
E=
y (N ) ( + h) y (N ) (x)
h
(N + 1)!

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


1. Para j = 1, y (t) = f .
2. Para j = 2, y (t) = ft + fy f
3. Para j = 3, y (t) = ftt + 2fty f + fyy f 2 + fy (ft + fy f ).
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


{

y = f (t, y),

t [a, b]

y(t0 ) = y0
Suponemos que la solucin de la ecuacin es (t),

t [a, b].

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


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.3)

ba
.
M

(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 ,

k = 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.

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

1 + t5
y =
, y(1) = 2,
1 + y2

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 clculos
de los yk = y(tk ) en la ecuacin (1.4.4)
y0 = y(t0 ) = y(1) = 2
y1 = y0 + hf (t0 , y0 )

1 + 15
= 2 + 0,5
= 2,1414
1 + 22
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.
...............
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 y , y , y , 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


{

y = f (t, y), t [a, b]


y(t0 ) = y0 ,

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


(
)

i
f (x + h, y + k) =
h
+k
f (x, y)
i!
x
y

(1.5.1)

(1.5.2)

i=0

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.

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
1
yk+1 = yk + [K1 + K2 ] , donde
2
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
{
y = arctan(et ), t [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

2.1500

0.0962

...

...

4.8500

3.7699

5.0000

3.9748
13

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 =


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 ),
1
yk+1 = yk + [K1 + K2 ]
2
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
y = 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

ba
.
M

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,
1
yk+1 = yk + (K1 + 2K2 + 2K3 + K4 )
6
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.
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
y = cos(et cos(t)),

y(0) = 0,

0t6

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
y = cos(et cos(t)),

y(0) = 0,

0t6

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 transferencia 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 termodinmica 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.

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 circundante. Esto es:
dT (t)
= k[T (t) a] ,
(1.7.1)
dt
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
100o C descender hasta hasta los 25o C si la temperatura en el local es de 20o C y durante
los primeros 10 minutos el cuerpo se enfri hasta los 60 C.
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 +?
4. Analice que pasa con las temperaturas de los cuerpos cuando t +. Todos los cuerpos
tienden al equilibrio trmico?
Solucin. La ecuacin diferencial es de variables separables
dT
= k(T a)
dt
1. La solucin general
T (t, C) = 40 + Ce0,1352t

(1.7.2)

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


T (t) = 40 + 160e0,1352t
Para efectuar aproximaciones, guardamos con fedoP(t,T) la ecuacin
T (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.
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 40 F . 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. y = x2 + y 2 ,

y(0) = 1

2. y = (x y)2 ,
3. y = xy +

4. y = xy 2

y(0) = 0,5

y,

y(0) = 1

y
,
x

y(1) = 1

Algunos problemas de valores iniciales que no se pueden resolver analticamente y que aproximaremos su solucin mediante los mtodos numricos.
1. y =

1 + t5 ,

2. y = ecos(2 ) ,
t

y(0) = 2,
y(0) = 0,

3. y = arctan(et ),
4. y =

1
y3

0 t 10.
2 t 5.

y(2) = 4,

cos(et cos(t)),

2 t 10.

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.

2.2.

Solucin analtica usando matrices

Un sistema de ecuaciones diferenciales de primer orden1

dx1

= f1 (t, x1 , , xn )

f1 (t, X)

dt

..
..

X =
.
.

dxn

fn (t, X)

= fn (t, x1 , , xn )
dt

= F (t, X) = 0

(2.2.1)

expresado como una ecuacin diferencial en forma matricial


X (t) = AX(t) + F (t),
t [a, b], X = (x1 , , xn ) Rn , F (t) Rn

(2.2.2)

donde A es una matriz n n,

a11 (t) . . . a1n (t)

..
..
..

A = [aij (t)] =
.
.
.

an1 (t) . . . ann (t)


La condicin inicial

(2.2.3)

X(t0 ) = X (0)

(0)
x1
.
.
=
. .
(0)
xn

(2.2.4)

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


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

(2.2.5)

En caso contrario, F (t) = 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 =

a11 a12
a21 a22

)
X X = 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.
1

Ver ms detallado en captulo 8 de [14].

20

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) = K1 e1 t

y X (2) = K2 e2 t

La solucin homognea est dada por la combinacin lineal de estas soluciones fundamentales,
es decir,
Xh (t) = c1 X (1) (t) + c2 X (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 + P et

(2.3.4)

Ejemplo 2.1. Halle la solucin del siguiente sistema homogneo.


(
)
3 18

X (t) =
X
2 9

(2.3.5)

Solucin. De resolver |A I| = 0 se obtiene = 3. Uno de los vectores propios asociado


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

1/2

0
Las soluciones fundamentales
[ ]
[ ]
[
]
[
]
3
3
1/2
3t
+
0,5
X (1) =
e3t y X (2) =
te3t +
e3t = e3t
1
1
0
t
Por lo tanto, la solucin homognea
[
Xh (t) = c1 X (1) + c2 X (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.

Ejemplo 2.2.

(
X (t) =

6 1
5

Solucin. De resolver |A I| = 0 se obtiene 1 = 5 + 2i y 2 = 5 2i con i =

1. Los

valores propios asociados


[
K1 =

[
y K2 =

1 2i

1 + 2i

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


solucin X = K1 e1 t . Las soluciones fundamentales
X (1) = Re(X ) y X (2) = Im(X )
Por lo tanto, la solucin homognea es Xh (t) = c1 X (1) + c2 X (2) .

2.4.

Sistema no homogneo. Mtodo Variacin de Parmetros

Denicin 2.4.1 (Matriz fundamental). Si los vectores de n componentes X1 , X2 , , Xn


es un conjunto fundamental de soluciones del sistema homogneo X = 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 = c1 X1 + c2 X2 + + cn Xn o

x12
x1n
x11

x22
x2n
x21

X = c1 . + c2 . + + cn . = (t)C
..
..
..

xnn
xn2
xn1

(2.4.1)

donde C es el vector columna n 1 de las constantes.


Considerando el sistema (2.2.2)
X (t) = AX(t) + F (t), X(t0 ) = X (0) , t [a, b],
se toma en cuenta las soluciones fundamentales de la parte homognea,
X (1) = K1 e1 t

y X (2) = K2 e2 t , , X (n) = Kn en t .
22

(2.4.2)

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)
(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)

Xp = (t)U (t) + (t)U (t)

(2.4.5)

por determinar el vector U (t).


Derivando Xp se obtiene
Reemplazando (2.4.4) y (2.4.5) en (2.4.2) y como por (2.4.3) U = AU , se obtiene
(t)U (t) + (t)U (t) = A(t)U (t) + F (t)
Simplicando
(t)U (t) = F (t) U = 1 F (t)

Integrando
U (t) =

1 (s)F (s)ds

(2.4.6)

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

Xp (t) = (t) 1 (s)F (s)ds


La solucin general del sistema (2.4.2) ser

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


23

1 (s)F (s)ds

(2.4.7)

(2.4.8)

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

t0

1 F (s)ds = 0

t0

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


X(t) = (t)

(t0 )X

(0)

+ (t)

1 (s)F (s)ds

(2.4.9)

t0

2.5.

Sistema dos por dos

dx

= f (t, x, y), x(t0 ) = x0

dt

Un sistema 2x2

dy = g(t, x, y),
dt

y(t0 ) = y0

o en forma matricial
X (t) = AX(t) + F (t), X(t0 ) = X (0) , t [a, b].
Sean 1 , K1 y 2 , K2 los valores y vectores propios de A, las soluciones fundamentales
X (1) = K1 e1 t
La matriz fundamental (t) = [X (1)

y X (2) = K2 e2 t .

X (2) ].

1. Ecuacin Homognea.
X = AX,

(1)

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


Xh (t) = c1 X (1) + c2 X (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

(2.5.1)

EDO

Roy Snchez G.

2. Ecuacin no homognea. Mtodo Variacin de parmetros.


X = AX + F,

(2)

Suponemos que la solucin no homognea tiene la forma


(2.5.2)

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


por determinar el vector U (t), donde

U =

1 (t)F (t)dt

F (t) U (t) =

La solucin particular,
Xp (t) = (t)

1 (t)F (t)dt

3. La solucin general del sistema

(2.5.3)

1 (t)F (t)dt

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

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


t
X(t) = (t)C + (t)
1 (s)F (s)ds

(2.5.4)

(2.5.5)

t0

X(t0 ) = X

(0)

= (t0 )C C =

(t0 )X

(0)

t0

pues

1 F (s)ds = 0

t0

Finalmente la solucin particular,


X(t) = (t)

(t0 )X

(0)

+ (t)

1 (s)F (s)ds

t0

En Matlab.
Ejemplo 2.3. Resuelva el problema de valores iniciales
(
)
(
)
2t
3
1
4e
X (t) =
X+
,
1 3
4e4t
Solucin. Expresado en forma matricial.

(
A=

X(0) =

X (t) = AX(t) + F (t),


donde

X(0) =

(
,

F (t) =

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


25

1
4e2t

4e4t
1 F , etc.

1
1

(2.5.6)

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
( )
(
)
1
1
K1 =
y K2 =
1
1
Las soluciones fundamentales X (1) = K1 e2t , X (2) = K2 e4t y la solucin homognea
Xh = c1 K1 e2t + c2 K2 e4t .
2. Formamos la matriz fundamental U (t),
(
(t) =

e2t e4t
e2t

e4t

Luego, determinamos el vector


(
U (t) =

F =

2 + 2e2t

2 2e2t

De (2.4.7), la solucin no homognea


Xp = U
3. Condiciones iniciales. Matriz fundamental evaluada en t = 0,
(
)
1 1
(0) =
1 1
4. La solucin usando la ecuacin (2.4.9)
(
)
e2t (2t 1)(1 e2t )
x(t) = e2t (2t 1)(1 e2t )
X(t) =

e2t (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.
(
)
( )
1 2
3

X (t) =
X+
,
3
4
3
Solucin
26

(
X(0) =

4
5

EDO

Roy Snchez G.
(

1 2

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


(
1 = 1,

2 = 2,

K1 =

(
,

K2 =

3
2

)
,

Las soluciones fundamentales


(
X

(1)

= K1 e =

(
t

e,

(2)

2t

= K2 e =

2
3

)
e2t

La solucin homognea
Xh (t) = c1 X (1) + c2 X (2)
es la solucin homognea.
(

Matriz fundamental
(t) =

et

2e2t

et

3e2t

La solucin homognea

(
Xh (t) = (t)C,

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


(
1 (t) =

C=

El producto

(
1 (t) F (t) =

Integrando

e2t
15et

6e2t
(

U (t) =

c2

3et 2et
e2t

c1

(t) F (t)dt =

15et

3e2t

La solucin no homognea
(
Xp (t) = (t) U (t) =

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


En resumen, las operaciones en Matlab para hallar la solucin de sistemas de ecuaciones diferenciales de primer orden, en particular 2 2.
27

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 =

ba
M ,

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=

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

x
y

[
,F =

f
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

x
= xn + (k1 + k2 )

n+1
2

yn+1 = yn + 1 (G1 + G2 )
2
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

(2.5.7)

EDO

Roy Snchez G.

Runge Kutta 4 para sistemas rks4


Las ecuaciones en diferencias

xn+1 = xn + (k1 + 2k2 + 2k3 + k4 )

h
y
(G1 + 2G2 + 2G3 + G4 )
n+1 = yn +
6
Previamente se calculan los valores de ki y Gi para i = 1, 2, 3, 4.

k1 = f (tn , xn , yn ),
h
h
h
k2 = f (tn + , xn + k1 , yn + G1 ),
2
2
2
h
h
h
k3 = f (tn + , xn + k2 , yn + G2 ),
2
2
2
k4 = f (tn + h, xn + hk3 , yn + hG3 ),

G1 = g(tn , xn , yn )
h
h
h
G2 = g(tn + , xn + k1 , yn + G1 )
2
2
2
h
h
h
G3 = g(tn + , xn + k2 , yn + G2 )
2
2
2
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

(2.5.8)

EDO

2.6.

Roy Snchez G.

Ecuaciones diferenciales de orden superior

Con t como variable independiente y y como variable dependiente


y = f (t, y, y , y )

(2.6.1)

mediante el cambio de variable


u1 = y
u2 = y
u3 = y
se puede convertir la ecuacin (2.6.1) como el sistema de primer orden 2 2,
du
1

= u2

dt

du2
= u3

dt

du3 = f (t, u , u , u )
1 2 3
dt

(2.6.2)

Falta resolver edo no lineales

2.7.

Problemas Resueltos

Ejemplo 2.5. Sea el problema de valores iniciales


{
x + x = 4et , t [0, ]
x (0) = 3

x(0) = 4,

Solucin analtica. La solucin x(t) y la velocidad y = x (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.

dx

= y,
t [0, ]

dt
x(0) = 4

dy = 4et x,
dt

y (0) = 3

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


31

(2.7.1)

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 = x .
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<=t<=pi
edo2 = @(t,x) [x(2);-x(1)+4*exp(t)];
[t,x] = ode45(edo2,[0,pi],[4;-3]);
plot(t,x(:,1),o)

Ejemplo 2.6. Halle la solucin al problema de valores iniciales.


(

X (t) =

1 2
3

(
X+

3
3

(
,

X(0) =

4
5

Solucin
1. Solucin homognea. Valores propios y vectores propios de A con
A=[-1 -2;3 4]; [V,D]=eig(A);
32

EDO

Roy Snchez G.
(
A=

1 2
3

(
1 = 1,

Las soluciones fundamentales


X

(1)

(
t

= K1 e

et

2 = 2,

K1 =

(
,

Matriz fundamental
(t) =

(2)

= K2 e =

+ c2 X

3e2t

2e2t

et

3e2t
(

Xh (t) = c1 X

et

(2)

K2 =

2e2t

2t

La solucin homognea
(1)

(
,

et

= (t)C,

C=

c1

c2

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


(
)
(
)
3et 2et
15et
1
1
(t) =
(t) F (t) =
e2t e2t
6e2t
Integrando

U (t) =

15et

1 (t) F (t)dt =

La solucin no homognea

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

3. La solucin

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

3e2t

et

2e2t

et

3e2t

)(

c1
c2

(
+

4. Las condiciones iniciales

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


Ejemplo 2.7. Sea el sistema
dx
= 2x + 3y + 2,
dt

t [0, 1]
x(0) = f

dy
= 2x + y 3,
dt
33

y (0) = f

(2.7.2)

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


2x (t) 5x (t) 3x(t) = 45e2t
x(0) = 2,

x (0) = 1

t [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 diferenciales 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
x (t) = f (t, x, x ), a t b
x(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 = {(t, x, y) : a t b, < x < , < y < }
f
f
y
son continuas en R. Si fx existe y fx > 0 en R y fy es
x
y
acotada en R entonces el problema de contorno (3.4) tiene solucin nica x(t) en el intervalo
y que las derivadas parciales
[a, b].
Las condiciones de frontera son de tres tipos.
1. Se dice condiciones de frontera tipo Dirichlet cuando
x(a) = ,

x(b) =

2. Condiciones de frontera tipo Neuman cuando


x (a) = ,
35

x (b) =

EDO

Roy Snchez G.
3. Condiciones de frontera mixtas
x (a) + c1 x(a) = ,

x (b) + c2 x(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)x + q(t)x + r(t) es lineal en x y en y = x se tiene el


problema de frontera lineal
{
x (t) = p(t)x + q(t)x + r(t), a t b
x(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
{
u (t) = p(t)u + q(t)u + r(t), a t b
u (a) = 0,

u(a) = ,

(3.2.2)

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


Problema 2: Segundo disparo
{

v (t) = p(t)v + q(t)v, a t b


v (a) = 1,

v(a) = 0,
Sea v(t) la solucin de (3.2.3). Segundo disparo.
36

(3.2.3)

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.

u(b)
se halla de las
v(b)
condiciones de frontera. A la constante se denomina correcin del ngulo de disparo.

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


Si v(b) = 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.

Ejemplo 3.1. Usando el mtodo de disparo lineal, resuelva el problemas de valores en la frontera

x (t) = 2t x 2 x + 1, 0 t 4
1 + t2
1 + t2
(3.2.5)
x(0) = 1,25,
x(4) = 0,95,
Solucin. Las aproximaciones segn la secuencia.
1. Expresamos el problema de frontera (3.2.5) como un sistema de primer orden

0t4

x = y,

2
2t
y
x + 1,
y =

1 + t2
1 + t2

x(0) = 1,25,
x(4) = 0,95,

(3.2.6)

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

x = y

2t
2
y (t) =
y
x + 1, 0 t 4
2

1+t
1 + t2

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

F1

x = y

2t
2
y (t) =
y
x, 0 t 4
2

1+t
1 + t2

x(0) = 0,
y(0) = 1,

F2

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

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

(3.2.7)

(3.2.8)

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,


x (t) = f (t, x, x ), a t b
x(a) = ,

(3.2.9)

x(b) = .

x = x(t), solucin
donde f es no lineal en x y x .
Para aproximar a la solucin x(t) se necesitan las soluciones de una sucesin de problemas de
valores iniciales que contenga un parmetro r
x (t) = f (t, x, x ),

atb

x(a) = ,

x (a) = r.

(3.2.10)

x = x(t, r), solucin


Cada ecuacin de (3.2.10) genera un rk .
El objetivo de la sucesin {rk } es que cuando t = b entonces
lm 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 {rk }
deben ser muy cercanos a r tal que |x(b, rk ) | < tol.
Determinaremos los elementos de la sucesin {rk } por el mtodo de la secante o por el de
Newton-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 )
(rk1 rk2 ),
x(b, rk1 ) x(b, rk2 )

k = 2, 3,

Los clculos para hallar un rk tal que |x(b, rk ) | < tol. Se har uso de las funciones
ode45, incorporado en Matlab para resolver los problemas de valores iniciales.
Programa del disparo no lineal con mtodo de secante
39

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<M
r=r2-(r2-r1)/(xb2-xb1)*(xb2-beta);%mtodo de la secante
r1=r2;r2=r;
[t,x]=ode45(f,a:h:b,[alfa,r]);
xb1=xb2;xb2=x(n+1,1);
inc=abs(xb2-beta);
iter=iter+1;
end
2. Mtodo de Newton-Raphson. La ecuacin de iteracin del mtodo de Newton-Raphson
rk = rk1

x(b, rk1 )
,
d
x(b, rk1 )
dr

No se tiene una representacin explcita para

k = 1, 2,

d
x(b, rk1 ), solo se conocen los valores de
dr

x(b, r0 ), x(b, r1 ), , x(b, rk1 ).


d
Para determinar
x(b, r) cuando r = rk1 , derivamos parcialmente respecto a r el prodr
blema (3.2.10),

x
x (t, r) = f (t, x, x )
+ f (t, x, x )
r

r
x
r
De las condiciones de frontera

x
x
(a, r) = 0 y
(a, r) = 1.
r
r

x
(a, r) entonces
r

z (t, r) = f (t, x, x )z + f (t, x, x )z , t [a, b], z(a, r) = 0, z (a, t) = 1


(3.2.11)

x
El mtodo de Newton en cada iteracin requiere de la solucin de los problemas de valores
Si z(t, r) =

iniciales (3.2.10) y (3.7.13) para determinar los rk en la ecuacin de iteracin


rk = rk1

x(b, rk1 )
,
z(b, rk1 )
40

k = 1, 2,

EDO

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

t3 x (t) = (x tx )2 , 1 t 2
x(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
x (t) =

1
(x
t3

tx )2 , 1 t 2
x (1) = r.

x(1) = 0,

(3.2.13)

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


|x(b, rk ) | = |x(2, rk ) 2| < tol
Expresamos la ecuacin (3.2.13) como un sistema 2 2 de primer orden
x = y
y =

1
(x
t3

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 de
resultados con [t x],
1.0000

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.

3.3.
3.3.1.

Mtodo de Diferencias Finitas


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

2]
42

EDO

Roy Snchez G.

3.3.2.

Diferencias Finitas lineales


{

x (t) = p(t)x + q(t)x + r(t), a t b


x(a) = ,

(3.3.1)

x(b) = .

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),
x(tj+1 ) x(tj1 )
x (tj )
=
2h

x(tj+1 ) 2x(tj ) + x(tj1 )


.
y x (tj )
=
h2

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


tj = a + jh,

ba
N ,

los nodos

j = 0, 1, , N .

Cuando reemplazamos las aproximaciones de las derivadas en la ecuacin (3.3.1), con la notacin pj = p(tj ), qj = q(tj ), rj = r(tj ) se genera la ecuacin en diferencias,
xj+1 2xj + xj1
= p(tj )
h2

xj+1 xj1
2h

)
+ q(tj )xj + r(tj ),
j = 1, 2, , N 1,

de donde

(
)
)
)
(
h
h
2
pj 1 xj1 + 2 + h qj xj +
pj 1 xj+1 = h2 rj ,
2
2
j = 1, 2, , N 1,

(3.3.2)

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.

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 )y (x) + 2xy = x3 , 0 x 4
y(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.

1. Solucin analtica. Integrando la ecuacin diferencial


(1 + x2 )y (x) + 2xy = x3
( )
]
d [
d x4
2
(1 + x )y
=
dx
dx 4
1
x4 + c1
(1 + x2 )y =
4
x4
c1
y =
+
2
1+x
1 + x2
x3 x
y =
+ c1 arctan x + c2
12 4
De las condiciones de frontera
c1 =

x3 x
13
13
, c2 = 0 y =

arctan x.
3 arctan 4
12 4 3 arctan 4

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
y (x) =

2xy
x3
+
.
1 + x2 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.5000

-1.6679

1.0000

-2.7590
45

EDO

Roy Snchez G.
................
3.5000

-1.5221

4.0000

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 contorno

x (t) = 2t x 2 x + 1, 0 t 4
1 + t2
1 + t2
x(0) = 1,25,
x(4) = 0,95,
mediante el mtodo de diferencias nitas, considerando h = 0,2
Solucin Si h = 0,2 N = 20. Los archivos de los coecientes
p(t) =

2t
,
1 + t2

q(t) =

function u=p(t)
u=2.*t./(1+t.^2);
function u=q(t)
u=-2./(1+t.^2);
function u=r(t)
u=1+0*t;
En Command Window las aproximaciones
F=diffin(p,q,r,0,4,1.25,-0.95,20)
F =

1.2500

0.2000

1.3145

0.4000

1.3206

................
3.8000

-1.0227

4.0000

-0.9500
46

2
,
1 + t2

r(t) = 1

EDO

3.3.3.

Roy Snchez G.

Diferencias nitas no lineales

Sea el problema de frontera


{

y (x) = f (x, y, y ), a x b
y(a) = ,

(3.3.5)

y(b) = ,

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
y (xi ) =
y (xi ) =

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

Reemplazando las derivadas en (3.3.5),


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

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

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


Si

y(xi+1 ) y(xi1 )
, i = 2, , n
2h
entonces el sistema tridiagonal no lineal
zi =

f1 = 2y1 y2 + h2 f (x1 , y1 , z1 ) = 0
f2 = y1 + 2y2 y3 + h2 f (x2 , y2 , z2 ) = 0
=
fn1 = yn2 + 2yn1 yn + h2 f (xn1 , yn1 , zn1 ) = 0
fn = yn1 + 2yn + h2 f (x1 , y1 , z1 ) = 0,
expresado como funcin vecorial F (X) = 0. Usaremos el mtodo de Newton. El jacobiano del
sistema

2 + h2 fy

1 + h2 f
y1

.
..
JF =

1 + h2 fy2

2 + h2 fy2
..
.

1
..
.

0
..
.

0
..
.

1 + h2 fyn2

2 + h2 fyn

47

EDO

Roy Snchez G.

Evaluando JF y F se tiene el sistema JF v = 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<Max
z=(Y(3:n+1)-Y(1:n-1))/(2*h);
fx=eval(f);
px=eval(p);
qx=eval(q);
d=2+h^2*px;%diagonal A=[adc]
c=-1+h/2*qx(1:n-2);%superdiagonal
a=-1-h/2*qx(2:n-1);%subdiagonal
b=diff(Y,2)-h^2*fx;%AX=b
v=crout(d,c,a,b);
y=y+v;
Y=[alfa y beta];
inc=max(abs(v));
iter=iter+1;
end
Ejemplo 3.6.

y yy = e2x x + xex ,

x [0, 1]

y(0) = 1,

y(1) = 1 + e1 .

Aplicar el mtodo de Diferencias nitas no lineales con n = 4. Falta

48

(3.3.6)

Mtodo de Rayleigh-Ritz
3.4.

Mtodo de Rayleigh-Ritz

Sea el problema de frontera

(
)

d p(x) dy + q(x)y(x) = f (x), x [0, 1]


dx
dx

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) C 1 [0, 1], f (x) C[0, 1] tal que p(x) > 0, q(x) 0.
La funcin y(x) C 2 [0, 1] es la nica solucin de (3.7.1) si y solo si, es la nica funcin que
minimiza el funcional

I[u] =

1[

]
p(x)(u (x))2 + q(x)(u(x))2 2f (x)u(x) dx

(3.4.2)

Un conjunto de funciones {1 (x), , n (x)}, denominadas funciones bse, minimiza a I.


Estas funciones i tienen las siguientes caractersticas: son de clase C 2 [0, 1], linealmente independientes en [0, 1] y satisfacen las condiciones de frontera en cada nodo, i (0) = i (1) = 0, i =
1, 2, , n. La combinacin lineal de estas funciones, expresado como
(x) =

ci i (x)

i=1

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


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

p(x)
ci i (x) + q(x)
I
ci i (x) =
ci i (x) 2f (x)
ci i (x) dx
i=1

i=1

i=1

I(c1 , , cn ) depende de las constantes ci . Para mnimizar I,


49

i=1

I
= 0.
cj

EDO

Roy Snchez G.

n [

i=1

1(

p(x)i (x)j (x)

)
+ q(x)i (x)j (x) dx ci

f (x)j (x)dx = 0

para j = 1, 2, , n.
Equivale

n [

i=1

1(

p(x)i (x)j (x)

)
+ q(x)i (x)j (x) dx ci =

f (x)j (x)dx

si denominamos

ai,j =

1[

]
p(x)i (x)j (x) + q(x)i (x)j (x) dx

(3.4.3)

bj =

f (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. La
longitud 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

x xi1
1

, xi1 x xi
, xi1 x xi

h
h
i1
i1

1
i+1

(x)
=
i (x) =
, xi x xi+1
i
, xi x xi+1

hi

hi

0,
otros subint.
0,
otros subint.
3. Resolver el sistema tridiagonal Au = b por el mtodo de Thomas. Como i y i son distintos
de cero solo en el intervalo ]xi1 , xi+1 [, entonces
i (x)j (x) 0 y i (x)j (x) 0
excepto cuando j = i 1, i, i + 1. En consecuencia, el sistema lineal Au = b se reduce a
un sistema tridiagonal. Los elementos de la matriz A ubicados en la diagonal
50

EDO

Roy Snchez G.

]
p(x)i (x)j (x) + q(x)i (x)j (x) dx
0
xi
xx+1
xi
1
1
1
p(x)dx + 2
p(x)dx + 2
(x xi1 )2 q(x)dx +
h2i1 xi1
hi xi
hi1 xi1
xi+1
1
(xi+1 x)2 q(x)dx, i = 1, 2, , n.
h2i xi

aii =
=
+

1[

en la superdiagonal

1[

]
p(x)i (x)i+1 (x) + q(x)i (x)i+1 (x) dx
0
xi+1
xx+1
1
1
p(x)dx + 2
(xi+1 x)(x xi )q(x)dx,
= 2
h i xi
hi xi

ai,i+1 =

i = 1, 2, , n 1.

y en la subdiagonal para i = 1, 2, , n.

]
p(x)i (x)i1 (x) + q(x)i (x)i1 (x) dx
0
xi
xi
1
1
= 2
p(x)dx + 2
(xi x)(x xi1 )q(x)dx,
hi1 xi1
hi1 xi1

ai,i1 =

1[

As como los elementos de b


1
bi =
f (x)i (x)dx
0
xi

1 xi+1
1
(x xi1 )f (x)dx +
(xi+1 x)f (x)dx,
=
hi1 xi1
h i xi

(3.4.5)

(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.
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 frontera

d (p(x)y ) + q(x)y(x) = f (x),


x [0, 1]

dx
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 ) e2x (2e2 + e1 ) (3x 2)ex


+
+
9(e2 e2 )
9(e2 e2 )
9

Ejercicio 3.1. Dado un problema de frontera

x [0, 1]

dx (p(x)y ) + q(x)y(x) = f (x),


y(0) = 0,
y(1) = 0,

4
2

p(x) = x + 1, q(x) = x+1 ,


f (x) = x3 24x
Resolver segn el mtodo indicado.
52

(3.4.8)

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) =

cd
ad bc
t+
dc
dc

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


Por ejemplo, en integrales denidas

f (t)dt

f (x)dx
a

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 = y x(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

d (p(x)y ) + q(x)y(x) = f (x), x [0, 1]


dx

y(0) = ,
y(1) = .

(3.4.9)

El cambio de variable z = y x (1 x), transforma el (3.7.9) en

d (p(x)z ) + q(x)z(x) = H(x), x [0, 1]


dx

z(0) = 0,
z(1) = 0.

(3.4.10)

Al problema (3.7.10) se puede aplicar el mtodo de Rayleigh-Ritz, por las condiciones de frontera.
53

EDO

Roy Snchez G.

Solucin. De z = y x (1 x) se tienen z = y + ,

z = y . Reemplazando en

(3.7.9)

3.4.1.

)
d (
p(x)(z + ) + q(x)(z + x + (1 x)) = f (x)
dx
)
d (

p(x)z + q(x)z = H(x),


dx

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

Caso lineal

Si en el problema de frontera (3.7.1), p(x) = 1, q(x) = 0, se tiene


{
u (x) = f (x), x [0, 1]
u(0) = 0,

u(1) = 0.

(3.4.11)

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


n

(x) =

ci i (x)

i=1

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


Se tienen las ecuaciones
n [ 1

i=1

i (x)j (x)dx

ci =

f (x)j (x)dx,

j = 1, 2, , n

Si denominamos

ai,j =

i (x)j (x)dx,

y bj =

f (x)j (x)dx
0

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. La
longitud de cada subintervalo hi = xi+1 xi , i = 0, 1, , n.
2. Si todos los subintervalos tienen la misma longitud h, son equivalentes

x xi1

, xi1 x xi

hi1

|x xi |

, xi1 x xi+1

1
h
x

x
i+1
i (x) =
, xi x xi+1 i (x) =

hi

0,
otros subint.

0,
otros subint.
54

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 =

1
h1

As como los elementos de b

xi+1

bj =
xi1

|x xi |
1
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
{
u = sen(x2 ), x [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.


1
1
Solucin. Como n = 50 h =
= .
n+1
51
Los elementos de la matriz A tridiagonal, de tamao 50 50,
ai,j =

1
1
1
+
= 2(51), ai,i+1 =
= 51
hi1 hi
h1

2 1 0

1 2 1 0

0
1
2
1

A = 51

.
.

. 1
0

Los elementos del vector b,

xi+1

bi =

(1 51|x xi |) sen(x2 )dx

xi1

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.

>>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


{
u + 6u = e10x cos(2x), x [0, 1]
u(0) = 0,

u(1) = 0.

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

(3.4.13)

EDO

Roy Snchez G.

Problema de frontera no lineal. Mtodo de RayleighRitz


0.08
0.07
0.06

0.05
0.04
0.03
0.02
0.01
0

0.2

0.4

0.6

0.8

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 =
Archivos del PVF para
xi+1

bi =
f (x)i (x)dx =
xi1

xi+1

xi1

57

1
1
=
. Dividimos [0, 1] en 502 nodos.
n+1
501

(1 501|xi x|)e10x cos(12x)dx

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 )2 q(x),

(x xi+1 )2 q(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.

Problema de valores en la frontera


5
Solucin
Aproximacin

0
5
10

15
20
25
30
35
40

0.2

0.4

0.6

0.8

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


{
x (t) = 2x (t) x(t) + t2 , t [0, 1]
x(0) = 5,

x(1) = 10.

1. Halle la solucin del problema.


2. Calcule las soluciones aproximadas mediante Disparo lineal.
3. Calcule las soluciones aproximadas mediante Diferencias nitas.
Solucin
59

(3.5.1)

EDO

Roy Snchez G.
1. La solucin homognea
r2 2r + 1 = 0 xh (t) = c1 et + c2 tet
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) = c1 et + c2 tet + 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
{
u = 2u u + t2 , t [0, 1]
P1 :
u(0) = 5,
u (0) = 0
y

{
P2 :

v = 2v v,

t [0, 1]

v(0) = 0,

v (1) = 1

60

(3.5.2)

(3.5.3)

EDO

Roy Snchez G.
b) Sistemas de ecuaciones diferenciales 2x2 de los problemas P1 y P2.
{
P1 :
y

x = y,
y
{

P2 :

t [0, 1]

= x + 2y +

t2 ,

x(0) = 5, y(0) = 0

x = y,

t [0, 1]

y = 2y x, x(0) = 0, y(0) = 1

(3.5.4)

(3.5.5)

c) Para las aproximaciones a la solucin con Matlab. Se requiere tres archivos de extensin 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, alpha=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.

Problema 3.2. Dado el siguiente problema de contorno


x = 2x 2x + et + sin(2t) t [0, 4],
x(0) = 0,6, x(4) = 0,1
1. Demuestre que la solucin del problema de frontera es
x(t) =

1
1
2
1
+ et et cos(t) cos2 (t)3,67et sin(t) cos(t) sin(t)
5
5
5
5

2. Resuelva el problema de frontera con diferencias nitas.

3.6.

Problemas propuestos

Problemas de frontera para en el caso lineal


1. x2 y xy = 3x3 ; y(1) = 2, y(2) = 9, x [1, 2], n = 4.
2. x2 y + xy y = x2 ; y(1) = 1,333, y (3) = 3, x [1, 3], n = 6.
3. x2 y 2y = 0; y(1) 2y (1) = 0, y(2) = 4,5, x [1, 2], n = 5.
Para el caso no lineal
1. y = 2(y + x)(y + 1); y(1) = 0, y(2) = 2, x [1, 2], n = 8.
2. (1 + x2 )y = 4xy 6y; y(0) = 1, y(1) = 4/3, x [0, 1], n = 10.
3. y = x(y )3 ; y(0) = 0, y(1) = /2, x [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 frontera

(
)

d p(x) dy + q(x)y(x) = f (x), x [0, 1]


dx
dx

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) C 1 [0, 1], f (x) C[0, 1] tal que p(x) > 0, q(x) 0.
La funcin y(x) C 2 [0, 1] es la nica solucin de (3.7.1) si y solo si, es la nica funcin que
minimiza el funcional

I[u] =

1[

]
p(x)(u (x))2 + q(x)(u(x))2 2f (x)u(x) dx

(3.7.2)

Un conjunto de funciones {1 (x), , n (x)}, denominadas funciones bse, minimiza a I.


Estas funciones i tienen las siguientes caractersticas: son de clase C 2 [0, 1], linealmente independientes en [0, 1] y satisfacen las condiciones de frontera en cada nodo, i (0) = i (1) = 0, i =
1, 2, , n. La combinacin lineal de estas funciones, expresado como
(x) =

ci i (x)

i=1

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


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

p(x)
ci i (x) + q(x)
I
ci i (x) =
ci i (x) 2f (x)
ci i (x) dx
i=1

i=1

i=1

I(c1 , , cn ) depende de las constantes ci . Para mnimizar I,


63

i=1

I
= 0.
cj

EDO

Roy Snchez G.

n [

i=1

1(

p(x)i (x)j (x)

)
+ q(x)i (x)j (x) dx ci

f (x)j (x)dx = 0

para j = 1, 2, , n.
Equivale

n [

i=1

1(

p(x)i (x)j (x)

)
+ q(x)i (x)j (x) dx ci =

f (x)j (x)dx

si denominamos

ai,j =

1[

]
p(x)i (x)j (x) + q(x)i (x)j (x) dx

(3.7.3)

bj =

f (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. La
longitud 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

x xi1
1

, xi1 x xi
, xi1 x xi

h
h
i1
i1

1
i+1

(x)
=
i (x) =
, xi x xi+1
i
, xi x xi+1

hi

hi

0,
otros subint.
0,
otros subint.
3. Resolver el sistema tridiagonal Au = b por el mtodo de Thomas. Como i y i son distintos
de cero solo en el intervalo ]xi1 , xi+1 [, entonces
i (x)j (x) 0 y i (x)j (x) 0
excepto cuando j = i 1, i, i + 1. En consecuencia, el sistema lineal Au = b se reduce a
un sistema tridiagonal. Los elementos de la matriz A ubicados en la diagonal
64

EDO

Roy Snchez G.

]
p(x)i (x)j (x) + q(x)i (x)j (x) dx
0
xi
xx+1
xi
1
1
1
p(x)dx + 2
p(x)dx + 2
(x xi1 )2 q(x)dx +
h2i1 xi1
hi xi
hi1 xi1
xi+1
1
(xi+1 x)2 q(x)dx, i = 1, 2, , n.
h2i xi

aii =
=
+

1[

en la superdiagonal

1[

]
p(x)i (x)i+1 (x) + q(x)i (x)i+1 (x) dx
0
xi+1
xx+1
1
1
p(x)dx + 2
(xi+1 x)(x xi )q(x)dx,
= 2
h i xi
hi xi

ai,i+1 =

i = 1, 2, , n 1.

y en la subdiagonal para i = 1, 2, , n.

]
p(x)i (x)i1 (x) + q(x)i (x)i1 (x) dx
0
xi
xi
1
1
= 2
p(x)dx + 2
(xi x)(x xi1 )q(x)dx,
hi1 xi1
hi1 xi1

ai,i1 =

1[

As como los elementos de b


1
bi =
f (x)i (x)dx
0
xi

1 xi+1
1
(x xi1 )f (x)dx +
(xi+1 x)f (x)dx,
=
hi1 xi1
h i xi

(3.7.5)

(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.
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 frontera

x [0, 1]

dx (p(x)y ) + q(x)y(x) = f (x),


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 ) e2x (2e2 + e1 ) (3x 2)ex


+
+
9(e2 e2 )
9(e2 e2 )
9

Ejercicio 3.2. Dado un problema de frontera

x [0, 1]

dx (p(x)y ) + q(x)y(x) = f (x),


y(0) = 0,
y(1) = 0,

4
2

p(x) = x + 1, q(x) = x+1 ,


f (x) = x3 24x
Resolver segn el mtodo indicado.
66

(3.7.8)

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) =

cd
ad bc
t+
dc
dc

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


Por ejemplo, en integrales denidas

f (t)dt

f (x)dx
a

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 = y x(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

d (p(x)y ) + q(x)y(x) = f (x), x [0, 1]


dx

y(0) = ,
y(1) = .

(3.7.9)

El cambio de variable z = y x (1 x), transforma el (3.7.9) en

d (p(x)z ) + q(x)z(x) = H(x), x [0, 1]


dx

z(0) = 0,
z(1) = 0.

(3.7.10)

Al problema (3.7.10) se puede aplicar el mtodo de Rayleigh-Ritz, por las condiciones de frontera.
67

EDO

Roy Snchez G.

Solucin. De z = y x (1 x) se tienen z = y + ,

z = y . Reemplazando en

(3.7.9)

3.7.1.

)
d (
p(x)(z + ) + q(x)(z + x + (1 x)) = f (x)
dx
)
d (

p(x)z + q(x)z = H(x),


dx

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

Caso lineal

Si en el problema de frontera (3.7.1), p(x) = 1, q(x) = 0, se tiene


{
u (x) = f (x), x [0, 1]
u(0) = 0,

u(1) = 0.

(3.7.11)

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


n

(x) =

ci i (x)

i=1

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


Se tienen las ecuaciones
n [ 1

i=1

i (x)j (x)dx

ci =

f (x)j (x)dx,

j = 1, 2, , n

Si denominamos

ai,j =

i (x)j (x)dx,

y bj =

f (x)j (x)dx
0

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. La
longitud de cada subintervalo hi = xi+1 xi , i = 0, 1, , n.
2. Si todos los subintervalos tienen la misma longitud h, son equivalentes

x xi1

, xi1 x xi

hi1

|x xi |

, xi1 x xi+1

1
h
x

x
i+1
i (x) =
, xi x xi+1 i (x) =

hi

0,
otros subint.

0,
otros subint.
68

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 =

1
h1

As como los elementos de b

xi+1

bj =
xi1

|x xi |
1
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
{
u = sen(x2 ), x [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.


1
1
Solucin. Como n = 50 h =
= .
n+1
51
Los elementos de la matriz A tridiagonal, de tamao 50 50,
ai,j =

1
1
1
+
= 2(51), ai,i+1 =
= 51
hi1 hi
h1

2 1 0

1 2 1 0

0
1
2
1

A = 51

.
.

. 1
0

Los elementos del vector b,

xi+1

bi =

(1 51|x xi |) sen(x2 )dx

xi1

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
69

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.14. Sea el problema de frontera


{
u + 6u = e10x cos(2x), x [0, 1]
u(0) = 0,

u(1) = 0.

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.
70

(3.7.13)

EDO

Roy Snchez G.

Problema de frontera no lineal. Mtodo de RayleighRitz


0.08
0.07
0.06

0.05
0.04
0.03
0.02
0.01
0

0.2

0.4

0.6

0.8

Figura 3.3: 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 =
Archivos del PVF para
xi+1

bi =
f (x)i (x)dx =
xi1

xi+1

xi1

71

1
1
=
. Dividimos [0, 1] en 502 nodos.
n+1
501

(1 501|xi x|)e10x cos(12x)dx

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 )2 q(x),

(x xi+1 )2 q(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.
72

EDO

Roy Snchez G.

Problema de valores en la frontera


5
Solucin
Aproximacin

0
5
10

15
20
25
30
35
40

0.2

0.4

0.6

0.8

Figura 3.4: Mtodo de Rayleigh-Ritz

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

3.7.2.

Caso no lineal

FALTA con B splines. Tarea

3.8.

Problemas Resueltos

Problema 3.3. Dado el siguiente problema de contorno


{
x (t) = 2x (t) x(t) + t2 , t [0, 1]
x(0) = 5,

x(1) = 10.

1. Halle la solucin del problema.


2. Calcule las soluciones aproximadas mediante Disparo lineal.
3. Calcule las soluciones aproximadas mediante Diferencias nitas.
Solucin
73

(3.8.1)

EDO

Roy Snchez G.
1. La solucin homognea
r2 2r + 1 = 0 xh (t) = c1 et + c2 tet
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) = c1 et + c2 tet + 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
{
u = 2u u + t2 , t [0, 1]
P1 :
u(0) = 5,
u (0) = 0
y

{
P2 :

v = 2v v,

t [0, 1]

v(0) = 0,

v (1) = 1

74

(3.8.2)

(3.8.3)

EDO

Roy Snchez G.
b) Sistemas de ecuaciones diferenciales 2x2 de los problemas P1 y P2.
{
P1 :
y

x = y,
y
{

P2 :

t [0, 1]

= x + 2y +

t2 ,

x(0) = 5, y(0) = 0

x = y,

t [0, 1]

y = 2y x, x(0) = 0, y(0) = 1

(3.8.4)

(3.8.5)

c) Para las aproximaciones a la solucin con Matlab. Se requiere tres archivos de extensin 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, alpha=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),+).
75

EDO

Roy Snchez G.

Problema 3.4. Dado el siguiente problema de contorno


x = 2x 2x + et + sin(2t) t [0, 4],
x(0) = 0,6, x(4) = 0,1
1. Demuestre que la solucin del problema de frontera es
x(t) =

1
1
2
1
+ et et cos(t) cos2 (t)3,67et sin(t) cos(t) sin(t)
5
5
5
5

2. Resuelva el problema de frontera con diferencias nitas.

3.9.

Problemas propuestos

Problemas de frontera para en el caso lineal


1. x2 y xy = 3x3 ; y(1) = 2, y(2) = 9, x [1, 2], n = 4.
2. x2 y + xy y = x2 ; y(1) = 1,333, y (3) = 3, x [1, 3], n = 6.
3. x2 y 2y = 0; y(1) 2y (1) = 0, y(2) = 4,5, x [1, 2], n = 5.
Para el caso no lineal
1. y = 2(y + x)(y + 1); y(1) = 0, y(2) = 2, x [1, 2], n = 8.
2. (1 + x2 )y = 4xy 6y; y(0) = 1, y(1) = 4/3, x [0, 1], n = 10.
3. y = x(y )3 ; y(0) = 0, y(1) = /2, x [0, 1], n = 10.
Faltan problemas de frontera con condiciones de Dirichlet, de Newman y mixtas, tanto lineales
como no lineales

76

Bibliografa
[1] BURDEN, L.: Anlisis Numrico. Grupo Editorial Ibero Amrica 7 Edicin; 2003.
[2] CHENEY, W. KINCAID, D.: Mtodos Numricos y computacin. CENGAGE Learnig; 2008.
[3] CHENEY, W.: Analysis for Applied Mathematics. Springer; 2001. Department of Mathematics University of Texas at Austin.
[4] FAUSETT, L.: Applied Numerical Analysis Using MATLAB. PEARSON Prentice Hall;
2008.
[5] FRIEDBERG, S.: Linear Algebra. Illinois State University. USA. 2008.
[6] GROSSMAN, S.: Algebra Lineal. Mc-Graw-Hill. 1998.
[7] KREYSZIG, : Matemticas Avanzadas para Ingeniera, volumen I y volumen II. Editorial
LIMUSA-WILEY. Tercera Edicin 2002.
[8] MATHEWS, J.: Mtodos Numricos con MATLAB. Prentice Hall; 2000.
[9] ONEIL, Peter V.: Matemticas Avanzadas para ingeniera. Editorial THOMPSONLEARNING. Quinta Edicin, 2004.
[10] STANOYEVICH, A.: Introduction to Numerical Ordinary and Partial Dierenntial Equations Using Matlab. Editorial John Wiley publication. 2005.
[11] USERS GUIDE.: Symbolic Math Toolbox. The Math Works; 2004.
[12] Users Guide: Partial Dierential Equation Toolbox. The Math Works; USA 2002.
[13] YOUNG YANG Won, : Applied Numerical Methods Using MATLAB. Editorial WILEYINTERSCIENCE, USA 2005.
[14] ZILL, Dennis G.: Ecuaciones Diferenciales Matemticas avanzadas para ingeniera. McGraw Hill; 2006.

77

You might also like