医学数据分析及matlab2012-2精选.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
医学数据分析及matlab2012-2精选

讲解人:刘青萍 生物医学数据分析 刘青萍 3.1.2 微分方程在生物医学中的应用 代谢过程 药物动力学工程 细胞动力学工程 生物系统种群 4 1 2 3 微分方程是表示未知函数的导数以及 自变量之间关系的方程。 Click to edit title style 1 2 3 细菌的繁殖 药物动力学模型 流行病数学模型 微分方程数学模型 (1) 寻找改变量,通常是描述方程文字中的变化率 (微商、单位增加量或单位减少量)。 (2) 对问题中的特征进行数学刻画。 (3) 用微元法建立微分方程。 (4) 确定微分方程的定解条件(初、边值条件)。 (5) 求解或讨论方程(数值解或定性理论)。 (6) 模型和结果的讨论与分析。 数学模型的建立流程 例题 y’=y y=c*exp(x) y’’=y y=c1*sinx+c2cosx 微分方程求解 一步法,用于一阶微分方程 取两点斜率 的平均 斜率来计算,精度高 Euler 欧拉法 Runge Kutta 龙格-库塔法 求解 Matlab求解微分方程 dsolve ode45 简单的微分方程或微分方程组,用于线性常系数微分方程求解—符号解 是(4,5)阶的龙格-库塔-芬尔格方法,用于常微分方程的数值求解。 dsolve命令 ode45命令 常用 方法 dsolve命令 dsolve(‘equation’,‘condition’) equation表示微分方程式 Dy表示y’,D2y表示y’’,condition表示初始条件 dsolve(‘equation’) dsolve(‘equation’,‘condition’) 给出微分方程初值问题的解,表示为t的函数 dsolve(‘equation’,‘v’) 给出微分方程的解析解,表示为v的函数 dsolve(‘equation’,‘condition’,‘v’) 例题 计算微分方程dy/dx+3xy=xe-x2的通解。 湖南中医药大学 dsolve(Dy+3*x*y=x*exp(-x^2)) ans = (C2/exp(3*t*x) + 1)/(3*exp(x^2)) dsolve(Dy+3*x*y=x*exp(-x^2),x) ans = C6/exp((3*x^2)/2) + exp(x^2/2)/exp((3*x^2)/2) ode命令 [T,Y]=ode45(‘F’,TSPAN,Y0) F定义此微分方程的形式y’=F(t,y),函数 F(t,y)应返回一列向量 TSPAN=[T0 TFANAL]表示此微分方程的积分限是从T0到TFANAL,也可以是一些离散的点 Y0表示初始条件 fplot命令 fplot(‘函数名’,lims,’s’) 绘制指定函数的曲线 limits是一个指定x轴范围的向量[xmin xmax]或者是x轴和y轴范围的向量[xmin xmax ymin ymax]。 s可指定线形 例题 例3.5 细菌繁殖模型 在理想环境中,细菌的繁殖率与细菌的数目成正比。若t=0时细菌的数目为x(0)=x0,求细菌的繁殖规律 设t时刻的细菌数目为x(t),则根据题意有: 设x(t)=u,du=kudt du/u=kdt ∫1/udu= ∫kdt 可求出 ln|u|=kt ,|u|=ekt 又k0,x(0)=x0,即x(t)=x0*ekt dsolve方法求解 dsolve(Dx=k*x,x(0)=x0) ans = x0*exp(k*t) ode方法求解 k=0.5; tspan=[0,10]; x0=10; %%%解析解画图 fplot(@(t) 10*exp(0.5*t),tspan,k-); %%%数值解 [t,x_n]=ode45(@func3f3,tspan,x0); hold on,plot(t,x_n,ro) legend(解析解,数值解); title(细菌繁殖模型的解); xlabel(时间t) ylabel(细菌数目); hold off dsolve(Dx=k*x,x(0)=x0) ans = x0*exp(k*t) 思考题1 按照例3.5的思路自学例3.6 k=0.5; tspan=[0,10]; x0=10; %%数值解 [t1,x_1n]=ode45(@(t,x)func3f4(t,x,0.5,2,1),tspan,x0);??%%k=0.5,A=2, B=1; [t2,x_2n]=ode45(@(t,x)func3f4(t,x,0.5,2.2,1),tspan,x0);%%k=0.5,A=2.2, B=1; [t3,x_3n]=ode45(@(t,x)func3f4(t,x,0.5,1.8,1

文档评论(0)

tazhiq2 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档