基于MATLAB生化反应模拟计算的实现

来源 :电子与电脑 | 被引量 : 0次 | 上传用户:cjw37600
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:MATLAB是美国Mathwork公司于20世纪80年代中期推出的适用于科学和工程计算的数学软件。它具有优秀的数值计算能力、卓越的数据可视化功能和丰富的库函数资源等优点,使其在数学软件中脱颖而出。本文以生化反应的动态变化为例,用MATLAB模拟计算生化反应的动态过程。
  关键词:生化反应;模拟;动态过程;MATLAB
  中图分类号:O563.9 文献标示:A
  
  引言
  
  生化反应数学模型一般比较复杂,求解不太容易,浓度变化过程不太好直观表示出来。应用数学理论和数值方法定性或定量地预测或模拟各物种在生化反应过程中的浓度随时间的变化关系是反应动力学研究的主要内容之一。确定浓度随时间的变化关系也就是求解各反应组分与时间的微分关系问题。计算机技术的发展为模拟计算生化反应动态过程起到了巨大的推动作用。
  MATLAB以数组和矩阵为基础,最初主要用于数值计算和自动控制领域,现已逐步拓展为数据可视化、数字信号处理、图像处理、数理统计和经济等领域。有文献[1-3]介绍了MATLAB在化工模拟计算中的简单应用。本文着重介绍MATLAB在生化反应模拟计算中的应用,突出表现MATLAB丰富的函数库和数据可视化功能。
  
  求解非刚性常微分方程组的函数
  
  一阶常微分方程(组)初值问题包括刚性和非刚性问题两大类,但化工领域中多数情况属于非刚性ODE问题。MATLAB提供了的非刚性方程积分函数有以下三个[4]:
  ode45——适用于精度较高的四五阶Runge-Kutta法;
  ode23——适用于精度较低的二三阶Runge-Kutta法;
  ode113——适用于可变阶dams-Bashforth-Moulton法。
  计算机性能很好,运行速度极快,一般尽量适用精度较高的算法。非刚性常微分方程组常用ode45函数求解。
  Ode45函数的用法:
  [t, y] = ode45(@ODEfun,tspan,y0)
  [t,y]=ode45(@ODEfun, tspan,y0,options,p1,p2…)
  其中,ODEfun为自定义的函数名,内容是微分方程组的矩阵表带;tspan为求值范围,可以是积分限,也可以是一些离散点的向量;y0为状态变量的初始条件向量(一般是列向量);options为积分参数选项(可选),options=[]时表示取默认值;p1, p2…为直接传递给自定义函数ODEfun的已知参数;t, y为输出变量,在生化反应中一般为时间和浓度。
  
  MATLAB用于生化反应动态、
  静态模拟计算的实现
  
  ● 用ode45函数模拟厌氧间歇发酵动态过程
  使用Saccharomyces cerebisiae(一种干酵母)厌氧间歇发酵葡萄糖生成乙醇和副产物二氧化碳。物料包含10%的葡萄糖。接种体是0.0005(质量比)。在14%乙醇时,由于产品抑制使细胞停止生长。假设kd=0但当底物完全消耗时,开始消耗细胞。模拟计算从发酵开始各组分的浓度动态变化[5]。已知初始浓度为:t=0,X0=0.0005,S0=0.04,p0=0。已知参数为:umax=0.5h-1, Ks=0.001, m=1, Ms=0.008h-1, ^Yx/s=2, Yx/s=1。
  数学模型:
  dX/dt=Rs (1)
  dS/dt=Rs (2)
  dp/dt=Rp (3)
  Rx=umaxX[S/(Ks+S)](1-p/pmax)m(4)
  Rs=-Rx/Yx/s-MsX(5)
  Rp=Rx/Yx/s-Rx/^Yx/s+MsX(6)
  方程(1)、(2)、(3)分别为细胞、底物和产物的质量平衡方程;(4)、(5)、(6) 分别为抑制时细胞生长速率方程、底物消耗的速率方程和产物生成的速率方程。
  根据上面的数学模型,建立求解微分方程组的函数:
  global umax KS pmax m YX2S YX2Shat MS
  %已知参数和初始浓度
  umax=0.5; pmax=0.109; KS=0.001; m=1; YX2Shat=2; YX2S=1; MS=0.008; X0=0.0005; S0=0.04; p0=0;
  %ode45( )求解微分方程组
  tspan=[0 15]; y0=[X0 S0 p0];
  [t y]=ode45(@ModelE,tspan,y0)
  %绘制浓度动态变化图
  plot(t,y, 'k'), xlabel('反应时间/h'), ylabel('质量分数');gtext('活细胞'),gtext('葡萄糖'), gtext('乙醇');
  %模型方程
  function dydt=ModelE(t,y,k)
  global umax KS pmax m YX2S YX2Shat MS
  X=y(1); S=y(2); p=y(3);
  RX=umax×X×S/(KS+S)×(1-p/pmax)^m;
  RS=-RX/YX2S-MS×X;
  Rp=RX/YX2S-RX/YX2Shat+MS×X;
  dydt=[RX;RS;Rp];
  执行程序后,得到动态变化过程如图1所示。
  
  3.2用ode45和fsolve函数模拟计算生化反应器[6]
  在一个连续搅拌槽式发酵罐中进行生化反应,小x1为生物量的浓度,x2为酶解物(底物)的浓度,xf1、xf2分别为进料中所含的生物量和酶解物的浓度,F为料液的体积流量,V为工作体积。已知数据为:D=0.3,umax=0.53,Y=0.4,km=0.12,xf1=0,xf2=0.4,k1=0.4545。对生物量和底物进行稳态、动态模拟[6]。
  数学模型:
  动态时, dx1/dt=(u-D)x1 (7)
   dx2/dt=D(xf2-x2)-ux1/Y (8)
  稳态时, (u-D)x1=0(9)
   D(xf2-x2)-ux1/Y=0 (10)
  式中 D=F/V,稀释速度,s-1; u=umaxx2/(km+x2)或u=umaxx2/(km+x2+k1x22),生长速率常数;km和umax为动力学参数;Y为收率;x1和x2为浓度;xf1和xf2表示进料时浓度。初始条件为,t=0,x1=1,x2=1。
  根据数学模型方程(7)~(10),编写求解微分方程组的函数:
  global D umax Y km xf1 xf2 k1 ;
  %已知参数和变量
  D=0.3; umax=0.53; Y=0.4; km=0.12; xf1=0; xf2=4.0; k1=0.4545;
  %ode45( )求解微分方程
  tspan=[0 25]; y0=[1 1];
  [t y]=ode45(@ModelDyn,tspan,y0);
  %绘制动态变化图
  plot(t,y);xlabel('反应时间/h');ylabel('浓度x');gtext('生物量'),gtext('底物');
  %fsolve( )求解稳态方程组
  x0=[1 1]'; x=fsolve(@ModelSta,x0);
  %动态时模型方程
  function dydt= ModelDyn(t,y,k)
  global D umax Y km xf1 xf2 k1 ;
  x(1)=y(1);x(2)=y(2);
  u=umax×x(2)/(km+x(2));
  %或u=umax×x(2)/(km+x(2)+k1×x(2)^2)
  Rx1=(u-D)×x(1);
  Rx2=D×(xf2-x(2))-u×x(1)/Y;
  dydt=[Rx1;Rx2];
  %稳态时模型方程
  function f=ModelSta(x)
  global D umax Y km xf1 xf2 k1 ;
  u=umax×x(2)/(km+x(2));
  %或u=umax×(2)/(km+x(2)+k1×x(2)^2)
  f(1)= (u-D)×x(1);
  f(2)= D×(xf2-x(2))-u×x(1)/Y;
  执行程序结果为:当u=umaxx2/(km+x2)时,生物量和底物浓度的稳态值分别为0.0和4.0,浓度动态变化如图2所示。当u=umaxx2/(km+x2+k1x22)时,生物量和底物浓度的稳态值分别为0.9951和1.5122,浓度动态变化如图3所示。
  
  结语
  
  从上面的模拟实现可以看出,利用MATLAB丰富的库函数资源可以让编程人员从繁琐的程序代码中解放出来,并且提供的数据可视化功能,所以特别适合于工程人员的计算模拟。MATLAB是新一代计算机语言,程序编写方便、简洁且极易调试,人机交互性强。因此,在化学化工领域模拟计算中,MATLAB也会发挥其特长,必将成为化工专业人员在模拟计算中的有力工具。
  
  “本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
其他文献
西北农林科技大学,网络中心李晓玲    libiptc库是Linux防火墙netfilter的一个编程接口,可以使用libiptc库来查询、修改、增加、删除netfilter的规则、策略等。大家熟知的防火墙管理工具iptables也是利用libiptc来实现配置管理的。在应用程序中我们也可以利用libiptc库完成对Linux防火墙的配置管理功能,从而达到与防火墙的联动效果。比如,用户认证系统可以
期刊
2008年大中华区笔记本电脑出货规模将突破1.1亿台    资策会MIC预估2008年第二季全球笔记本电脑产业的发展,将受到电池芯供货商产能回复不及、北美次级房贷蔓延与品牌低价电脑取代效应等因素而影响增长。但受到全球消费性市场持续扩大及新兴市场的需求带动,2008年大中华区笔记本电脑产业的出货规模,仍将会有突破1.1亿台的水平。  资策会MIC产业分析师黄怡瑄表示,今年3月电池芯供货商LGC工厂失
期刊
根据集邦科技(DRAMeXchange)的调查,2007年全球记忆卡与U盘市场的整体营收规模在115亿美元左右。在各家业者的表现中,以美商新帝(SanDisk)的营收数字最高 (29.25亿美元), 消费性电子大厂新力(Sony) 以17.26亿美元位居第2。然而,DRAM模块市场排名第1的金士顿(Kingston)也不遑多让,以11.26亿美元排名第3。美国知名通路品牌必恩威(PNY)则名列第4
期刊
根据WSTS统计,08Q1全球半导体市场销售值达634亿美元,较上季(07Q4)衰退5.1%,较去年同期(07Q1)增长3.8%;销售量达1,430亿颗,较上季(07Q4)衰退4.8%,较去年同期(07Q1)增长9.6%;ASP为0.444美元,较上季(07Q4)衰退0.3%,较去年同期(07Q1)衰退5.2%。  08Q1美国半导体市场销售值达103亿美元,较上季(07Q4)衰退6.5%,较去年
期刊
根据SEMI (国际半导体设备材料产业协会) 公布的最新材料市场预测,2007年全球半导体材料市场增长14%,预估2008年增长率将上看11%。另一方面,半导体产业协会SIA (Semiconductor Industry Association)公布的数据则指出,2007年全球半导体产业整体增长率为3%,达到2560亿美金的市场规模,而全球半导体材料市场在2007年则增长14%,达到420亿美金
期刊
前言:    目前以DRAM及FLASH高居全球内存市场冠、亚军地位的排行榜,何时会出现变化?2008 VLSI研讨会邀请韩国三星院士Kinnam Kim 以“新世代内存的挑战与机会”发表演说。  Kinnam Kim表示,三星除了以新技术不断探索DRAM及FLASH极限外,也对新一代的内存接班人投入相当资源研发。他认为,相变化内存PRAM将先取代NOR FLASH,未来一旦在延长操作寿命及缩小尺
期刊
据iSuppli公司报告,由于增长放缓、价格压力沉重和来自小型同业的竞争加剧,2007年最大的10家电源管理半导体供应商多数表现逊于总体市场。  2007年全球电源管理半导体营业额增长5.4%,增幅大大低于2006年的12.6%。在10大供应商中,有4家营业收入增长率低于市场平均水平,3家还出现了负增长。总体来看,10大供应商的营业收入下降了3%,而全部小型供应商的合计营业收入则增长了7.7%。 
期刊
电子设计自动化厂商思源科技,5月27日宣布完成收购美国Novas软件公司及其它4家EDA公司,成为亚洲最大的EDA公司。  这项收购动作将拓展思源科技提供更多专业自动化解决方案的能力,解决发展复杂的数字、逻辑、混合信号集成电路 (ICs)、特殊应用集成电路 (ASICs)、微处理器、及系统单芯片 (SoCs) 上的各种难题。    双核心运作    思源科技除了收购美国Novas外,还陆续完成购入
期刊
微软栽花未开,Asus插柳成荫    在PC易用与便携方面,占据OS主导地位的微软似乎比别人都要着急。1999年微软就提出了平板电脑(Tablet PC)计划,只是市场成果都没有达到微软原先的预期。在手机、消费电子产品逐渐强大,取代PC成为电子产业的主要动力之后,微软再一次提出了自己的想法,2006年推出的UMPC计划“Origami”。  但是雄心勃勃的微软却没有得到国际大厂的支持,原因是市场反
期刊
目前市场一致看好的低价计算机,在内存部分纷纷采用SSD解决方案,群联推出的PATA SSD已有移动因特网应用装置为其命名规则,最终则定名为MID(Mobile Internet Device),稳定出货中,今(2008)年下半年增长可期。    轻便造型、价格中庸的华硕Eee PC,掀起了低价电脑的武林战局。一时之间,系统厂商面临许多新的决定;该采用什么样的CPU?多大的内存容量?继续用硬盘吗?还
期刊