基于Matlab软件的药时曲线拟合及其程序实现
2017-09-09潘敏
潘敏
摘要:本文利用matlab软件,主要就口服及快速静脉注射下的一室模型的血药浓度的药时曲线进行拟合,并在拟合过程中对数据进行了可视化处理,为药物动力学中药时模型参数的计算提供方法。
关键词:药物动力学;药时曲线;Matlab数据拟合
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2017)07-0085-02
药物动力学是定量研究药物在生物体内吸收、分布、排泄和代谢随时间变化的过程的一门学科。主要用到室模型的方法,通过假设人体是一个室、两个室、多个室等,可相应地得到一室模型、二室模型、多室模型等。室模型的建立还与给药方式有关,通常的给药方式有:快速静脉注射、恒速静脉滴注、口服或肌肉注射。然而,要确定模型中的参数,直观地展示模型中变量的变化规律,需要做复杂的数值计算和图形处理。本文利用matlab软件,主要就口服及快速静脉注射下的一室模型的血药浓度的药时曲线进行拟合,为药物动力学中药时模型参数的计算提供方法。
1 模型一:口服一室模型
现有10位成年男性健康受试者,服用某种剂量相同的药物后测得平均血药浓度如表1。
1.1 模型假设
(1)将机体看做一个房室,室内血药浓度均匀,即一室模型;
(2)药物吸收与消除比例系数分别为和;
(3)初始浓度为0。
1.2 模型建立与求解
由模型假设,血药浓度的变化规律为:。
利用Matlab软件拟合该药时曲线:
首先建立M文件:function f=yaoshiquxian(x,xdata)
f=x(1)*exp(-x(2)*xdata)-exp(-x(3)*xdata))
end
保存为文件 yaoshiquxian.m
编写下面的程序调用拟合函数:
xdata=[0.5 1 1.5 2 3 4 5 6 8 10];
ydata=[0.15 0.4 0.62 0.75 0.73 0.6 0.52 0.45 0.38 0.25];
plot(xdata,ydata,'*');
x0=[0.1 0.1 0.1];
[x,resnorm]=lsqcurvefit(@yaoshiquxian,x0,xdata,ydata);
t=0:0.1:12;
c=x(1)*(exp(-x(2)*t)-exp(-x(3)*t));
hold on;
plot(t,c,'r-','linewidth',2);
即拟合药时曲线为:,具体图形如图1所示。
2 模型二:快速静脉注射一室模型
快速静脉注射后,浓度立即上升,然后逐渐下降。现测得将300(微克)某种注射液快速注入人体后,该药品在血液中的浓度c(微克/毫升)与时间t(小时)的数据如表2所示。
2.1 模型假设
(1)将机体看做一个房室,室内血药浓度均匀,即一室模型;
(2)药物消除比例系数分别为;
(3)初始浓度为,其中为初始注入药物的剂量,为中心室血液容积。
2.2 模型建立与求解
由模型假设,血药浓度的变化规律为:。
利用Matlab软件编程拟合该药时曲线:
d=300;
t=[0.25 0.5 1 1.5 2 3 4 6 8];
c=[21.21 20.15 17.36 16.20 14.89 11.32 9.45 7.24 5.01];
y=log(c);
a=polyfit(t,y,1);
k=-a(1);
v=d/exp(a(2));
t1=[0:0.1:8];
ct=(d/v)*exp(-k*t1);
plot(t,c,'*',t1,ct,'g-')
即拟合药时曲线为:,具体图形如图2所示。
参考文献
[1]高辉,胡良平,李长平,郭晋,鲍晓蕾,毛玮.二项型指数曲线在药-时曲线拟合中的應用[J].中国卫生统计,2011,05:520-522.
[2]杨帆,黎宁,刘恩.非线性最小二乘法及BP神经网络在血管外给药动力学模拟中的应用[J].数理医药学杂志,2007,02:200-202.endprint