Estudiante de Ing. Biomédica
Publicado por Esteban (1 intervención) el 23/06/2010 19:17:37
Tengo un sistema de ecuaciones diferenciales que he rescato de un modelo biológico de control de la glucosa en la sangre por la insulina. la cosa es que tengo estas ecuaciones
%Constantes
Gn = 100;
Koi = 0.0005;
Kog = 0.0001;
Kp = 0.1;
Kt = 0.0005;
Qg = 0.1;
Qi = 0.1;
Qsf = 0.1;
%Funciones de entrada de Sustancias
Gin = ing_glu(t);
Iin = iny_ins(t);
Sin = iny_sulf(t);
Estas funciones corresponden a la ingesta de glucosa a traves de las comidas, inyecciones de insulina y de ingesta de sulfonilureas, un medicamento que aporta a la liberación de insulina en el cuerpo
%Ecuaciones Diferenciales
output1 = Kp*(Gs-Gn)-Koi*Is+Qi*Iin+Qsf*Sin;
output2 = Qg*Gin-Kt*Is*Gs-Kog*Gs;
Estas son las ecuaciones diferenciales del sistema, output 1 correspondería a la derivada de Is en el tiempo, y output2 a la derivada de Gs en el tiempo
Is= insulina en la sangre
Gs=glucosa en la sangre
en el script de resolucion tengo escrito esto:
function resolucion_sistema(t,V)
[ti,So] = ode45('GluIns' , t , V);
subplot(2,1,1)
plot(ti,So(:,1))
subplot(2,1,2)
plot(ti,So(:,2))
y "GluIns" es la funcion que representa el sistema de ecuaciones, que en parte esta construido con lo que presente al principio, de todas formas se los copiare completo
function Output=GluIns(t,v)
%Constantes
Gn = 100;
Koi = 0.0005;
Kog = 0.0001;
Kp = 0.1;
Kt = 0.0005;
Qg = 0.1;
Qi = 0.1;
Qsf = 0.1;
%Valores Iniciales
Gs = v(1);
Is = v(2);
%Funciones de entrada de Sustancias
Gin = ing_glu(t);
Iin = iny_ins(t);
Sin = iny_sulf(t);
%Ecuaciones Diferenciales
output1 = Kp*(Gs-Gn)-Koi*Is+Qi*Iin+Qsf*Sin;
output2 = Qg*Gin-Kt*Is*Gs-Kog*Gs;
%Resultado
Output=[output1; output2];
FINALMENTE MI PROBLEMA ES QUE NO LOGRO SACAR LOS GRÁFICOS, MATLAB SE QUEDA EN ESTADO "BUSY" Y NUNCA TERMINA
la idea es ver el comportamiento de la Insulina y la glucosa en la sangre en un dia completo muestreando por minuto 1dia = 24horas = 1440minutos
ojala alguien pueda ayudar en algo xD
%Constantes
Gn = 100;
Koi = 0.0005;
Kog = 0.0001;
Kp = 0.1;
Kt = 0.0005;
Qg = 0.1;
Qi = 0.1;
Qsf = 0.1;
%Funciones de entrada de Sustancias
Gin = ing_glu(t);
Iin = iny_ins(t);
Sin = iny_sulf(t);
Estas funciones corresponden a la ingesta de glucosa a traves de las comidas, inyecciones de insulina y de ingesta de sulfonilureas, un medicamento que aporta a la liberación de insulina en el cuerpo
%Ecuaciones Diferenciales
output1 = Kp*(Gs-Gn)-Koi*Is+Qi*Iin+Qsf*Sin;
output2 = Qg*Gin-Kt*Is*Gs-Kog*Gs;
Estas son las ecuaciones diferenciales del sistema, output 1 correspondería a la derivada de Is en el tiempo, y output2 a la derivada de Gs en el tiempo
Is= insulina en la sangre
Gs=glucosa en la sangre
en el script de resolucion tengo escrito esto:
function resolucion_sistema(t,V)
[ti,So] = ode45('GluIns' , t , V);
subplot(2,1,1)
plot(ti,So(:,1))
subplot(2,1,2)
plot(ti,So(:,2))
y "GluIns" es la funcion que representa el sistema de ecuaciones, que en parte esta construido con lo que presente al principio, de todas formas se los copiare completo
function Output=GluIns(t,v)
%Constantes
Gn = 100;
Koi = 0.0005;
Kog = 0.0001;
Kp = 0.1;
Kt = 0.0005;
Qg = 0.1;
Qi = 0.1;
Qsf = 0.1;
%Valores Iniciales
Gs = v(1);
Is = v(2);
%Funciones de entrada de Sustancias
Gin = ing_glu(t);
Iin = iny_ins(t);
Sin = iny_sulf(t);
%Ecuaciones Diferenciales
output1 = Kp*(Gs-Gn)-Koi*Is+Qi*Iin+Qsf*Sin;
output2 = Qg*Gin-Kt*Is*Gs-Kog*Gs;
%Resultado
Output=[output1; output2];
FINALMENTE MI PROBLEMA ES QUE NO LOGRO SACAR LOS GRÁFICOS, MATLAB SE QUEDA EN ESTADO "BUSY" Y NUNCA TERMINA
la idea es ver el comportamiento de la Insulina y la glucosa en la sangre en un dia completo muestreando por minuto 1dia = 24horas = 1440minutos
ojala alguien pueda ayudar en algo xD
Valora esta pregunta


0