EcuacionesDiferencialesOrdinariasSA
-
Upload
claudiaferrioli -
Category
Documents
-
view
11 -
download
0
description
Transcript of EcuacionesDiferencialesOrdinariasSA
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 1
Solucion de EcuacionesDiferenciales Ordinarias
Universidad Central de Venezuela
Facultad de Ingenierıa
Escuela de Ingenierıa Electrica
Departamento de Electronica, Computacion y Control
Calculo Numerico
Junio, 2010
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 2
Contenido
Problema de Valor Inicial 3
Metodos Basados en Expansiones de Taylor 8
Metodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . 12
Metodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . 14
Metodo de Runge-Kutta de segundo orden . . . . . . . . 14
Metodo de Runge-Kutta de cuarto orden . . . . . . . . . 18
Sistemas de Ecuaciones Diferenciales 21
Notacion vectorial . . . . . . . . . . . . . . . . . . . . . . . . 24
Metodo de Runge-Kutta en forma vectorial . . . . . . . . . . 26
Codigo en Matlab de Runge-Kutta vectorial . . . . . . . 27
Ecuaciones Diferenciales de Orden Superior 29
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 3
Problema de Valor Inicial
Consideremos la ecuacion diferencial con condicion inicial
x′ = f(t, x), x(t0) = x0, (1)
donde f : R2 → R, y x es una funcion real desconocida. Supongamos
que x(t) es diferenciable en una vecindad de t0. El problema (1) se
denomina problema de valor inicial.
¿El problema de valor inicial (1) posee una solucion?
El siguiente teorema muestra las condiciones que se deben satisfacer
para que el problema de valor inicial (1) pasea al menos una solucion.
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 4
Teorema 1. Si f es continua en un rectangulo R centrado en
(t0, x0),
R = {(t, x) ∈ R2 : |t− t0| ≤ α, |x− x0| ≤ β}, (2)
entonces el problema de valor inicial (1) tiene una solucion x(t)
para todo t tal que
|t− t0| ≤ min(α, β/M),
donde M > 0 es tal que |f(t, x)| ≤M para todo (t, x) ∈ R.
Ejemplo
Demostrar que el problema de valor inicial
x′ =√|x|, x(0) = 0, (3)
tiene solucion unica para todo t ∈ R.
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 5
Prueba.
Se tiene que f(t, x) =√|x|. Luego, f es continua en todo (t, x) ∈ R2.
Por el Teorema 1, el problema de valor inicial (3) tiene una solucion
x(t) para todo t ∈ R.
Algunos problemas de valor inicial pueden tener mas de una solucion.
(t0, x0)
t0
x0
x1(t)
x2(t)
x3(t)
1
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 6
El siguiente teorema presenta las condiciones que se deben satisfacer
para que el problema de valor inicial (1) tenga solucion unica.
Teorema 2. Si f y ∂f/∂x son continuas en el rectangulo R
definido por (2), entonces el problema de valor inicial (1) tiene una
solucion unica en el intervalo
(t0 −min(α, β/M) , t0 + min(α, β/M)),
donde M > 0 es tal que |f(t, x)| ≤M para todo (t, x) ∈ R.
El siguiente teorema presenta otras condiciones para que el problema
de valor inicial (1) tenga una solucion unica.
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 7
Teorema 3. Supongamos que f es continua en la franja a ≤ t ≤ b,−∞ < x <∞. Supongamos tambien que f satisface la condicion de
Lipschitz en la segunda variable, es decir, existe una constante
L > 0 tal que
|f(t, x1)− f(t, x2)| ≤ L |x1 − x2|,
para todo x1, x2 ∈ R. Entonces, el problema de valor inicial (1)
tiene una solucion unica en el intervalo [a, b].
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 8
Metodos Basados en Expansiones de Taylor
Sean t0, t1, . . . , tm ∈ [a, b]. Estamos interesados en obtener
aproximaciones de los valores que toma x(t) en los puntos ti, donde
x(t) es la solucion del problema de valor inicial (1).
t0
x0
t1 tm
x1
xm
...
· · ·
x(t)
1
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 9
Denotemos con xi al valor aproximado que se obtuvo para x(ti), es
decir,
xi ≈ x(ti), para i = 1, 2, . . . ,m.
Supongamos que x(t) es (n+ 1) veces diferenciable. Consideremos el
desarrollo de Taylor de x(t+ h) alrededor de t− h, para h > 0,
x(t+ h) = x(t) + hx′(t) +h2
2!x′′(t) + · · ·+
hn
n!x(n)(t) + En, (4)
donde
En =hn+1
(n+ 1)!x(n+1)(t+ δh), 0 < δ < 1.
De esta forma,
x(t+ h) ≈n∑j=1
hj−1
j!x(j)(t),
donde
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 10
x′(t) = f,
x′′(t) = ft + fxx′ = ft + fxf,
x′′′(t) = ftt + 2ftxx′ + fxx
′′ + fxx(x′)2
= ftt + 2ftxx′ + fxx(f)2 + fx(ft + fxf),
x(4)(t) = fttt + 3fttxx′ + 3ftxx(x
′)2 + 3ftxx′′ + fxx
′′′
+3fxxx′x′′ + fxxx(y
′)2
= (fttt + 3fttxf + 3ftxxf2 + fxxxf
3) + fx(ftt + 2ftxf + fxxf2)
+3(ft + fxf)(ftx + fxxf) + f2x(ft + fxf),
y, en general,
x(n)(t) = D(n−1)f(t, x(t)),
donde D es el operador de derivacion
D =
(∂
∂t+ f
∂
∂x
).
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 11
Por ejemplo, el metodo de Taylor de orden 4 es
x(t+ h) ≈ x(t) + hx′(t) +h2
2!x′′(t) +
h3
3!x′′′(t) +
h4
4!x(4)(t)
con termino de error
E4 =h5
5!x(5)(t+ δh)
≈h5
5!
[x(4)(t+ h)− x(4)(t)
h
]
=h4
120
[x(4)(t+ h)− x(4)(t)
].
Si se desea resolver el problema de valor inicial (1) comenzando en
x(t0) = x0 y continuando con pasos h > 0 hasta tm, colocamos
ti = t0 + ih, i = 1, 2, . . . ,m,
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 12
y el metodo metodo de Taylor de orden 4 adquiere la forma
xi+1 = xi + hf(ti, xi) +h2
2x′′(ti) +
h3
3!x′′′(ti) +
h4
4!x(4)(ti),
para i = 0, 1, . . . ,m.
Esta ecuacion se denomina ecuacion en diferencias.
Metodo de Euler
El metodo de Euler es el metodo de Taylor de orden 1, cuya ecuacion
en diferencias es
xi+1 = xi + hf(ti, xi), i = 0, 1, . . . ,m− 1,
con termino de error local E1 =h2
6x′′(ξ).
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 13
Codigo en Matlab de Euler
function [x,t] = Euler(fun, t0, x0, h, m)
% fun: nombre de la funcion f(t,x)
% Condicion inicial x(t0) = x0;
% Tama~no de paso: h > 0
% Numero de puntos: m (entero positivo)
t = t0 + h*(0:1:m);
x = zeros(1,m+1);
x(1) = x0;
for i=1:m
x(i+1) = x(i) + h*feval(fun,t(i),x(i));
end
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 14
Metodos de Runge-Kutta
Los metodos de Taylor tienen la desventaja de que requieren las
formulas para ft, ftt, etc. Los metodos de Runge-Kutta evaden esta
dificultad. Sin embargo, imitan a los metodos de Taylor. Mostremos
este hecho con el metodo de Runge-Kutta de segundo orden.
Metodo de Runge-Kutta de segundo orden
Consideremos la expansion de Taylor de x(t+ h) alrededor de (t− h),
x(t+ h) = x(t) + hx′(t) +h2
2!x′′(t) +O(h3)
Como x′(t) = f , x′′(t) = ft + fxf , tenemos
x(t+ h) = x(t) + h f +1
2h2(ft + fxf) +O(h3)
= x(t) +1
2h f +
1
2h(f + hft + hfxf) +O(h3).
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 15
Ahora, utilizando los primeros terminos de la serie de Taylor de dos
variables de f , f(t+ h, x+ hf) = f + hft + hffx +O(h2), obtenemos
x(t+ h) = x(t) +h
2f +
h
2f(t+ h, x+ hf) +O(h3)
De esta forma,
x(t+ h) ≈ x(t) +h
2f(t, x(t)) +
h
2f(t+ h, x(t) + hf(t, x(t))).
Este metodo se conoce como metodo de Heun, cuya ecuacion en
diferencias es
xi+1 = xi +1
2(k1 + k2),
k1 = h f(ti, xi),
k2 = h f(ti + h, xi + k1),
para i = 0, 1, . . . ,m− 1.
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 16
Otro metodo de Runge-Kutta de segundo orden es
xi+1 = xi + k2,
k1 = h f(ti, xi),
k2 = h f(ti +1
2h, xi +
1
2k1),
para i = 0, 1, . . . ,m− 1.
Este metodo se denomina metodo de Euler modificado.
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 17
Codigo en Matlab de Euler modificado
function [x,t] = EulerModificado(fun, t0, x0, h, m)
t = t0 + h*(0:1:m);
x = zeros(1,m+1); x(1) = x0;
for i=1:m
k1 = h*feval(fun,t(i),x(i));
k2 = h*feval(fun,t(i)+h/2,x(i)+k1/2);
x(i+1) = x(i) + k2;
end
Codigo en Matlab de Heun
function [x,t] = Heun(fun, t0, x0, h, m)
t = t0 + h*(0:1:m);
x = zeros(1,m+1); x(1) = x0;
for i=1:m
k1 = h*feval(fun,t(i),x(i));
k2 = h*feval(fun,t(i)+h,x(i)+k1);
x(i+1) = x(i) + (k1+k2)/2;
end
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 18
Metodo de Runge-Kutta de cuarto orden
La ecuacion en diferencias del metodo de Runge-Kutta de cuarto
orden es
xi+1 = xi +1
6(k1 + 2k2 + 2k3 + k4),
k1 = h f(ti, xi),
k2 = h f(ti +1
2h, xi +
1
2k1),
k3 = h f(ti +1
2h, xi +
1
2k2),
k4 = h f(ti + h, xi + k3),
para i = 0, 1, . . . ,m− 1.
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 19
Codigo en Matlab de Runge-Kutta de cuarto orden
function [x,t] = RungeKutta4(fun, t0, x0, h, m)
t = t0 + h*(0:1:m);
x = zeros(1,m+1);
x(1) = x0;
for i=1:m
k1 = h*feval(fun,t(i),x(i));
k2 = h*feval(fun,t(i)+h/2,x(i)+k1/2);
k3 = h*feval(fun,t(i)+h/2,x(i)+k2/2);
k4 = h*feval(fun,t(i)+h,x(i)+k3);
x(i+1) = x(i) + (k1+2*k2+2*k3+k4)/6;
end
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 20
Ejemplo
Sea el problema de valor inicial
x′ = t ex−t2, x(0) = 0,
con solucion exacta x(t) = − ln(
0.5 + 0.5 e−t2)
.
En la siguiente tabla se muestra la aproximacion de x(2) hallada por
distintos metodos.
Aproximaciones de x(2), con h = 1/m
Metodo m = 10 m = 100 m = 1000
Euler 0.624464946670797 0.670172820871109 0.674516978857219
Euler Modificado 0.677534495774509 0.675027093548888 0.674997555722006
Heun 0.666047634505599 0.674916033831550 0.674996449858973
Runge-Kutta 4 0.675006001301624 0.674997253647557 0.674997252642238
Valor exacto: x(2) = 0.674997252642136.
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 21
Sistemas de Ecuaciones Diferenciales
La forma estandar de un sistema de ecuaciones diferenciales de
primer orden es:
x′1 = f1(t, x1, x2, . . . , xn)
x′2 = f2(t, x1, x2, . . . , xn)...
x′n = fn(t, x1, x2, . . . , xn).
(5)
• En este sistema hay n funciones xi : R→ R dependientes de t.
• x′i denota dxi/dt.
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 22
Ejemplo
Un ejemplo del sistema (5), en el que se ha escrito x e y en vez de x1
y x2, es: x′ = x+ 4y − et
y′ = x+ y + 2et.
La solucion general del sistema es:
x = 2ae3t − 2be−t − 2et
y = ae3t + be−t +1
4et
donde a y b son constantes arbitrarias.
Ahora bien, todo problema fısico bien definido que tenga
presumiblemente una solucion unica, poseen condiciones iniciales que
permiten determinar las constantes arbitrarias de la solucion general.
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 23
Ası, si el sistema anterior estuviese sujeto a las condiciones iniciales
x(0) = 4, y(0) = 5/4,
entonces la solucion serıa
x = 4e3t + 2e−t − 2et
y = 2e3t − e−t +1
4et
De esta forma, el sistema general (5) debe considerar las n ecuaciones
diferenciales junto con un valor inicial prescrito para t, digamos t = t0,
y la especificacion del valor que tendra cada funcion xi en t0, esto es
xi(t0) = αi, i = 1, 2, . . . , n.
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 24
Notacion vectorial
El sistema (5) se puede reescribir convenientemente en notacion
vectorial. Sea X(t) el vector columna definido por
X(t) = (x1(t), x2(t), . . . , xn(t))T ,
por lo tanto, X : R→ Rn depende de t.
Ahora, sea F (t,X) el vector dado por
F (t,X) = (f1(t, x1, . . . , xn), . . . , fn(t, x1, . . . , xn))T ,
luego, F : Rn+1 → Rn.
Ası, podemos reescribir el sistema (5) en la forma
X ′ = F (t,X), X(t0) = (α1, . . . , αn)T . (6)
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 25
Ejemplo
Determine la forma vectorial del sistema x′ = x+ 4y − et,
y′ = x+ y + 2et,
con condiciones iniciales
x(0) = 4, y(0) = 5/4.
Solucion. Se tiene que
X =
x
y
y F (t,X) =
x+ 4y − et
x+ y + 2et
.Ası,
X ′ = F (t,X), X(0) = (4, 5/4)T .
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 26
Metodo de Runge-Kutta en forma vectorial
El procedimiento de Runge-Kutta para el sistema de ecuaciones
diferenciales de primer orden
X ′ = F (t,X), X(t0) = (α1, . . . , αn)T ,
viene dado por:
Xk+1 = Xk +h
6(K1 + 2K2 + 2K3 +K4),
donde
K1 = F (tk, Xk),
K2 = F
(tk +
h
2, Xk +
K1
2
),
K3 = F
(tk +
h
2, Xk +
K2
2
),
K4 = F (tk + h,Xk +K3) ,
para k = 0, 1, . . . ,m− 1,
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 27
ademas,h > 0 (tamano de paso),
tk = t0 + kh, k = 1, 2, . . . ,m,
Xk ≈ X(tk).
Codigo en Matlab de Runge-Kutta vectorial
function [x,t] = RungeKutta4Vectorial(fun, t0, x0, h, m)
t = t0 + h*(0:1:m);
n = length(x0);
x = zeros(m+1,n);
x(1,:) = x0;
for k=1:m
k1 = h*feval(fun, t(k), x(k,:)’);
k2 = h*feval(fun, t(k)+h/2, x(k,:)’ + k1/2);
k3 = h*feval(fun, t(k)+h/2, x(k,:)’ + k2/2);
k4 = h*feval(fun, t(k)+h, x(k,:)’ + k3);
x(k+1,:) = x(k,:) + (k1+2*k2+2*k3+k4)’/6;
end
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 28
Ejercicio
Utilice el metodo de Runge-Kutta para resolver el sistema x′ = x+ 4y − et,
y′ = x+ y + 2et,
con condiciones iniciales
x(0) = 4, y(0) = 5/4.
Ayuda : Emplee la funcion RungeKutta4Vectorial, conjuntamente
con la forma vectorial del sistema dada por:
X ′ = F (t,X), X(0) = (4, 5/4)T ,
donde
X =
x
y
y F (t,X) =
x+ 4y − et
x+ y + 2et
.
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 29
Ecuaciones Diferenciales de Orden Superior
Consideremos la diferencial de la forma
y(n) = f(t, y, y′, y′′, . . . , y(n−1)),
y(i)(t0) = βi, i = 0, 1, . . . , n− 1.(7)
El procedimiento que se utilizara para aproximar la solucion y(t) de la
ecuacion diferencial (7), consiste en convertir esta ecuacion diferencial
en un sistema de ecuaciones diferenciales ordinarias, a saber:
• Definir las funciones x1, x2, . . . , xn como:
x1 = y, x2 = y′, x3 = y′′, . . . xn = y(n−1)
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 30
• Resolver el sistema de ecuaciones diferenciales ordinarias
x′1 = x2
x′2 = x3
x′3 = x4
...
x′n = f(t, x1, x2, x3, . . . , xn)
Ejemplo
Convierta la ecuacion diferencial de orden superior
(sen t)y′′′ + cos(ty) + sen(t2 + y′′) + (y′)3 = log t,
y(2) = 7,
y′(2) = 3,
y′′(2) = −4,
en un sistema de ecuaciones diferenciales ordinarias.
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 31
Solucion.
Definamos las funciones x1, x2, x3 como:
x1 = y, x2 = y′, x3 = y′′
Ası, la ecuacion diferencial dada se convierte en el siguiente sistema
de ecuaciones diferenciales ordinariasx′1 = x2
x′2 = x3
x′3 = [log t− cos(tx1)− sen(t2 − x3)− x23]/ sen t
con condiciones iniciales
x1(2) = 7,
x2(2) = 3,
x3(2) = −4,
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 32
ademas, la forma vectorial de este sistema de ecuaciones diferenciales
es:
X ′ = F (t,X), X(2) = (7, 3, −4)T ,
donde
X =
x1
x2
x3
y
F (t,X) =
x2
x3
log t−cos(tx1)−sen(t2−x3)−x23sen t
.
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 33
Ejercicio
Utilice el metodo de Runge-Kutta para resolver la ecuacion
diferencial de orden superior
(sen t)y′′′ + cos(ty) + sen(t2 + y′′) + (y′)3 = log t,
y(2) = 7,
y′(2) = 3,
y′′(2) = −4,
Ayuda : Primero convierta la ecuacion diferencial en un sistema de
ecuaciones diferenciales ordinarias y expreselo en su forma vectorial.
Luego, emplee la funcion RungeKutta4Vectorial para resolver el
sistema de ecuaciones diferenciales hallado.