基于MATLAB的药代动力学实验数据处理及参数估计(精)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLAB的药代动力学实验数据处理及参数估计
【关键词】药代动力学;,,实验数据处理;,,MATLAB;,,评价,,,, 摘要:介绍了MATLAB在药代动力学中实验数据处理的基本方法并对利用MATLAB进行双指数模型拟合与常用EXCEL软件进行双指数模型拟合以及参数求解的方便性、准确性作出了评价。关键词:药代动力学;实验数据处理; MATLAB;评价
药代动力学是临床药理学、药剂学、毒理学等科学的专业基础,对于新药设计、剂型改革、合理用药等方面都有直接指导意义。如何对实验数据进行正确的处理以及选择正确的处理方式是准确表达药物动力学过程的关键,以便对临床用药和药物设计等方面提供可靠的依据。目前大多数的药物的药代动力学过程基本符合二室模型,其原理是将人体分为两个房室即中央室和周边室,以中央室的消除为主不考虑周边室的消除,并假设药物的吸收交换和消除都是一级过程。 1 模型及参数二室模型的药物动力学[1]方程为:C=Ae-αt Be-βt其中C表示血药浓度,t表示时间,A、B、α、β表示各项常系数。二室模型的其它参数计算公式分别为:① 药物的分布相半衰期:t1
2α=0.693
α② 药物的消除半衰期:t1
2β=0.693
β③ 药物从周边室向中央室的分布速率常数:
k21=Aβ Bα
A B④ 药物中央室消除速率常数:k10=αβ
k21⑤ 药物的中央室向周边室的分布速率常数:
k12=α β-k10-k21⑥ 药物的中央室分布容积: V1=D0
A B⑦ 药物的消除率: CL=V1k10以上是药代动力学过程中的各个参数的计算公式,求得模型中的各项常系数即可取得各个参数值。 2 MATLA
B 处理数据[2]以磺胺噻唑(D0=250mg/kg)二室模型动力学参数测定为例,利用MATLAB对实验数据浓度时间作非线性曲线拟合。实验测得的数据为:时间(min)
2
5
10
20
30
60
90
120
150
180
210浓度(mg/L)
766
659
470
239
180
160
145
132
123
112
MATLAB中引入了两个命令来进行曲线的拟合定义非线性方程的命令(inline)和拟合曲线方程命令(nlinfit),其进行曲线拟合的程序为:% 输入数据 t=[2 5 10 20 30 60 90 120 150 180 210]; c=[766 659 470 300 239 180 160 145 132 123 112];% x0为给A,alpha, B, beta初值 x0=[0 0 0 0];% 定义模型函数f=inline(’x(1)*exp(-x(2)*t) x(3)*exp(-
x(4)*t)’,’x’,’t’);% 进行非线性曲线拟合[b,r,j]
=nlinfit(t,c,f,x0);b=b’;% 得到各个系数值 A=b(1),
alpha=b(2),B=b(3),beta=b(4)通过该程序得到了各个系数的值为:
A=683.1323
α=0.0908
B=208.0097
β=0.0030将各系数带入方程就直接得到了磺胺噻唑药代动力学模型
方程为:C=683.1323e-0.0908t 208.0068e-0.003t将其模型函数与实验点利用MATLAB作图,见图1,其调用的命令为plot与ezplot。从图形看,拟合曲线
和实际数据点吻合很好,此外引入一个可决系数[3]R2值作进一步说明,R2
一般大于0.99说明效果较好,越接近于1就越好。其计算公式为:R2=1-∑n i=1(Ci-i)/∑n
i=1(Ci-)通过MATLAB按照此计算公式得出可决系数R2为099877,拟合效果较好。
图1 磺胺噻唑药代动力学略 3 MATLAB与EXCEL处理比较在用EXCEL处理二室模型的数据时,常把模型分为分布相和消除相,采用分段拟合来进行,由于指数可以转化为对数而成直线,以此分两段直线进行拟合而得各个系数以及各个参数值,具体处理过程略。由于其不是把整个模型连续起来且前后选点的个数均受到实验、自身条件等因素不能正确选择,处理时可能带来误差、计算的麻烦及处理的不准确性,另外EXCEL对整个拟合不能做出很好的评价。用EXCEL处理得到的磺胺噻唑药代动力学模型方程为:
C=593.3711e-0.077752t 206.7486e-0.00291t利用EXCEL拟合曲线与实验点的可决系数R2为0.9886<0.99877,说明拟合效果不是很好,较MATLAB差,不能更好的表达磺胺噻唑的药代动力学过程,因此EXCEL处理的其他参数也不能更准确的计算。将利用MATLAB和EXCEL处理的参数分别带入前面的参数计算公式得到各个参数的值列于下表:参数
t1
2α
t1
2β
k21
k12
V1
CLMATLAB
7.6332
231.00
0.0235
0.0116
0.0587
0.2805
3.5EXCEL
8.9130
238.14
0.0222
0.0102
0.0483
0.3125
3.2
由表中数据可知,MATLAB得出的参数与EXCEL得出的参数有一定的出入,这与曲线拟合的好坏是有关系的,拟合的越准确,参数的意义就大,提供信息就越好。以上说明了EXCEL进行非线性拟合只能在将数据转化为直线的时候进行,不能直接表达或不能表达非线性的连续性。在实际应用中很多两两之间的关系往往都是非线性的,常用的EXCEL不能直接转化为线性而进行拟合,基于此问题,建议利用MATLAB软件进行非线性曲线拟合。下面利用饮酒[4]的血药浓度的数据再次讨论MATLAB进行非线性曲线的拟合,虽然酒清浓度的变化也呈双指数模型,但饮酒的过程是吸收、分布、消除同时进行,拟合时不宜用EXCEL进行处理,这样造成的误差会更大。饮酒的酒精血药浓度(mg/100ml)时间(h)数据如下表:t
0.25
0.5
0.75
1
1.5
2
2.5
3C
30
68
75
82
77
68
68t
3.5