Professional Documents
Culture Documents
,
_
,
_
,
_
dt
dx
dt
dx
dt
dx
X
t x
t x
t x
X
c c c
c c c
c c c
C
n n nn n n
n
n
M
M
L
M O M M
K
L
2
1
2
1
2 1
2 22 21
1 12 11
' ,
) (
) (
) (
,
Reescribiendo las condiciones iniciales como vector
X(0) = Xo
Donde :
,
_
n
k
k
k
Xo
M
2
1
Ejemplo.- Considere el problema de valor inicial
dx
1
/dt = 1.7x
1
+ 3.5x
2
dx
2
/dt = 1.3x
1
4.6x
2
s.a:
x1(0) = 2.7
x
2
(0) = 1.1
El problema se introduce en MATLAB de la siguiente forma (en adelante todas las
pantallas de matlab se muestran en un recuadro con fuente courier new)
>> clear all
>> C = [1.7 3.5; 1.3 -4.6];
>> X0=[2.7 1.1];
>> X0=X0';
>> C
C =
1.7000 3.5000
1.3000 -4.6000
>> X0
X0 =
2.7000
1.1000
Se puede demostrar (pero no se hace en este documento) el siguiente teorema que nos
da la solucin al problema anteriormente enunciado:
Sea v un eigenvector de la matriz C de n x n con eigenvalor . Entonces
X(t) = e
t
v
Es una solucin al sistema de ecuaciones diferenciales X = CX
Consideremos brevemente los conceptos asociados al clculo de eigenvalores y
eigenvectores de matrices. Sea A una matriz cuadrada de n x n. Se define como un
eigenvalor real de A si hay un vector v con n elementos reales diferentes de cero, para el
cual se cumple:
Av = v
El vector v recibe el nombre de eigenvector asociado a . Tambin podemos escribir la
ecuacin anterior comoel siguiente sistema homogeneo:
(A-I
n
)v = 0
Cuando los eigenvalores (valores propios) de C son reales y distintos, la solucin se
halla en cuatro pasos:
Paso 1.- Encuentre los eigenvalores l1, l2 de C
Estos eigenvalores son las raices del polinomio caracterstico
P
a
(l) = det(A lI
2
)
Para el problema ejemplo que nos ocupa, 1= 2.3543 y 2= -5.2543
>> L = eig(C)
L =
2.3543
-5.2543
Paso 2.- Encuentre los eigenvectores v1 y v2 de C asociados con los eigenvalores l
1
,
l
2
de C; cada eigenvector se halla resolviendo el sistema homogeneo de ecuaciones
lineales
(C
1
- l
1
I
2
)v
1
= 0
(C
2
l
2
I
2
)v
2
= 0
Para una solucin, v
i
, diferente de cero.
En MATLAB primero formulamos el factor (C li Ii) para cada eigenvalor; ya que
tenemos un sistema de 2 ecuaciones diferenciales, utilizamos la matriz identidad de
orden 2, I
2
.
>> C1=C-L(1)*eye(2)
C1 =
-0.6543 3.5000
1.3000 -6.9543
>> C2=C-L(2)*eye(2)
C2 =
6.9543 3.5000
1.3000 0.6543
Luego encontramos una solucin diferente de cero para el sistema homogeneo asociado
(a cada eigenvalor), (C
i
l
i
I
i
)v
i
= 0
>> V1 = null(C1)
V1 =
-0.9830
-0.1838
>> V2=null(C2)
V2 =
0.4496
-0.8932
Paso 3.- Use la superposicin para escribir la solucin general al sistema de
ecuaciones diferenciales ordinarias
X(t) = a
1
exp(l
1
t)v
1
+ a
2
exp(l
2
t)v
2
Para el ejemplo, contamos con la base de informacin suficiente para escribir la
siguiente solucin:
1
]
1
+
1
]
1
8932 . 0
4496 . 0
1838 . 0
9830 . 0
) (
2543 . 5
2
3543 . 2
1
t t
e e t X
Paso 4.- Resuelva el problema de valor inicial solucionando el sistema de
ecuaciones lineales
X(0) = a1 v1 + a2 v2
Puede escribirse el sistema anterior de la forma
Xo A
1
]
1
2
1
Donde A = (v1 v2)
De forma tal que, Xo se obtiene resolviendo el sistema de ecuaciones lineales, por
definicin:
Xo A
1
2
1
1
]
1
>> A =[V1 V2]
A =
-0.9830 0.4496
-0.1838 -0.8932
>> a = inv(A)*X0
a =
-3.0253
-0.6091
La solucin particular puede escribirse finalmente como:
1
]
1
+
1
]
1
8932 . 0
4496 . 0
6091 . 0
1838 . 0
9830 . 0
0253 . 3 ) (
2543 . 5 3543 . 2 t t
e e t X
Haciendo operaciones:
t t
t t
e e t x
e e t x
2543 . 5 3543 . 2
2
2543 . 5 3543 . 2
1
) 8932 . 0 ( 6091 . 0 ) 1838 . 0 ( 0253 . 3 ) (
) 4496 . 0 ( 6091 . 0 ) 9830 . 0 ( 0253 . 3 ) (
La solucin del sistema de ecuaciones diferenciales (pro blema de valor inicial) es:
t t
t t
e e t x
e e t x
2543 . 5 3543 . 2
2
2543 . 5 3543 . 2
1
5440 . 0 5560 . 0 ) (
2739 . 0 9738 . 2 ) (
+
Paso 5.- Visualizar la solucin:
Sencillamente, requerimos evaluar x
1
(t) y x
2
(t) para diferentes valores de t, digamos por
ejemplo, graficar desde t = 0 hasta t = 2, utilizando una malla con 20 nodos en ese
intervalo:
>> t=linspace(0,2,20);
>> x1=a(1)*exp(L(1)*t)*V1(1)+a(2)*exp(L(2)*t)*V2(1);
>> x2=a(1)*exp(L(1)*t)*V1(2)+a(2)*exp(L(2)*t)*V2(2);
>> plot(t,x1);
>> hold on
>> plot(t,x2)