Professional Documents
Culture Documents
APLICADA
Solucin Numrica de
Sistemas de Ecuaciones Diferenciales Ordinarias
en Ingeniera Qumica
Universidad Tecnolgica Nacional Facultad Regional Rosario
Dr. Alejandro S. M. Santa Cruz
dx1
f 1 t , x1 , x2 , ..., xn
x'1 t
dt
dx2
f 2 t , x1 , x2 , ..., xn
x'2 t
dt
dxn
f n t , x1 , x2 , ..., xn
x'n t
dt
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
x1 t0 x1
x 2 t0 x 2
x 3 t0 x 3
xn t0 xn( 0 )
2
UTN - FRRo
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
3
UTN - FRRo
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
4
UTN - FRRo
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
5
UTN - FRRo
Ejemplo 02
Resolvemos el sgte. sistema:
Condiciones iniciales
dx1
x1 x 2
dt
dx2
x1 2 x 2
dt
x1 1
x
2 1
d
dt
25/11/2015
x1 1 1 x1
x
x
2 1 2 2
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
6
UTN - FRRo
Ejemplo 02
Mtodo Explcito de Euler para Resolver
Sistemas de EDOs
Archivo de Comandos de MATLAB:
Ejemplo_02.m: Archivo de comandos que llama a la funcin
EulerCoupled.m.
Mtodo:
EulerCoupled.m: Funcin que implementa el algoritmo
explcito de Euler para resolver sistemas de EDOs.
Funciones:
TestFunction2.m: Funcin que implementa las derivadas del
sistema de EDOs (llamada por EulerCoupled.m).
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
7
UTN - FRRo
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
8
UTN - FRRo
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
9
UTN - FRRo
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
10
UTN - FRRo
Ejemplo 02
Mtodo Explcito de Euler
Para Resolver un Sistema de EDOs
Ejecucin del Programa en MATLAB
>> Ejemplo_02
Start = 0;
Finish = 10;
Nsteps = 100;
InitialValue = [1;1];
%numerical solution
[x,t] = EulerCoupled(@TestFunction2,InitialValue,Start,Finish,Nsteps);
plot(t,x)
title('System of ODEs: Explicit Euler Method')
xlabel('t')
ylabel('x')
legend('x1','x2')
pause
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
11
UTN - FRRo
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
12
UTN - FRRo
Ejemplo 02
Mtodo Explcito de Euler
Para Resolver un Sistema de EDOs
Ejecucin del Programa en MATLAB (continuacin):
disp('Numerical solution : '),[t x]
Numerical solution :
ans =
0 1.0000 1.0000
1.0000 0.0076 0.2110
2.0000 -0.0413 0.0032
3.0000 -0.0094 -0.0084
4.0000 -0.0003 -0.0020
5.0000 0.0003 -0.0001
6.0000 0.0001 0.0001
7.0000 0.0000 0.0000
8.0000 -0.0000 0.0000
9.0000 -0.0000 -0.0000
10.0000 -0.0000 -0.0000
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
13
UTN - FRRo
dx
f x
dt
g x i1 x i h f x i1 x i1 0
Jg. x
25/11/2015
new
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
old
g x
old
14
UTN - FRRo
J g hJ f I
new
old
old
old
hJ f I . x i 1 x i 1 x i h f x i 1 x i 1
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
15
UTN - FRRo
hJ f I . x i 1 x i h f x i
new
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
16
UTN - FRRo
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
17
UTN - FRRo
Ejemplo 02
Mtodo Implcito de Euler para Resolver
Sistemas de EDOs
Archivo de Comando de MATLAB:
Ejemplo_02.m: Archivo de comandos que llama a la funcin EulerImplicit.m.
Mtodo:
EulerImplicit.m: Funcin que implementa el algoritmo implcito de Euler para
resolver sistemas de EDOs.
Funciones:
TestFunction2.m: Funcin que implementa las derivadas del sistema de EDOs
(llamada por EulerImplicit.m).
funToSolve.m: Funcin que calcula el residuo en el esquema implcito (llamada
por EulerImplicit.m).
fsolve.m: Funcin que resuelve el sistema implcito de ecuaciones para obtener el
valor actualizado de x.
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
18
UTN - FRRo
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
19
UTN - FRRo
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
20
UTN - FRRo
Funciones
function [dx_dt]= TestFunction2(x,t)
%a function which returns a rate of change vector
dx_dt(1) = -1*x(1)-1*x(2);
dx_dt(2) = 1*x(1) -2*x(2);
%note: I could have just multiplied x by a matrix
%change it to a column vector
dx_dt= dx_dt';
return
function residual = funToSolve(x,xo,t,MyFunc,dt)
residual=xo+feval(MyFunc,x,t)*dt-x;
return
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
21
UTN - FRRo
Ejemplo 02
Mtodo Implcito de Euler
Para Resolver un Sistema de EDOs
Ejecucin del Programa en MATLAB:
>> Ejemplo_02
%Ejemplo_02
Start = 0;
Finish = 10;
Nsteps = 100;
InitialValue = [1;1];
%numerical solution
[x,t] = EulerImplicit(@TestFunction2,InitialValue,Start,Finish,Nsteps);
Optimization terminated: first-order optimality is less than options.TolFun.
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
22
UTN - FRRo
Ejemplo 02
Mtodo Implcito de Euler
Para Resolver un Sistema de EDOs
Ejecucin del Programa en MATLAB (continuacin):
plot(t,x)
title('System of ODEs: Implicit Euler Method')
xlabel('t')
ylabel('x')
legend('x1','x2')
pause
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
23
UTN - FRRo
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
24
UTN - FRRo
Ejemplo 02
Mtodo Implcito de Euler
Para Resolver un Sistema de EDOs
Ejecucin del Programa en MATLAB (continuacin):
disp('Numerical solution : '),[t x]
Numerical solution :
ans =
0 1.0000 1.0000
1.0000 0.0808 0.2703
2.0000 -0.0294 0.0372
3.0000 -0.0150 -0.0026
4.0000 -0.0036 -0.0030
5.0000 -0.0004 -0.0009
6.0000 0.0001 -0.0001
7.0000 0.0000 0.0000
8.0000 0.0000 0.0000
9.0000 0.0000 0.0000
10.0000 0.0000 0.0000
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
25
UTN - FRRo
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
26
UTN - FRRo
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
27
UTN - FRRo
d
dt
x1 1 1 x1
x
x
1
2
2
2
O en forma ms general:
x1
d x1
M
.
x
dt x2
2
Existe un estado estacionario en (0,0). Frecuentemente, es
importante saber si el sistema decaer o diverger desde dicho
estado, si es perturbado. Para sistema lineales, podemos obtener
una solucin analtica. Podemos factorizar M de la siguiente forma:
1
M U . .U
donde es la matriz de los autovalores de M, y U la matriz de los
autovectores.
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
28
UTN - FRRo
x1
d x1
1
x U . . U . x
dt 2
2
Premultiplicando por U se obtiene:
x1
x1
d
U . . U .
dt
x2
x2
y1
y1
y . y
2
2
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
29
UTN - FRRo
d y1 1
y 0
dt 2
0 y1
2 y2
dy1
1 y1 y1 exp 1 t
dt
dy2
2 y2 y2 exp 2 t
dt
O, en notacin vectorial:
y1 exp 1 t
y exp t
2
2
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
30
UTN - FRRo
y1 x 1
.
y2 x2
Finalmente obtenemos:
exp 1 t
x1
1
x U . exp t
2
2
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
31
UTN - FRRo
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
32
UTN - FRRo
1 1
M
1
2
3
1 1.5 j
2
3
2 1.5 j
2
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
33
UTN - FRRo
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
34
UTN - FRRo
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
35
UTN - FRRo
1.5 0.866 j h 1 1
3 2
h 1
4
3
2
1 1.5h 3h h2 1
4
3h2 3h 1 1
1 1.5h
h h 1 0
h1
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
36
UTN - FRRo
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
37
UTN - FRRo
x'1 t
x'n t
dxn
f n t , x1 , x2 , ..., xn
dt
f
x*
d
x
f
x*
2
2
x 1
f 3
x 1
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
f 1
x 2
f 1
x 3
f 2
x 2
f 2
x 3
f 3
x 2
f 3
x 3
dx1
dx2
dx
3
38
UTN - FRRo
d x x*
f x* J . x x*
dt
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
39
UTN - FRRo
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
40
UTN - FRRo
25/11/2015
Matem
Matemtica Superior Aplicada
Dr. Alejandro S. M. Santa Cruz
41
UTN - FRRo