resolución de sistemas de ecuaciones diferenciales con matlab

18
Resolución de sistemas de ecuaciones diferenciales con MATLAB ódulo 7: Cálculo II ocente: MSc. Joanny Ibarbia Pardo

Upload: joanny-ibarbia-pardo

Post on 15-Apr-2017

1.159 views

Category:

Education


3 download

TRANSCRIPT

Page 1: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

Resolución de sistemas de ecuaciones diferenciales con MATLAB

Módulo 7: Cálculo II

Docente: MSc. Joanny Ibarbia Pardo

Page 2: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

A diferencia de las ecuaciones diferenciales estudiadas en los temas anteriores, consideremos ahora la situación en la que disponemos de una variable independiente t y dos o más variables dependientes:

Conceptos previos

En el caso de simplemente dos variables dependientes, y denotando:

Un sistema de ecuaciones diferenciales ordinarias de primer orden será un sistema de la forma:

Page 3: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

Conceptos previos

Un sistema de ecuaciones diferenciales: es un conjunto de una o más ecuaciones en las que aparecen una o más funciones incógnita, pero todas ellas dependiendo de una sola variable independiente. Para ilustrar este concepto vamos a hacer un ejemplo de cinética química.

Ejemplo 1: Consideremos las siguientes reacciones irreversibles de segundoorden que se producen consecutivamente en un reactor:

Si inicialmente se añaden 2 moles de S y 1 mol de A. ¿Cuál es la cantidad de sustancia en el reactor en cada instante de tiempo?.

Si, como viene siendo habitual, [A], [S], [X] y [Y] representan las concentraciones molares de las sustancias presentes en las reacciones, las ecuaciones diferenciales que modelan la evolución en el tiempo de las concentraciones son:

Page 4: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

Conceptos previos (Continuación)

Esto es un sistema de 4 ecuaciones diferenciales de primer orden con cuatro funciones incógnitas: [A], [S], [X] y [Y]. Así pues, resolver el sistema sería encontrar expresiones para las cuatro funciones (como funciones del tiempo t, que es la variable independiente). Como además se dan unas condiciones iniciales: [A] 0 = 1 mol, [S] 0 = 2 moles, [X] 0 = [Y] 0 = 0 moles, estamos en presencia de un problema de condiciones iniciales.

El ejemplo anterior se trata de un sistema que no es lineal porque las ecuaciones que los componen no lo son. Salvo para sistemas muy concretos sólo disponemos de métodos analíticos generales para resolver sistemas lineales especiales. Por ello no es esperable que podamos obtener, tal y como se nos pide, expresiones analíticas para la evolución de las concentraciones de las sustancias presentes en el reactor a lo largo del tiempo.

Page 5: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

Si cada una de las funciones f1, . . . , fn en el sistema son lineales, entonces el sistema se dice que es lineal.

La forma general de un sistema lineal de n ecuaciones de primer orden es:

Conceptos previos (Continuación)

Así los sistemas siguientes son lineales

a) b)

Page 6: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

Resolución sistemas de ecuaciones diferenciales lineales

a)

Para resolver el sistema anterior es conveniente seguir los pasos siguientes:

>> s=dsolve(‘ Dx1=3*x1- 5 * x2 ','Dx2= - 2 * x1', ‘ t ‘ )s =

x2: [1x1 sym] x1: [1x1 sym]

La respuesta indica que se ha obtenido una solución guardada en s que consta de dos componentes: x1 y x2.Para conocer cómo es cada componente, basta hacer:

>> x2=s . x2 x2 = C1*exp(-2*t) + C2*exp(5*t) >> x1=s . x1 x1 = C1*exp(-2*t) - (5*C2*exp(5*t))/2

X2 (t) = C1 e -2t + C2 e 5t

X1(t) = C1 e -2t – 5/2 C2 e 5t

La solución general del sistema es:

Page 7: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

Resolución sistemas de ecuaciones diferenciales lineales

b)

>> s=dsolve('Dx1=-2*x','Dx2=3*x^2+4','t')

s = x2: [1x1 sym] x1: [1x1 sym]

>> x2=s.x2 x2 = C1 + t*(3*x^2 + 4) >> x1=s.x1 x1 = C1 - 2*t*x

La solución general del sistema es:

X2(t) = C1 + t (3x2 + 4)

X1(t) = C1 – 2tx

Page 8: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

Resolución de sistemas de ecuaciones diferenciales con MATLAB

c)

>> s=dsolve('Du=1/4*u+3/4*v','Dv=9/4*u-5/4*v','x')

s = v: [1x1 sym] u: [1x1 sym]

>> u=s.u u = C1*exp(x) - (C2*exp(-2*x))/3

>> v=s.v v = C1*exp(x) + C2*exp(-2*x)

La solución general del sistema es:

u(x) =C1 ex – 1/3 C2 e-2x

v(x) =ex + C2 e-2x

Page 9: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

Resolución sistemas de ecuaciones diferenciales lineales

d) Resuelva el siguiente sistema teniendo en cuenta las condiciones iniciales que se muestran:

>> s=dsolve('Dx=2*x*y','Dy=y','x(0)=1','y(0)=1','t')

s =

y: [1x1 sym] x: [1x1 sym]

>> y=s.y y = exp(t)

>> x=s.x x = exp(-2)*exp(2*exp(t))

Page 10: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

Resolución sistemas de ecuaciones diferenciales lineales

e) Resuelva el siguiente sistema:

>> s=dsolve('Dx=4*x-y','Dy=2*x+y')

s =

y: [1x1 sym] x: [1x1 sym]

>> y=s.y y = C10*exp(2*t) + C11*exp(3*t)

>> x=s.x x = (C10*exp(2*t))/2 + C11*exp(3*t)

Page 11: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

f) Resuelva el siguiente sistema:

Resolución sistemas de ecuaciones diferenciales lineales

>> s=dsolve('Dx=-x+y','Dy=-2*x-4*y+e^t')

s = y: [1x1 sym] x: [1x1 sym]

>> y=s.y y = exp(-2*t)*(C12 - (e^t*exp(2*t))/(log(e) + 2)) + exp(-3*t)*(C13 + (2*e^t*exp(3*t))/(log(e) + 3))>> x=s.x x = - exp(-2*t)*(C12 - (e^t*exp(2*t))/(log(e) + 2)) - (exp(-3*t)*(C13 + (2*e^t*exp(3*t))/(log(e) + 3)))/2

Page 12: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

Resolución sistemas de ecuaciones diferenciales lineales

g) Resuelva el siguiente problema de valor inicial:

>> s=dsolve('Dx=y','Dy=-x','x(0)=1','y(0)=1')

s =

y: [1x1 sym] x: [1x1 sym]

>> y=s.y y = 2^(1/2)*cos(pi/4 + t)

>> x=s.x x = 2^(1/2)*cos(t - pi/4)

Page 13: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

Resolución de ejercicios sobre ecuaciones diferenciales

a) b)

c) d)

Ejercicio 1. Determina la solución general de las siguientes ecuaciones diferenciales

Ejercicio 2. Determina la solución particular de las siguientes ecuaciones diferenciales teniendo en cuenta la condición inicial :

a) b) c)

y(0) = 0y(0) = ½ y(0) = ½

Page 14: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

Resolución ejercicios sobre ecuaciones diferenciales

a)

b)

>> dsolve('x^3*D3y-x^2*D2y-6*x*Dy+18*y=0','x') ans = C1/x^2 + C2*x^3 + C3*x^3*log(x)

>> dsolve('Dz-1=(z+1)^2-(z-1)^2','x') ans = (C1*exp(4*x))/4 - 1/4

Page 15: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

c)

Resolución ejercicios sobre ecuaciones diferenciales

>> dsolve('D5y+32*y=0','x') ans =

C19*exp(-2*x) + C15*cos((2^(1/2)*x*(5 - 5^(1/2))^(1/2))/2)*exp(x*(5^(1/2)/2 +

1/2)) + C16*sin((2^(1/2)*x*(5 - 5^(1/2))^(1/2))/2)*exp(x*(5^(1/2)/2 + 1/2)) +

C17*exp(-x*(5^(1/2)/2 - 1/2))*cos((2^(1/2)*x*(5^(1/2) + 5)^(1/2))/2) + C18*exp(-

x*(5^(1/2)/2 - 1/2))*sin((2^(1/2)*x*(5^(1/2) + 5)^(1/2))/2)

Page 16: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

d)

Resolución ejercicios sobre ecuaciones diferenciales

>> dsolve('D2y-Dy+3*Dy+y=0','z') ans = C1*exp(-z) + C2*z*exp(-z)

a)

Ejercicio 2

>> dsolve('D2y-2*Dy+2*y=0','y(0)=1/2') ans = (exp(t)*cos(t))/2 + C1*exp(t)*sin(t)

Page 17: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

b)

Resolución ejercicios sobre ecuaciones diferenciales

>> dsolve('Dy =4*t + 2*y','y(0)=1/2') ans = (3*exp(2*t))/2 - 2*t - 1

>> dsolve('D2y+3*Dy-2*y=0')

ans = C1*exp(t*(17^(1/2)/2 - 3/2)) + C2*exp(-t*(17^(1/2)/2 + 3/2))

c)

Page 18: Resolución de sistemas de ecuaciones diferenciales  con  MATLAB

MUCHAS GRACIAS