Practica de modelos compartimentales master ing biomedica upm
1. PRACTICA MODELOS COMPARTIMENTALES
Nombre: Germán Moreno Cuadros
Fecha: 07-11-2016
Resolución de tareas.
TAREA 1.
A.
Dose =10 mg
C(t)
Vd
K= 0.28
B. R1= 0
R2= -K*Vd*C
C. = ₀ e
D. = ln
₀
( )
=
,
∗ = 6,4
2. Tarea 2.
Resolviendo con Matlab
clear all
clf
%PARAMETROS DEL EJERCICIO
Vd = 210; %volumen de distribución [Litros]
Dose = 10.*1000; % Un microgramo = 1000 miligramos
Cinit= Dose./Vd; % concentración inicial del fármaco
k = 0.28; %Eliminación por hora del fármaco
tmax = 12; %Rango de tiempo en horas sobre el cual se va a resolver el
modelo
% Expresión de flujos
Ri = @(t,C) 0;
Re = @(t,C) k*C*Vd; % Eflux
%resolviendo la ecuación diferencial
sol=ode45(@Pharm,[0 tmax], Cinit,[],Vd,Ri,Re);
%Graficando los resultados
tstep = 0.01;
tspan = 0:tstep:tmax;
y = deval(sol,tspan);
plot(tspan,y);grid;
xlabel('tiempo (horas)')
ylabel('concentracion del fármaco microgramos/litro')
%Encontrando el tiempo en que la concentración en plasma va por debajo el
umbral
InPain = find(y<8,1,'First');
TimeForNextDose = tspan(InPain);
disp(['El dolor será insoportable después
de',num2str(TimeForNextDose),'hours']);
5. Tarea 3.
Paciente con línea intravenosa.
A. Gráfico
Ri=0 Infusión de droga constante en el tiempo
Vd
C(t)
RE= K*Vd*C
B. Código Matlab modificado.
clear all
hold all %mantiene el gráfico del primer ejercicio
%PARAMETROS DEL EJERCICIO
Vd = 210; %volumen de distribución [Litros]
Dose = 2.5*1000; % Por hora.
Cinit= 0; % concentración inicial del fármaco será 0
k = 0.28; %Eliminación por hora del fármaco
tmax = 12; %Rango de tiempo en horas sobre el cual se va a resolver el modelo
% Expresión de flujos
Ri = @(t,C) Dose;%influx
Re = @(t,C) k*Vd*C; % Eflux
%resolviendo la ecuación diferencial
sol=ode45(@Pharm,[0 tmax], Cinit,[],Vd,Ri,Re);
%Graficando los resultados
tstep = 0.01;
tspan = 0:tstep:tmax;
y = deval(sol,tspan);
plot(tspan,y);grid;
xlabel('tiempo (horas)')
ylabel('concentracion del fármaco microgramos/litro')
%Encontrando el tiempo en que la concentración en plasma va por debajo el umbral
InPain = find(y>8,1,'First');
TimeForNextDose = tspan(InPain);
disp(['Dolor inaceptable despues de ',num2str(TimeForNextDose),' horas']);
8. Usando Matlab.
clear all
hold all %mantiene el gráfico del primer ejercicio
%PARAMETROS DEL EJERCICIO
Vd = 210; %volumen de distribución [Litros]
Dose = 30*1000; % Por hora.
Cinit= 0; % concentración inicial del fármaco será 0
b=0.24;% Salida de farmaco de Compartimento al
compartimento 2 por hora
k = 0.28; %Eliminación por hora del fármaco por hora
tmax = 12; %Rango de tiempo en horas sobre el cual se va a
resolver el modelo
% Expresión de flujos
Ri = @(t,C) b.*Dose*exp(-b.*t);%influx
Re = @(t,C) k*C*Vd; % Eflux
%resolviendo la ecuación diferencial
sol=ode45(@Pharm,[0 tmax], Cinit,[],Vd,Ri,Re);
% Gráficamente
tstep = 0.01;
tspan = 0:tstep:tmax;
y = deval(sol,tspan);
plot(tspan,y);grid;
xlabel('tiempo (horas)') %Etiqueta del eje X
ylabel('concentracion del fármaco microgramos/litro')
%Etiqueta del eje Y
%Encontrando el tiempo en que la concentracion en plasma va
por debajo el umbral
InPain = find(y>8,1,'First');
TimeForNextDose = tspan(InPain);
disp(['Dolor inaceptable despues de
',num2str(TimeForNextDose),' horas']);
disp(' ');
disp('fin de practica de Modelos Compartimentales');