Upload
victor-anton
View
12
Download
3
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