10
12
12
14
15
16
16
19
2.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
20
20
22
24
31
31
3. Problemas de Contorno
35
35
36
36
EDO
Roy Snchez G.
3.2.2. Disparos no lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
42
42
43
47
49
54
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
59
62
63
68
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
73
76
Captulo 1
(1.0.1)
EDO
Roy Snchez G.
(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.
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(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
y(t, C) = e
]
t2
+C .
2
1 4
e 2 = 3,4598
10
y(t) = e
]
t2
+ 3,4598 ,
2
2 t 2.
EDO
Roy Snchez G.
1.2.
Campo de direcciones
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 ,
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)
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
EDO
1.3.
Roy Snchez G.
EDO
Roy Snchez G.
1.4.
Mtodos Numricos
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
1.4.1.
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)!
1.4.2.
Mtodo de Euler
y = f (t, y),
t [a, b]
y(t0 ) = y0
Suponemos que la solucin de la ecuacin es (t),
t [a, b].
k = 0, 1, , M 1.
(1.4.3)
ba
.
M
(1.4.4)
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 + 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
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
i
f (x + h, y + k) =
h
+k
f (x, y)
i!
x
y
(1.5.1)
(1.5.2)
i=0
1.5.1.
Mtodo de Runge-Kutta 2
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)
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
y(2) = 4,
2 t 10
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
1.5.3.
Mtodo de Runge-Kutta 4
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.
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
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)
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.
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.
18
Captulo 2
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.
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)
(2.2.2)
..
..
..
A = [aij (t)] =
.
.
.
(2.2.3)
X(t0 ) = X (0)
(0)
x1
.
.
=
. .
(0)
xn
(2.2.4)
(2.2.5)
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
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)
y X (2) = Ktet + P et
(2.3.4)
X (t) =
X
2 9
(2.3.5)
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
1. Los
[
y K2 =
1 2i
1 + 2i
2.4.
x12
x1n
x11
x22
x2n
x21
X = c1 . + c2 . + + cn . = (t)C
..
..
..
xnn
xn2
xn1
(2.4.1)
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)
(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)
(2.4.5)
Integrando
U (t) =
1 (s)F (s)ds
(2.4.6)
1 (s)F (s)ds
(2.4.7)
(2.4.8)
EDO
Roy Snchez G.
t0
1 F (s)ds = 0
t0
(t0 )X
(0)
+ (t)
1 (s)F (s)ds
(2.4.9)
t0
2.5.
dx
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)
c1
c2
)
.
24
(2.5.1)
EDO
Roy Snchez G.
(2)
U =
1 (t)F (t)dt
F (t) U (t) =
La solucin particular,
Xp (t) = (t)
1 (t)F (t)dt
(2.5.3)
1 (t)F (t)dt
(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
(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(0) =
(
,
F (t) =
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
F =
2 + 2e2t
2 2e2t
X (t) =
X+
,
3
4
3
Solucin
26
(
X(0) =
4
5
EDO
Roy Snchez G.
(
1 2
2 = 2,
K1 =
(
,
K2 =
3
2
)
,
(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,
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) =
EDO
Roy Snchez G.
format rational,
ba
M ,
las ecuaciones
k = 0, 1, , M 1
(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
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.
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.
(2.6.1)
= u2
dt
du2
= u3
dt
du3 = f (t, u , u , u )
1 2 3
dt
(2.6.2)
2.7.
Problemas Resueltos
x(0) = 4,
dx
= y,
t [0, ]
dt
x(0) = 4
dy = 4et x,
dt
y (0) = 3
(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)
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,
(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
U (t) =
15et
1 (t) F (t)dt =
La solucin no homognea
(
Xp (t) = (t) U (t) =
3. La solucin
3e2t
et
2e2t
et
3e2t
)(
c1
c2
(
+
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.
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)
x(b) =
x (b) =
EDO
Roy Snchez G.
3. Condiciones de frontera mixtas
x (a) + c1 x(a) = ,
x (b) + c2 x(b) = ,
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
x(b) = ,
(3.2.1)
u(a) = ,
(3.2.2)
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.
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)
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
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.
3.2.2.
Disparos no lineales
(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(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
k = 1, 2,
d
x(b, rk1 ), solo se conocen los valores de
dr
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
x
El mtodo de Newton en cada iteracin requiere de la solucin de los problemas de valores
Si z(t, r) =
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)
1
(x
t3
tx )2 , 1 t 2
x (1) = r.
x(1) = 0,
(3.2.13)
1
(x
t3
ty)2 , 1 t 2
x(1) = 0,
y(1) = r.
(3.2.14)
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.
2]
42
EDO
Roy Snchez G.
3.3.2.
(3.3.1)
x(b) = .
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)
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];
(1 + x2 )y (x) + 2xy = x3 , 0 x 4
y(0) = 0,
y(4) = 0,
(3.3.3)
Solucin
44
EDO
Roy Snchez G.
x3 x
13
13
, c2 = 0 y =
arctan x.
3 arctan 4
12 4 3 arctan 4
2xy
x3
+
.
1 + x2 1 + x2
(3.3.4)
0.5000
-1.6679
1.0000
-2.7590
45
EDO
Roy Snchez G.
................
3.5000
-1.5221
4.0000
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.
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
y(xi+1 ) y(xi1 )
xi , y(xi ),
2h
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.
y yy = e2x x + xex ,
x [0, 1]
y(0) = 1,
y(1) = 1 + e1 .
48
(3.3.6)
Mtodo de Rayleigh-Ritz
3.4.
Mtodo de Rayleigh-Ritz
(
)
y(0) = 0,
y(1) = 0.
(3.4.1)
I[u] =
1[
]
p(x)(u (x))2 + q(x)(u(x))2 2f (x)u(x) dx
(3.4.2)
ci i (x)
i=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=1
I
= 0.
cj
EDO
Roy Snchez G.
n [
i=1
1(
)
+ q(x)i (x)j (x) dx ci
f (x)j (x)dx = 0
para j = 1, 2, , n.
Equivale
n [
i=1
1(
)
+ 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)
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[
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)
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];
dx
y(0) = 0,
y(1) = 0,
p(x) = 1, q(x) = 4,
f (x) = xex
(3.4.7)
y=
x [0, 1]
4
2
(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
f (t)dt
f (x)dx
a
y(0) = ,
y(1) = .
(3.4.9)
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 (
Caso lineal
u(1) = 0.
(3.4.11)
(x) =
ci i (x)
i=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
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.
ai,i =
1
hi1
1
hi
y en la superdiagonal
ai,i+1 =
1
h1
xi+1
bj =
xi1
|x xi |
1
h
)
f (x)dx
u(1) = 0.
(3.4.12)
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
xi+1
bi =
xi1
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)
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.
0.05
0.04
0.03
0.02
0.01
0
0.2
0.4
0.6
0.8
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
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),
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;
cl=Thomas(da(2:501),d(2:501),dc(2:501),b(2:501));
cl=[0 cl 0];
EDO
Roy Snchez G.
0
5
10
15
20
25
30
35
40
0.2
0.4
0.6
0.8
3. Falta. Tarea
4. En la grca 3.4, se compara la solucin con las aproximaciones lineales.
3.4.2.
Caso no lineal
3.5.
Problemas Resueltos
x(1) = 10.
(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
{
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.
1
1
2
1
+ et et cos(t) cos2 (t)3,67et sin(t) cos(t) sin(t)
5
5
5
5
3.6.
Problemas propuestos
62
Mtodo de Rayleigh-Ritz
3.7.
Mtodo de Rayleigh-Ritz
(
)
y(0) = 0,
y(1) = 0.
(3.7.1)
I[u] =
1[
]
p(x)(u (x))2 + q(x)(u(x))2 2f (x)u(x) dx
(3.7.2)
ci i (x)
i=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=1
I
= 0.
cj
EDO
Roy Snchez G.
n [
i=1
1(
)
+ q(x)i (x)j (x) dx ci
f (x)j (x)dx = 0
para j = 1, 2, , n.
Equivale
n [
i=1
1(
)
+ 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)
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[
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)
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];
x [0, 1]
p(x) = 1, q(x) = 4,
f (x) = xex
(3.7.7)
y=
x [0, 1]
4
2
(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
f (t)dt
f (x)dx
a
y(0) = ,
y(1) = .
(3.7.9)
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 (
Caso lineal
u(1) = 0.
(3.7.11)
(x) =
ci i (x)
i=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
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.
ai,i =
1
hi1
1
hi
y en la superdiagonal
ai,i+1 =
1
h1
xi+1
bj =
xi1
|x xi |
1
h
)
f (x)dx
u(1) = 0.
(3.7.12)
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
xi+1
bi =
xi1
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)
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.
0.05
0.04
0.03
0.02
0.01
0
0.2
0.4
0.6
0.8
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
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),
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;
cl=Thomas(da(2:501),d(2:501),dc(2:501),b(2:501));
cl=[0 cl 0];
EDO
Roy Snchez G.
0
5
10
15
20
25
30
35
40
0.2
0.4
0.6
0.8
3. Falta. Tarea
4. En la grca 3.4, se compara la solucin con las aproximaciones lineales.
3.7.2.
Caso no lineal
3.8.
Problemas Resueltos
x(1) = 10.
(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
{
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.
1
1
2
1
+ et et cos(t) cos2 (t)3,67et sin(t) cos(t) sin(t)
5
5
5
5
3.9.
Problemas propuestos
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