1、题目再现: 2.2.当病人采取服用口服药或肌肉注射来治疗疾病时,药物虽然瞬间进入了体内,但它 般都集中与身体的某一部位,靠其表面与肌体接触而逐步被吸收。假定身体系统是 一个单房室系统,设 t t 时刻体内药物的总量为x(t)x(t),则 x(t)x(t)满足: dx Wx,如 0 其中kl是药物量被吸收到血液中的速率系数,k是血液 中向体外排除的速率系数,D是刚开始胃中或肌肉中的药物 总量。 试用欧拉公式求上述微分方程数值解, 并画出图形o(设k 产0. 6fk=0. 2, D=200) 问题分析:运用欧拉公式求微分方程的数值解。微分方程为: 竺=kQe如-kx, x(0) = 0 dt 1
2、1,欧拉折线法: to= 0, X。= 0 * Xk七七=Xk+ h f (tk, Xk) = Xk+ h( kiDe曲 一kx) b=20; h=0.1; n=(b-a)/h+1; t=0; x=0; szj=t,x; for i=1: n-1 其中红线代表的是数值解,蓝线代表的是解析解。可见,数值解的误差还是比较小的 x=x+h*subs(f,t,x,t,x); t=t+h; szj 二szj;t,x; end szj ; x=dsolve( Dx=120*exp(-0.6*t)-0.2*x , x(0)=0,t) T 二0:0.1:20; X=subs(x,T); plot(szj(:,
3、1),szj(:,2),or-,T,X, b-) 输出结果为: 解析解.x x= = 300300 wp(t/6)wp(t/6) - - 300*eip(-t/5)300*eip(-t/5) *erp*erp (-(- 二、改进的欧拉法:有公式: Xi“Xi2f (ti,x) f (ti 1, Xi .1) x o= x(t o ) 与欧拉公式结合使用,有 = x +hf (ti,Xi) x常=Xi+f(ti,Xi) + f(如席),k=0,1,2 设 h=0.1,h=0.1,即 n=201n=201 时, a=0; b=20; h=0.1; n=(b-a)/h+1; t=0; x=0; szj=t,x; for i=1:n-1 m=0;p=0;q=0; m=x; q=subs(f, t , x ,t,m); x=m+h*q; if abs(p-x)0.1 p=x; x= m+h/2*(q+subs(f,t , x ,t+h,x); end t=t+h; szj=szj;t,x; end szj ; x=dsolve( Dx=120*exp(-0.6*t)-0.2*x, x(0)=0,t) T=0:0.1:20; X=subs(x,T); plot(szj(:,1),szj(:,2),or-,T,X, b-) 120 可见,改进后的欧拉算法误差更小,极其精确,基本与原曲线重合