首页 > 其他分享 >建模案例-药物中毒的施救方案

建模案例-药物中毒的施救方案

时间:2024-12-20 18:30:00浏览次数:9  
标签:mu 施救 exp 建模 血液 药物中毒 1100 lambda

建模案例-药物中毒的施救方案

书籍:MATLAB数学建模方法与应用。仅作为学习使用,大家理性学习

本内容涉及高等数学计算,建议大家再学一遍,感触颇深

文章目录

一、问题描述

一名儿童一次性误服 11 片治疗哮喘病的、计量为 100mg/片的氨茶碱片,到达医院就诊时,距服药时刻已过去两个小时,此时孩子已经出现呕吐、头晕等不良症状。按照药品使用说明书,氨茶碱的成人用量是每次 100~200mg,儿童用量是 3~5mg/kg,如果过量服用,可使血药浓度(单位容积血液中的药量)过高,当血药浓度达到 100μg/ml 时,会出现严重中毒,达到 200μg/ml 则可致命。按接诊医生需要根据专业知识迅速判断孩子的中毒情况,选择合理的施救方案。

二、问题分析

人体服用药物后的吸收代谢过程,药物首先进入胃肠道,再由胃肠道的外壁进入血液循化系统,然后随血液循环被人体脏器代谢而排除体外。血液系统系统对药物的吸收率(药物从胃肠道向血液系统转移的转移率)通常与胃肠道中的药量成正比,血液系统对药物的排除率(药物从血液系统向体外转移的转移率)通常与血液中的药物成正比。

口服药物 胃肠道 血液系统 体外

接诊医生需要根据药物的吸收代谢规律及时计算出孩子入院时的血药浓度,依次选择接下来的施救方案。如果血药浓度达到危险的水平,可选的临床施救方案包括:口服活性炭和体外血液透析,前者通过口服活性炭来吸附药物,可使血液中药物的排除率增至原来(人体自身)的 2 倍,后者通过体外对血液进行过滤,可使血液中药物的排除率增至原来的 6 倍。

三、模型假设与符号约定

为了判断孩子的中毒状况,需要建立数学模型,求出胃肠道和血液系统中药量随时间变化的规律。这里把$ t$ 时刻胃肠道中的药量记为 x ( t ) x(t) x(t), 血液系统中的药量记为 y ( t ) y(t) y(t),以孩子误服药物的时刻为 t = 0 t=0 t=0时刻。在此基础上给出如下模型假设。

  1. 由于药物从胃肠道向血液系统转移的转移率与胃肠道中的药量 x ( t ) x(t) x(t)成正比,这里记比例系统为 λ ( λ > 0 ) \lambda (\lambda \gt 0) λ(λ>0) ,并假设总剂量为 1100mg 的药物在 t = 0 t=0 t=0时刻全部进入胃肠道,即 x ( 0 ) = 1100 x(0)=1100 x(0)=1100。
  2. 由于血液系统中的药物排除率与血液系统中的药量 y ( t ) y(t) y(t)成正比,这里记比例系数为 μ ( μ > 0 ) \mu(\mu \gt 0) μ(μ>0),并假设 t = 0 t=0 t=0时刻血液系统中药量为 0,即 y ( 0 ) = 0 y(0)=0 y(0)=0。
  3. 假设任意 t t t时刻,血液系统中的药物分布是均匀的。
  4. 在药物总量确定的情况下,血药浓度与血液总量有关。人体血液总量约占体重的 7%~8%(L/kg),即每千克体重约 70~80ml 血液,一个体重为 50~60kg 的成人的血液总量约为 4000ml 左右。假设误服药儿童的血液总量约为成人的一半,约为 2000ml。
  5. 比例系数 λ \lambda λ和 μ \mu μ可由氨茶碱吸收和排除的半衰期确定,从药品说明书可知,氨茶碱吸收的半衰期约为 5h,即 x ( 5 ) = x ( 0 ) / 2 x(5)=x(0)/2 x(5)=x(0)/2,排除的半衰期约为 6h,若考虑血液系统对药物的排除,则有 y ( t + 6 ) = y ( t ) / 2 y(t+6)=y(t)/2 y(t+6)=y(t)/2

四、模型建立

由假设(1)可知, x ( 0 ) = 1000 x(0)=1000 x(0)=1000,随着药物从胃肠道向血液系统的转移,胃肠道中药量 x ( t ) x(t) x(t)会逐渐下降,其下降速度 d x d t \frac{dx}{dt} dtdx​与 x ( t ) x(t) x(t)成正比(比例系数 λ > 0 \lambda \gt 0 λ>0),从而建立微分方程模型:
d x d t = − λ x , x ( 0 ) = 1100 \frac{dx}{dt} = - \lambda x, x(0)=1100 dtdx​=−λx,x(0)=1100
有假设(2)可知, y ( 0 ) = 0 y(0)=0 y(0)=0,从 t = 0 t=0 t=0开始,药物从胃肠道向血液系统转移(血液系统吸收药物),同时血液系统启动对药物的排除,血液系统中的药量 y ( t ) y(t) y(t)先增后减。 y ( t ) y(t) y(t)因吸收作用而增长的速度为 λ x \lambda x λx,因排除作用而减少的速度与 y ( t ) y(t) y(t)成正比(比例系数 μ > 0 \mu \gt 0 μ>0),所以 y ( t ) y(t) y(t)满足微分方程:
d y d t = λ x − μ y , y ( 0 ) = 0 \frac{dy}{dt}=\lambda x - \mu y, y(0)=0 dtdy​=λx−μy,y(0)=0

五、模型求解

求解式(1)和式(2)的 matlab 代码及结果:

>> syms x(t) y(t) lambda mu %定义符号
>> equ = [diff(x) == - lambda * x, diff(y) == lambda * x - mu * y]; 
>> cond = [x(0) == 1100, y(0) == 0];
cond =
[x(0) == 1100, y(0) == 0]
>> [x(t), y(t)] = dsolve(equ, cond); % 求解函数
x(t) =
1100*exp(-lambda*t)
y(t) =
(1100*lambda*exp(-mu*t))/(lambda - mu) - (1100*lambda*exp(-lambda*t))/(lambda - mu)

由以上代码可知:
x ( t ) = 1100 e − λ t x(t) = 1100 e^{-\lambda t} x(t)=1100e−λt

y ( t ) = 1100 λ λ − μ ( e − μ t − e − λ t ) y(t) = \frac{1100 \lambda}{\lambda - \mu} (e^{-\mu t} - e^{-\lambda t}) y(t)=λ−μ1100λ​(e−μt−e−λt)

接下来由氨茶碱吸收和排除的半衰期确定比例系数 λ \lambda λ和 μ \mu μ。由于氨茶碱的吸收半衰期约为 5h,可知 x ( 5 ) = x ( 0 ) / 2 x(5)=x(0)/2 x(5)=x(0)/2,即 110 0 − 5 λ = 1100 / 2 1100^{-5\lambda}=1100/2 1100−5λ=1100/2,解得 λ = ( ln ⁡ 2 ) / 5 ≈ 0.1386 \lambda = (\ln2)/5 \approx 0.1386 λ=(ln2)/5≈0.1386。

为了根据氨茶碱排查的半衰期确定 μ \mu μ,不考虑血液系统对药物的吸收,只考虑血液系统对药物的排除,此时 d y d t = − μ y \frac{dy}{dt} = -\mu y dtdy​=−μy,假设 τ \tau τ时刻血液系统中的药量 y ( τ ) = a y(\tau)= a y(τ)=a,解得 y ( t ) = a e − μ ( t − τ ) , t ≥ τ y(t) = ae^{-\mu(t-\tau)}, t \geq \tau y(t)=ae−μ(t−τ),t≥τ。由于氨茶碱排除的半衰期为 6h,可知 y ( τ + 6 ) = y ( τ ) / 2 y(\tau + 6) = y(\tau)/2 y(τ+6)=y(τ)/2,即 a e − 6 μ = a / 2 ae^{-6\mu} = a/2 ae−6μ=a/2,解得 μ = ( ln ⁡ 2 ) / 6 ≈ 0.1155 \mu = (\ln 2)/6 \approx 0.1155 μ=(ln2)/6≈0.1155。

>> lambda = solve(x(5) == x(0)/2) % 求解血液对药物的吸收率系数
lambda =
log(2)/5
>> syms y2(t) mu tau a
>> y2(t) = dsolve(diff(y2) == -mu * y2, y2(tau) == a) % 求解微积分方程
y2(t) =
a*exp(-mu*t)*exp(mu*tau)
>> mu = solve(y2(tau + 6) == y2(tau)/2, mu) % 求解血液对药物的排除率
mu =
log(2)/6
>> y(t) = subs(y) % 代入求解函数
y(t) =
6600*exp(-(t*log(2))/6) - 6600*exp(-(t*log(2))/5)
>> x = subs(x) %代入求解函数
x(t) =
1100*exp(-(t*log(2))/5)

将 λ \lambda λ和 μ \mu μ的值代入式(3)和(4)可得:
x ( t ) = 1100 e − ( ln ⁡ 2 ) t / 5 x(t) = 1100e^{-(\ln2)t/5} x(t)=1100e−(ln2)t/5

y ( t ) = 6600 ( e − ( ln ⁡ 2 ) t / 6 − e − ( ln ⁡ 2 ) t / 5 ) y(t) = 6600(e^{-(\ln2)t/6}-e^{-(\ln2)t/5}) y(t)=6600(e−(ln2)t/6−e−(ln2)t/5)

六、结果与分析

下面根据模型求解结果绘制 x ( t ) x(t) x(t)和 y ( t ) y(t) y(t)随时间变化的曲线,并计算孩子就诊时 ( t = 2 ) (t=2) (t=2)的血药含量,从而判断孩子的中毒状况。
未施救情况下的血药浓度情况
根据模型假设(4)和问题描述,孩子的血液总量为 2000ml,当血药浓度达到100μg/ml,即血液中药物含量达到 200mg 时,会出现严重中毒,当血药浓度达到 200μg/ml,即血液中药物含量达到 400mg 时则可致命。将 t = 2 t = 2 t=2 代入式(6)可得 y ( 2 ) = 236.5588 m g y(2) = 236.5588mg y(2)=236.5588mg,由此可知孩子就诊时(A点)已经出现严重中毒。结合图可知,若不及时进行施救,血液中药物含量将在一段时间之后超过 400mg,这将危机孩子生命。

进一步地,还可以根据模型式计算血液中药物含量分别达到 200mg 和 400mg 的具体时刻,以及在不进行施救的情况下血液中药物含量达到峰值的时刻和相应的峰值。记血液中药物含量分别达到 200mg、400mg 和峰值的具体时刻分别为 t B t_B tB​、 t C t_C tC​和 t D t_D tD​,则有
y ( t B ) = 200 , y ( t C ) = 400 , y ′ ( t D ) = 0 y(t_B) = 200,y(t_C)=400,y'(t_D)=0 y(tB​)=200,y(tC​)=400,y′(tD​)=0

求解式:

>> y2h = double(subs(y(2)))
y2h =
  236.5588
>> tB = double(solve(y(t) == 200))
tB =
    1.6090
>> tC = double(solve(y(t) == 400))
tC =
    4.8648
>> tD = double(solve(diff(y)==0)) % 不施救情形下,血药量达到峰值的时刻
tD =
    7.8910
>> ymax = double(subs(y,tD))
ymax =
  442.0653

由求解结果可知血液中的药量 y = ( t ) y=(t) y=(t)在 t B = 1.6090 t_B=1.6090 tB​=1.6090h达到 200mg,在 t C = 4.8648 t_C=4.8648 tC​=4.8648h(到达医院后 2.8648 h)达到 400mg,在 t D = 7.8910 t_D=7.8910 tD​=7.8910h(到达医院后 5.8910 5.8910 5.8910h)达到峰值 442.0653mg。以上状态分别对应图中 B、C、D 点。

七、施救方案

模型计算结果表明,若不及时进行施救,孩子会有生命危险,因此需要选择合适的施救方案。下面针对口服活性口服碳和体外血液透析两种施救方案,重新计算血液中药量的变化规律。

  1. 口服活性炭

假设孩子达到医院时 t = 2 t=2 t=2即开始施救,施救中( t ≥ 2 t\geq2 t≥2)血液里的药量标记为 z ( t ) z(t) z(t)。由于口服活性炭可使血液中的药物排除率增至原来(人体本身)的 2 倍,则血液中药物的排除率与血液中药量的比例系数将变为原来的 2 倍,即 μ = ( ln ⁡ 2 ) / 3 \mu=(\ln2)/3 μ=(ln2)/3,新的模型为
{ d x d t = − λ x , x ( 0 ) = 1100 d z d t = − λ x − μ z , t ≥ 2 , z ( 2 ) = 236.5588 λ = ( ln ⁡ 2 ) 5 , μ = ( ln ⁡ 2 ) 3 \begin{cases} \frac{dx}{dt} = -\lambda x, & x(0)=1100 \\ \frac{dz}{dt} = -\lambda x - \mu z, & t\geq 2,z(2)=236.5588 \\ \lambda = \frac{(\ln 2)}{5}, & \mu= \frac{(\ln2)}{3} \end{cases} ⎩ ⎧​dtdx​=−λx,dtdz​=−λx−μz,λ=5(ln2)​,​x(0)=1100t≥2,z(2)=236.5588μ=3(ln2)​​

求解模型式:

>> syms x(t) y(t) z(t) %定义符号函数
>> y(t) = 6600*exp(-(t*log(2))/6) - 6600*exp(-(t*log(2))/5)
>> y = vpa(y,5)
y(t) =
6600.0*exp(-0.11552*t) - 6600.0*exp(-0.13863*t)
>> lambda = log(2) / 5; % 定义 lambda
>> mu = 2 * log(2) / 6; % 定义 mu
>> eq2 = [diff(x) == -lambda * x, diff(z) == lambda * x - mu * z]; % 定义微分方程
>> conf2 = [x(0) == 1100, z(2) == 236.5588]; % 定义初值条件
>> [x(t), z(t)] = dsolve(eq2,conf2); % 求解微分方程
>> z = vpa(z,5)
z(t) =
1650.0*exp(-0.13863*t) - 1609.5*exp(-0.23105*t)

>> figure
>> fplot(x,[0,25],'b--');% 胃肠道中药量变化曲线
>> hold on ;
>> fplot(y,[0,25],'r-'); % 血液中药量变化曲线(不施救)
>> fplot(z,[2,25],'k');%血液中药量变化曲线(施救)
>> grid on;
>> set(gca, 'XMinorGrid', 'on', 'YMinorGrid', 'on')
>> xlabel('时间 t(h)'); ylabel('药量(mg)');
>> legend('x(t)','y(t)','z(t)');

>> t4 = double(solve(diff(z) == 0)); % 施救情况下,血药量达到峰值的时刻
>> t4
t4 =
    5.2582
>> zmax = double(subs(z,t4))
zmax =
  318.3973

由以上代码可知:
z ( t ) = 1650 e − 0.13863 t − 1609.5 e − 0.23105 t , t ≥ 2 z(t) = 1650e^{-0.13863t} - 1609.5e^{-0.23105t}, t \geq 2 z(t)=1650e−0.13863t−1609.5e−0.23105t,t≥2
x ( t ) x(t) x(t), y ( t ) y(t) y(t), z ( t ) z(t) z(t)随时间变化的曲线如图,由 z ′ ( t ) = 0 z'(t) = 0 z′(t)=0解得 t = 5.2582 t=5.2582 t=5.2582,相应的 z ( t ) = 318.3973 z(t)=318.3973 z(t)=318.3973。很显然,经口服活性炭施救后,血液中药量 z ( t ) z(t) z(t)在 t = 5.2582 t=5.2582 t=5.2582h 时达到峰值 318.3973mg,远低于 y ( t ) y(t) y(t)的峰值(442.0653mg)和致命水平(400mg)。

经口服活性炭施救后血液系统中的药量z(t)

  1. 体外血液透析

由于血液透析可使血液中药物的排除率增至原来(人体本身)的 6 倍,则血液中药物的排除率与血液中药量的比例系数将变为原来的 6 倍,即 μ = ln ⁡ 2 \mu = \ln 2 μ=ln2,新的模型为:
{ d x d t = − λ x , x ( 0 ) = 1100 d z d t = λ x − μ z , t ≥ 2 , z ( 2 ) = 236.5588 λ = l n 2 5 , μ = ln ⁡ 2 \begin{cases} \frac{dx}{dt} = - \lambda x, & x(0) = 1100 \\ \frac{dz}{dt} = \lambda x - \mu z, & t \geq2,z(2) = 236.5588 \\ \lambda = \frac{ln2}{5}, & \mu = \ln2 \end{cases} ⎩ ⎧​dtdx​=−λx,dtdz​=λx−μz,λ=5ln2​,​x(0)=1100t≥2,z(2)=236.5588μ=ln2​
求解模型式:

>> syms x(t) y(t) z(t); % 定义符号
>> lambda = log(2)/5;
>> mu = 6 * log(2)/6;
>> eq2 = [diff(x) == -lambda * x, diff(z) == lambda * x - mu * z]; % 定义微分方程
>> conf2 = [x(0) == 1100, z(2) == 236.5588]; % 定义初值条件
>> [x(t), z(t)] = dsolve(eq2,conf2); % 求解微分方程
>> z = vpa(z,5)
z(t) =
275.0*exp(-0.13863*t) + 112.59*exp(-0.69315*t)
>> y(t) = 6600*exp(-(t*log(2))/6) - 6600*exp(-(t*log(2))/5)
>> y = vpa(y,5)
y(t) =
6600.0*exp(-0.11552*t) - 6600.0*exp(-0.13863*t)

>> figure
>> fplot(x,[0,25],'b--');% 胃肠道中药量变化曲线
>> hold on ;
>> fplot(y,[0,25],'r-'); % 血液中药量变化曲线(不施救)
>> fplot(z,[2,25],'k');%血液中药量变化曲线(施救)
>> grid on;
>> set(gca, 'XMinorGrid', 'on', 'YMinorGrid', 'on')
>> xlabel('时间 t(h)'); ylabel('药量(mg)');
>> legend('x(t)','y(t)','z(t)');

由以上代码可知:
z ( t ) = 275 e − 0.13863 t − 112.59 e − 0.69315 t , t ≥ 2 z(t) = 275e^{-0.13863t} - 112.59e^{-0.69315t}, t \geq 2 z(t)=275e−0.13863t−112.59e−0.69315t,t≥2
x ( t ) x(t) x(t), y ( t ) y(t) y(t), z ( t ) z(t) z(t)随时间变化的曲线如图。很显然,经体外血液透析施救后,血液中药量 z ( t ) z(t) z(t)关于时间 t t t单调递减,说明体外血液透析的救治方案是十分有效的。

经血液透析施救后血液系统中的药量z(t)

由以上计算可知两种施救方案均能有效地将血液中的药量降至致命水平以下,虽然体外血液透析可使血液中药量下降更快,但其治疗成本较高,并且存在安全风险,综合考虑,应该选择口服活性炭方案。

标签:mu,施救,exp,建模,血液,药物中毒,1100,lambda
From: https://blog.csdn.net/CHUCHUANGDE/article/details/144614192

相关文章

  • Origin绘图教程 | 创建模板与批量绘图
    主要内容:创建图形模板+批量绘图图形模板 请打开在我们在第一课:我的第一张绘图中保存的项目文件。点选图形窗口。可以通过菜单列表文件:近期项目来快速打开最近保存过的项目文件。 1.双击坐标刻度线标签,打开坐标轴对话框。 2.按住Ctrl键并选中对话框左边的上轴和右轴图标......
  • 【Cadence射频仿真学习笔记】IC设计中电感的分析、建模与绘制(EMX电磁仿真,RFIC-GPT生成
    一、理论讲解1.电感设计的两个角度电感的设计可以从两个角度考虑,一个是外部特性,一个是内部特性。外部特性就是把电感视为一个黑盒子,带有两个端子,如果带有抽头的电感就有三个端子,需要去考虑其电感值、Q值和自谐振频率这三个参数电感的Q值表达式如下,可以发现当电感等效电阻......
  • 数学建模习题10.3
    `importnumpyasnpimportstatsmodels.formula.apiassmfimportpylabasplt创建x值序列x=np.arange(17,30,2)加载数据a=np.loadtxt('data10_3.txt')设置图形样式和字体plt.rc('text',usetex=True)plt.rc('font',size=16)plt.style.use(�......
  • 数学建模习题10.2
    `importnumpyasnpimportstatsmodels.apiassmimportpylabasplt加载数据a=np.loadtxt('data10_2.txt')plt.rc('text',usetex=True)plt.rc('font',size=16)plt.style.use('default')绘制图形plt.plot(a[0],a[2],'*......
  • 数学建模习题9.5
    `importpandasaspdfromstatsmodels.formula.apiimportolsfromstatsmodels.stats.anovaimportanova_lm列名列表column_names=["城市1","城市2","城市3","城市4"]生成因子组合factor_combinations=[f"位置{i+1}广告形式行+1高档"......
  • 背景建模和光流估计
    背景建模和光流估计是计算机视觉领域中两个重要的任务,它们通常用于视频分析和物体跟踪。背景建模是从视频序列中提取出场景的静态背景信息的过程。在视频中,背景通常是不变的元素,如墙壁、地面或天空。通过背景建模,我们可以检测到场景中的动态物体,因为它们与背景不......
  • UML活动图建模-官网案例-Hospital Management
    The ElectronicPrescriptionService enables prescribers -suchasgeneralpractitioners(GPs)andpracticenurses-tosendprescriptionselectronicallytoa dispenser (suchasapharmacy)ofthepatient'schoice.AswithallNHSConnectingforHeal......
  • AFSD搅拌摩擦沉积增材制造稳态温度场、应力场建模——Comsol弱耦合模拟分享
    目录搅拌摩擦沉积增材制造(AFSD)是一种新兴的固态增材制造技术,它结合了传统摩擦搅拌焊接(FSW)和增材制造(AM)的优点。该技术通过旋转工具将材料逐层沉积到基板上,形成三维金属零件。文章目录目录前言一、Comsol是什么?二、模型参数1.材料参数2.工艺参数3.其他环境参......
  • 空心电抗器的matlab建模与性能仿真分析
    1.课题概述       空心电抗器是一种无铁芯的电感元件,主要由一圈或多圈导线绕制在非磁性材料制成的空心圆筒或其他形状的骨架上构成。其工作原理基于法拉第电磁感应定律,当交流电通过电抗器时,会在电抗器的绕组中产生自感电动势,阻碍电流的变化,因此起到限制电流、滤波、吸收......
  • 什么是数据建模,数据建模的重要性、数据建模的主要方法、数据建模的流程、数据建模工具
    一、数据建模的定义数据建模是指对现实世界各类数据的抽象组织,确定数据库需管理的对象、对象的属性以及对象之间的关系,并用适当的工具和符号进行表达的过程。它就像是为数据构建一个蓝图,这个蓝图能够帮助我们更好地理解、存储和使用数据。例如,在一个学校的信息管理系统中,我们可......