EcuacionesDiferencialesOrdinariasSA

33
C B BC Ecuaciones Diferenciales Ordinarias William La Cruz (UCV) 1 Soluci´ on de Ecuaciones Diferenciales Ordinarias Universidad Central de Venezuela Facultad de Ingenier ´ ıa Escuela de Ingenier ´ ıa El ´ ectrica Departamento de Electr´onica, Computaci´ on y Control alculo Num´ erico Junio, 2010

description

EcuacionesDiferencialesOrdinariasSA

Transcript of EcuacionesDiferencialesOrdinariasSA

Page 1: 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

Page 2: EcuacionesDiferencialesOrdinariasSA

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

Page 3: EcuacionesDiferencialesOrdinariasSA

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.

Page 4: EcuacionesDiferencialesOrdinariasSA

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.

Page 5: EcuacionesDiferencialesOrdinariasSA

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

Page 6: EcuacionesDiferencialesOrdinariasSA

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.

Page 7: EcuacionesDiferencialesOrdinariasSA

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

Page 8: EcuacionesDiferencialesOrdinariasSA

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

Page 9: EcuacionesDiferencialesOrdinariasSA

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

Page 10: EcuacionesDiferencialesOrdinariasSA

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

).

Page 11: EcuacionesDiferencialesOrdinariasSA

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,

Page 12: EcuacionesDiferencialesOrdinariasSA

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′′(ξ).

Page 13: EcuacionesDiferencialesOrdinariasSA

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

Page 14: EcuacionesDiferencialesOrdinariasSA

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

Page 15: EcuacionesDiferencialesOrdinariasSA

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.

Page 16: EcuacionesDiferencialesOrdinariasSA

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.

Page 17: EcuacionesDiferencialesOrdinariasSA

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

Page 18: EcuacionesDiferencialesOrdinariasSA

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.

Page 19: EcuacionesDiferencialesOrdinariasSA

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

Page 20: EcuacionesDiferencialesOrdinariasSA

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.

Page 21: EcuacionesDiferencialesOrdinariasSA

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.

Page 22: EcuacionesDiferencialesOrdinariasSA

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.

Page 23: EcuacionesDiferencialesOrdinariasSA

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.

Page 24: EcuacionesDiferencialesOrdinariasSA

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)

Page 25: EcuacionesDiferencialesOrdinariasSA

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 .

Page 26: EcuacionesDiferencialesOrdinariasSA

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,

Page 27: EcuacionesDiferencialesOrdinariasSA

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

Page 28: EcuacionesDiferencialesOrdinariasSA

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

.

Page 29: EcuacionesDiferencialesOrdinariasSA

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)

Page 30: EcuacionesDiferencialesOrdinariasSA

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.

Page 31: EcuacionesDiferencialesOrdinariasSA

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,

Page 32: EcuacionesDiferencialesOrdinariasSA

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

.

Page 33: EcuacionesDiferencialesOrdinariasSA

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.