微分方程怎么求解近似解?

前言在科学与工程技术问题中,有很多问题的数学模型是常微分方程的初值问题或边值问题,研究这些问题的数值解法不仅有重要的理论意义,而且有广泛的实践意义。微分方程数值解法就是利用计算机求解微分方程近似解的数值方法。一、一阶常微分方程的初值问题对于形如 \begin{cases} u'=f(t,u),\quad a\le t\le b\\ u(a) = u_0 \end{cases} ,这就是一阶常微分方程的初值问题。等价的积分方程为u(t) = u_0+\int_a^tf(\tau,u(\tau))d\tau ,若 f(t,u) 满足Lipschitz条件,即存在常数L,对任意 t\in[a,b] ,均有|f(t,u)-f(t,\bar u)|\le L|u-\bar u
,则一阶常微分方程解存在且唯一。但是对于这种问题大多数情况下不能求出解析解,因此只能通过数值解法求出数值解。数值解法思想数值解法思路对于常微分问题,如果不给定初值可能有无穷解,给定初值之后,我们通过离散点来不断预估下一个点的值,旨在更好的逼近图中以 u_0 为初值的黑线。构造数值解法一般有两种方法,一种是基于数值积分的解法,一种是基于Taylor展示的解法。本讲着重介绍基于数值积分的解法,Taylor展示将在本系列最后一节作为收尾内容。二、基于数值积分的解法基于数值积分的解法是一种最直观的解法。我们根据跟新参数的要求不同分为线性单步法与线性多步法。1.线性单步法上文我们已经得到了常微分方程的等价积分公式 u(t) = u_0+\int_a^tf(\tau,u(\tau))d\tau ,我们将整个区间现在n等分。每个节点 t_n=a+nh,\quad h=\frac{b-a}{N} ,那我们利用Taylor公式在 t_1 点按 t_0 点展开,会得到u(t_1)= u(t_0)+u'(t_0))h+\frac{1}{2!}u''(\xi)h^2 ,当 h 足够小时,余项我们可以忽略,就能得到 ,u(t_1)= u(t_0)+u'(t_0))h=u(t_0)+hf(t_o,u_o) ,推广到一般情况,我们就能得到基本的迭代公式,u_{n+1}= u_n+hf(t_n,u_n) ,其中 u_{n+1},u_n 是 u(t_{n+1}),u(t_n) 的近似值。上面这种是基于Taylor公式的角度得到的迭代公式,我们从积分公式的角度去观察这个过程就是左矩形求积公式,我们称该公式为Euler(欧拉)求解公式。如果这里取右端点,就变成了隐Euler求解公式,u_{n+1} = u_n+hf(t_{n+1},u_{n+1}) 我们也称其为右矩形公式,或向后Euler公式。如果对Euler公式和隐Euler公式做算术平均就得到了梯形求解公式,u_{n+1} = u_n+\frac{h}{2}(f(t_{n},u_{n})+f(t_{n+1},u_{n+1})) ,梯形公式与Euler公式相比要精确的多,但是梯形公式的计算量要大一些,每步计算都要解一个关于 u_{n+1} 的非线性方程。但是我们并不想求解非线性方程,我们要采用Euler法显式梯形求解公式——建立预测,矫正系统。\begin{cases} u(t_0) = u_0\\ \bar u_{n+1} = u_n+hf(t_n,u_n)\\ u_{n+1} = u_n+\frac{h}{2}(f(t_n,u_n)+f(t_{n+1},\bar u_{n+1})) \end{cases} ,我们称其为改进的Euler法,其中 \bar u_{n+1} 称为预测值, u_{n+1} 为校正值。2.两步法两步法的典型代表是Simpson公式,此处了解即可。三、误差讨论了Euler法及其变形,我们讨论一下这种方法的误差情况。大体上有两种误差,一种是局部截断误差,一种是整体截断误差。我们分别来看这两种误差。1.局部误差局部误差局部误差一个重要的前提就是前n-1步是精确的。局部、整体误差基于假设前提,从图中观察到的局部误差为红线在 t_{n+1} 处的值与黑线处的差距,称为局部误差。2.整体误差整体误差就是蓝线与黑线之间的差距。我们定义整体误差为所有局部误差的和。整体误差3.局部误差与整体误差之间的关系这个结论记住即可。衡量求解公式好坏的一个主要标准是求解公式的精度,求解公式的精度越高,计算解的精确性可能越好。Euler法具有一阶精度。梯形法具有二阶精度。总结基于数值积分的解法到此介绍完毕,下一讲将会是整个系列最后一讲,将会介绍Taylor展开法。

我要回帖

更多关于 微分方程怎么求解 的文章

 

随机推荐