差分法
微分方程数值方法
数学中,差分法(difference methods,简称DM),是一种微分方程数值方法,是通过有限差分来近似导数,从而寻求微分方程的近似解。
例子
常微分方程
例如考虑以下的常微分方程
利用数值方法中欧拉法求解,利用以下的有限差分式
来近似导数,并配合一些代数处理(等号两侧同乘以h,再加上u(x)),可得
最后的方程式即为有限差分方程,求解此方程则可得到原方程的近似解。
热传导方程
考虑正规化的一维热传导方程式,为齐次的狄利克雷边界条件
(边界条件)
(初始条件)
对此问题求数值解的一种方式是用差分去近似所有的导数,可以将空间分割为,将时间也分割为。假设在时间及空间都是均匀的网格切割,空间中两个连续位置的间隔为h,两个连续时间之间的间隔为k。点
表示的数值近似解。
显式方法
热传导方程最常用显式方法的模版
利用在时间的前向差分,以及在位置的二阶中央差分(FTCS 格式),可以得到以下的迭代方程:
这是用求解一维导热传导方程的显式方法。
可以用以下的式子求解
其中
因此配合此迭代关系式,已知在时间n的数值,可以求得在时间n+1的数值。及的数值可以用边界条件代入,在此例中为0。
此显式方法在时,为数值稳定且收敛。其数值误差和时间间隔成正比,和位置间隔的平方成正比:
隐式方法
隐式方法的模版
若使用时间的后向差分,及位置的二阶中央差分(BTCS 格式),可以得到以下的迭代方程:
这是用求解一维导热传导方程的隐式方法。
在求解线性联立方程后可以得到:
此方法不论 r的大小,都数值稳定且收敛,但在计算量会较显式方法要大,因为每前进一个时间间隔,就需要求解一个联立的数值方程组。其数值误差和时间间隔成正比,和位置间隔的平方成正比:
准确度及误差
近似解的误差定义为近似解及解析解之间的差值。有限差分法的两个误差来源分别是舍入误差及截尾误差(或称为离散化误差),前者是因为电脑计算小数时四舍五入造成的误差,后者则是计算机内数字位数限制造成的误差。
差分法是以在格点上函数的值为准
在运用有限差分法求解一问题(或是说找到问题的近似解)时,第一步需要将问题的定义域离散化。一般会将问题的定义域用均匀的网格分割。因此有限差分法会制造一组导数的离散数值近似值。
一般会关注近似解的局部截尾误差,会用大O符号表示,局部截尾误差是指应用有限差分法一次后产生的误差,因此为,此时是实际值,而为近似值。泰勒多项式的余数项有助于分析局部截尾误差。利用泰勒多项式的余数项,也就是
可以找到局部截尾误差的主控项,例如用前项差分法计算一阶导数,已知,
利用一些代数的处理,可得
注意到左边的量是有限差分法的近似,右边的量是待求解的量再加上一个余数,因此余数就是局部截尾误差。上述范例可以用下式表示:
在此例中,局部截尾误差和时间格点的大小成正比。
资料分析速算
适用形式
两个分数作比较时,若其中一个分数的分子与分母都比另外一个分数的分子与分母分别仅仅大一点,这时候使用“直除法”、“化同法”经常很难比较出大小关系,而使用“差分法”却可以很好地解决这样的问题。
基础定义
在满足“适用形式”的两个分数中,我们定义分子与分母都比较大的分数叫“大分数”,分子与分母都比较小的分数叫“小分数”,而这两个分数的分子、分母分别做差得到的新的分数我们定义为“差分数”。例如:324/53.1与313/51.7比较大小,其中324/53.1就是“大分数”,313/51.7就是“小分数”,而(324-313)/(53.1-51.7)=11/1.4就是“差分数”。
作用准则
“差分数”代替“大分数”与“小分数”作比较:
1、若差分数比小分数大,则大分数比小分数大;
2、若差分数比小分数小,则大分数比小分数小;
3、若差分数与小分数相等,则大分数与小分数相等。
比如上文中就是“11/1.4代替324/53.1与313/51.7作比较”,因为11/1.4>313/51.7(可以通过“直除法”或者“化同法”简单得到),所以324/53.1>313/51.7。
特别注意
一、“差分法”本身是一种“精算法”而非“估算法”,得出来的大小关系是精确的关系而非粗略的关系;
二、“差分法”与“化同法”经常联系在一起使用,“化同法紧接差分法”与“差分法紧接化同法”是资料分析速算当中经常遇到的两种情形。
三、“差分法”得到“差分数”与“小分数”做比较的时候,还经常需要用到“直除法”。
四、如果两个分数相隔非常近,我们甚至需要反复运用两次“差分法”,这种情况相对比较复杂,但如果运用熟练,同样可以大幅度简化计算。
计量经济学
差分法,计量经济学中的专有名词,是克服相关序列相关性的有效方法,它是将原计量经济学模型变换为差分模型后再进行OLS估计,分为一阶差分法和广义差分法(广义差分法又名迭代法)。
解题步骤
步骤:
一:建立微分方程
二:构造差分格式
三:求解差分方程
四:精度分析和检验
数学思想
通过taylor级数展开等方法把控制方程中的导数用网格节点上的函数值的差商代替进行离散,从而建立以网格节点上的值为未知数的方程组。将微分问题转化为代数问题。
大的数 小的数
9/5 和 7/4 比较
(9-7)/(5-4)=2/1
2/1大于7/4所以9/5大于7/4
参考资料
最新修订时间:2024-06-27 11:19
目录
概述
例子
参考资料