求助……matlab数学实验(给药方案)
给药方案:某药物在血液中浓度低于10时,没有疗效;高于25(μg/ml)时,又会导致药物中毒,所以有效浓度为(10,25),制定给药方案:(1)血药浓度变化规律c=c(t...
给药方案:某药物在血液中浓度低于10时,没有疗效;高于25(μg/ml)时,又会导致药物中毒,所以有效浓度为(10,25),制定给药方案:(1)血药浓度变化规律c=c(t)是什么?(2)初始剂量D0多大?(3)间隔多长时间τ给药?(4)每次重复剂量D多大?
实验数据:一次注射300mg后,一定时间t采样测得血浓度c(μg/ml)如下表
时间
0.25
0.5
1
1.5
2
血浓度
19.21
18.15
15.36
14.10
12.89
时间
3
4
6
8
血浓度
9.32
7.45
5.24
3.01
建模提示:给药方案的解决
1. 设血药浓度降低的速率与当时浓度成正
比:dc/dt=-kc 。
2. 体内血液容积V不变:d=300时,c(0)= d/V。
3. 得到解为:c(t)=(d/V)*e^(-k*t) ,解出V。
4. 初始剂量D0=Vc2,D=V(c2-c1); m=(1/k)ln(c2/c1)
。
对了,要的是程序设计……我才一级,身上没几分,烦劳各位GGJJ了~ 展开
实验数据:一次注射300mg后,一定时间t采样测得血浓度c(μg/ml)如下表
时间
0.25
0.5
1
1.5
2
血浓度
19.21
18.15
15.36
14.10
12.89
时间
3
4
6
8
血浓度
9.32
7.45
5.24
3.01
建模提示:给药方案的解决
1. 设血药浓度降低的速率与当时浓度成正
比:dc/dt=-kc 。
2. 体内血液容积V不变:d=300时,c(0)= d/V。
3. 得到解为:c(t)=(d/V)*e^(-k*t) ,解出V。
4. 初始剂量D0=Vc2,D=V(c2-c1); m=(1/k)ln(c2/c1)
。
对了,要的是程序设计……我才一级,身上没几分,烦劳各位GGJJ了~ 展开
1个回答
展开全部
用非线性回归曲线拟合方法,nlinfit函数。
function blood
clc;clear;
d=300;c1=10;c2=25;
t=[0.25 0.5 1 1.5 2 3 4 6 8]'
c=[19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01]'
beta = NLINFIT(t,c,@fun,[1 1]);
d_V=beta(1);k=beta(2),V=d/d_V
tt=0:0.1:8;
C=d_V*exp(-k*tt);
plot(t,c,'o',tt,C)
D0=V*c2,D=V*(c2-c1),m=(1/k)*log(c2/c1)
function ct=fun(beta,t)
d_V=beta(1);k=beta(2);
ct=d_V*exp(-k*t);
结果:
t =
0.2500
0.5000
1.0000
1.5000
2.0000
3.0000
4.0000
6.0000
8.0000
c =
19.2100
18.1500
15.3600
14.1000
12.8900
9.3200
7.4500
5.2400
3.0100
k = 0.2420
V = 14.8212
D0 = 370.5291
D = 222.3175
m = 3.7868
另外,可以用符号计算,求出浓度与时间的关系:
>> c=dsolve('Dc=-k*c','c(0)=d/V')
c =
d/V*exp(-k*t)
function blood
clc;clear;
d=300;c1=10;c2=25;
t=[0.25 0.5 1 1.5 2 3 4 6 8]'
c=[19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01]'
beta = NLINFIT(t,c,@fun,[1 1]);
d_V=beta(1);k=beta(2),V=d/d_V
tt=0:0.1:8;
C=d_V*exp(-k*tt);
plot(t,c,'o',tt,C)
D0=V*c2,D=V*(c2-c1),m=(1/k)*log(c2/c1)
function ct=fun(beta,t)
d_V=beta(1);k=beta(2);
ct=d_V*exp(-k*t);
结果:
t =
0.2500
0.5000
1.0000
1.5000
2.0000
3.0000
4.0000
6.0000
8.0000
c =
19.2100
18.1500
15.3600
14.1000
12.8900
9.3200
7.4500
5.2400
3.0100
k = 0.2420
V = 14.8212
D0 = 370.5291
D = 222.3175
m = 3.7868
另外,可以用符号计算,求出浓度与时间的关系:
>> c=dsolve('Dc=-k*c','c(0)=d/V')
c =
d/V*exp(-k*t)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询