Matlab - Sistema de EDOS con constantes

 
Vista:
sin imagen de perfil

Sistema de EDOS con constantes

Publicado por Patricio (6 intervenciones) el 23/07/2015 04:42:28
Muy buenas noches a todos les queria pedir ayuda no se que esta mal en mi programa de sistema de ecuaciones diferenciales les agradezco mucho su ayuda

Saludos

%Constantes
R=8.314; %ctte de los fases
To= 723; %temperatura inicial Kelvin
h=0.00078; %velocidad de calentamiento Kelvin/s

%Constantes de velocidad para la descomposicion de biomasa
K1=(4.380E09)*exp(-152700/(R*(To)));%Descomposicion de la biomasa en gas
K2=(1.080E10)*exp(-148000/(R*(To)));%Descomposicion de la biomasa en bio-oil
K3=(3.375E06)*exp(-111700/(R*(To)));%Descomposicion de la biomasa en solido-intermediario
K4=(1.380E10)*exp(-161000/(R*(To)));%Descomposicion de solido intermediario en carbonizado
K5=(1.000E05)*exp(-108000/(R*(To)));%Descomposicion de bio-oil en carbonizado
K6=(4.280E06)*exp(-108000/(R*(To)));%Descomposicion de bio-oil en gas

%Programa de ecuacion diferencial
Eq=@(t,x)([-(K1(t)+K2(t)+K3(t))*x(1)*1/h;...
(K3(t)*x(1)-K4(t)*x(2))*1/h;...
(K4(t)*x(2)+K5(t)*x(5))*1/h;...
(K1(t)*x(1)+K6(t)*x(5))*1/h;...
(K2(t)*x(1)-(K6(t)+K5(t))*x(5))*1/h]);

[t,x]=ode45(Eq,0:0.1:10,[1 0 0 0 0]);

plot(t,x)

Muchas gracias de antemano, no tengo mucha idea de matlab
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Daniel
Val: 269
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Sistema de EDOS con constantes

Publicado por Daniel (264 intervenciones) el 23/07/2015 17:51:08
Veo que volviste al ruedo, te faltó poner @(t) en la definición de la K's

quedaría así:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
clear all
clf,clc
 
%Constantes
R=8.314; %ctte de los fases
To= 723; %temperatura inicial Kelvin
h=0.00078; %velocidad de calentamiento Kelvin/s
 
%Constantes de velocidad para la descomposicion de biomasa
K1=@(t)(4.380E09)*exp(-152700/(R*(To)));%Descomposicion de la biomasa en gas
K2=@(t)(1.080E10)*exp(-148000/(R*(To)));%Descomposicion de la biomasa en bio-oil
K3=@(t)(3.375E06)*exp(-111700/(R*(To)));%Descomposicion de la biomasa en solido-intermediario
K4=@(t)(1.380E10)*exp(-161000/(R*(To)));%Descomposicion de solido intermediario en carbonizado
K5=@(t)(1.000E05)*exp(-108000/(R*(To)));%Descomposicion de bio-oil en carbonizado
K6=@(t)(4.280E06)*exp(-108000/(R*(To)));%Descomposicion de bio-oil en gas
 
%Programa de ecuacion diferencial
Eq=@(t,x)([-(K1(t)+K2(t)+K3(t))*x(1)*1/h;...
(K3(t)*x(1)-K4(t)*x(2))*1/h;...
(K4(t)*x(2)+K5(t)*x(5))*1/h;...
(K1(t)*x(1)+K6(t)*x(5))*1/h;...
(K2(t)*x(1)-(K6(t)+K5(t))*x(5))*1/h]);
 
[t,x]=ode45(Eq,[0 10],[1 0 0 0 0]);
 
plot(t,x)


También te modifique el intervalo 0:.1:10 por [0 10] que generalmente conviene ya que utiliza la cantidad de puntos apropiada para representar de manera suave la solución.




si te fijas la evolución apreciable del sistema ocurre en un intervalo mas pequeño de alrededor de [0 0.1], podes poner este intervalo en el ode para ver mejor la evolución.

1
[t,x]=ode45(Eq,[0 0.1],[1 0 0 0 0]);

como siempre te pido que nos comentes como te fue

Saludos

Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Sistema de EDOS con constantes

Publicado por Patricio (6 intervenciones) el 24/07/2015 18:07:37
Muchas gracias Daniel, la verdad me sirvio mucho tu ayuda, en el caso las K's no puse en un pricipio @(t) pq pense, como estos no son variables podia definirlos simplemente sin @(t) , pero ya me di cuenta q era necesario, respecto a la variacion entre 0 0.1 estuvo mejor ponerlo como me dijiste .....saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Daniel
Val: 269
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Sistema de EDOS con constantes

Publicado por Daniel (264 intervenciones) el 24/07/2015 19:15:50
Es cierto lo que decis, podes alternativamente definir tu sistema Eq sin poner entonces Kn(t) sino solo Kn:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
clear all
clf,clc
 
%Constantes
R=8.314; %ctte de los fases
To= 723; %temperatura inicial Kelvin
h=0.00078; %velocidad de calentamiento Kelvin/s
 
%Constantes de velocidad para la descomposicion de biomasa
K1=(4.380E09)*exp(-152700/(R*(To)));%Descomposicion de la biomasa en gas
K2=(1.080E10)*exp(-148000/(R*(To)));%Descomposicion de la biomasa en bio-oil
K3=(3.375E06)*exp(-111700/(R*(To)));%Descomposicion de la biomasa en solido-intermediario
K4=(1.380E10)*exp(-161000/(R*(To)));%Descomposicion de solido intermediario en carbonizado
K5=(1.000E05)*exp(-108000/(R*(To)));%Descomposicion de bio-oil en carbonizado
K6=(4.280E06)*exp(-108000/(R*(To)));%Descomposicion de bio-oil en gas
 
%Programa de ecuacion diferencial
Eq=@(t,x)([-(K1+K2+K3)*x(1)*1/h;...
    (K3*x(1)-K4*x(2))*1/h;...
    (K4*x(2)+K5*x(5))*1/h;...
    (K1*x(1)+K6*x(5))*1/h;...
    (K2*x(1)-(K6+K5)*x(5))*1/h]);
 
[t,x]=ode45(Eq,[0 .10],[1 0 0 0 0]);


Así el programa debería incluso correr mucho mas rápido por los K's ahora son numeros fijos.

Saludos

Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar