标签:
数值方法插值数值积分常微分方程runge-kutta |
分类: Math |
姓氏Air
李龙翔
数值分析
日期2014.3.24
数值方法:多项式插值与数值积分与常微分方程
数值方法乃现代科技力量之源
文章介绍了多项式插值方法、误差,数值积分方法和常微分方程数值解法。不同于一般数值分析课本中介绍的,这里用原函数的观点来介绍数值积分方法:原函数导数插值近似,并给出一般误差证明方法;在介绍常微分方程时,把其与数值积分也放到了一起进行比较。
1.多项式插值
1.1 多项式插值公式
多项式插值公式主要指是Lagrange和Newton插值公式两种,Lagrange插值方法的基函数具有插值节点处为1的特性,故其系数即为原函数值;Newton插值方法能够在添加新的第n个插值点时利用上原n-1个插值点的插值公式。
http://s11/middle/002eDYuczy6Io8YwmQaba&690
基函数为http://s12/middle/002eDYuczy6Io8YHNRp1b&690每个都为n阶。
(2)Newton插值
http://s6/middle/002eDYuczy6Io8YOKLr65&690
其中系数为Newton差商系数http://s10/middle/002eDYuczy6Io8YVuY1f9&690使其经过新的插值点。
1.2 多项式插值唯一性
(1)多项式存在
(多项式插值定理)平面上互不相同的n个点,那么存在而且仅存在一个次数小于等于n-1的m次多项式,满足http://s9/middle/002eDYuczy6Io8YX1Og18&690。
经过n个点的d次多项式个数。多项式插值定理给出了插值多项式的存在性:存在而且仅存在一个次数小于等于n-1的多项式,使得http://s1/middle/002eDYuczy6Io8Z9iM070&690决定)。
(2)多项式唯一
对于各种不同的多项式插值方法来说(Newton、Lagrange),给出的多项式是否相同?答案是肯定的。用不同方法得到n+1个插值点的插值函数最高次是n次,例如http://s3/middle/002eDYuczy6Io8Zi14m52&690。
另外需要注意的是,如果原函数为小于n-1的m次多项式,那么即使给定n个点的函数值,插值函数的次数仍为m,小于n-1。具体举例来说,若http://s10/middle/002eDYuczy6Io8ZlljP49&690为最高次为5次的多项式,根据插值点函数值与插值函数值相等。
http://s8/middle/002eDYuczy6Io8ZnEy3f7&690
可以看出http://s13/middle/002eDYuczy6Io8ZrbwE0c&690。
1.3 多项式插值误差
多项式插值误差定理,主要使用高等微积分中罗尔定理证明。已知n个点即对应的多项式插值函数Pn-1(x),误差通常是在利用插值函数计算这n-1以外的点时候产生的。那么考虑另加一个点x0到这组插值点中,新的插值多项式应为Pn(t) = Pn-1(t) + f[x1、x2...xn、x0](t - x1)(t - x2)...(t - xn),新的插值多项式满足在x0处函数值与精确值f(x0)相等。那么误差R(x0) = f(x0) - Pn-1(x) = Pn(x) - Pn-1(x)
2.数值积分
2.1 数值积分
数值积分主要是用函数在节点处函数值http://s3/middle/002eDYuczy6Io8ZwzUS22&690的原函数观点来介绍,这样能够与前面插值近似的内容联系更紧密。
假设http://s11/middle/002eDYuczy6Io8ZHbxoba&690。
所以,这里把数值积分转化为了利用函数在区间内的导数值http://s1/middle/002eDYuczy6Io8ZJ11Cd0&690。
2.2 Newton-Cotes型数值积分误差
这里介绍一般的证明方法,将梯形公式的证明作为示例。
设:三点数值积分公式http://s14/middle/002eDYuczy6Io8ZQv6d2d&690处展开得,
http://s4/middle/002eDYuczy6Io8ZRh1Ve3&690
而http://s11/middle/002eDYuczy6Io8ZVO4yea&690处展开,得
http://s6/middle/002eDYuczy6Io902kXH95&690
http://s12/middle/002eDYuczy6Io905vcf2b&690
将http://s9/middle/002eDYuczy6Io909xskf8&690中,可得:
http://s9/middle/002eDYuczy6Io90bSfm18&690
上式与http://s15/middle/002eDYuczy6Io90dGH48e&690的方程组:
http://s7/middle/002eDYuczy6Io90fcKWf6&690
解得http://s13/middle/002eDYuczy6Io90h8mgdc&690
此时,积分公式http://s7/middle/002eDYuczy6Io90B3uK36&690】
2.3 Gauss型求积公式
前面Newton-Cotes型求积公式,积分节点(原函数http://s7/middle/002eDYuczy6Io90Byw606&690的导数值)都是在积分区间内等间距分布的。实际上这完全不必要,我们可以任意给定节点分布,或者根据被积函数的需要来选择积分节点。
Gauss型求积公式就是最大限度的利用积分节点的分布,使数值积分公式的代数精度达到理论最大值2n+1。
下面考察为何代数精度理论最大值为2n+1,根据代数精度的定义,设数值积分公式有m次代数精度,及对任意m次多项式http://s5/middle/002eDYuczy6Io90G0Wob4&690代入积分公式中,得:
http://s2/middle/002eDYuczy6Io90Jg7n81&690
http://s9/middle/002eDYuczy6Io90K6dab8&690
由多项式系数http://s1/middle/002eDYuczy6Io90MEDKa0&690作为未知数的m+1个方程组成的方程组:
http://s3/middle/002eDYuczy6Io90OVN012&690
此方程组中未知数个数公有2n+2个,故方程组个数也不超过2n+2,m最大值为2n+1。
3.常微分方程
3.1 常微分方程与数值积分的异同
-
常微分方程求解,例如形式为:
而前面求解的数值积分问题的一般形式为:
求解http://s16/middle/002eDYuczy6Io90XWCr3f&690
可以看出,二者十分相似:都是求函数http://s15/middle/002eDYuczy6Io911aKW6e&690有关原函数的问题(原函数表达式或函数值)。不同之处主要有以下几点:
- 数值积分中求解的是定积分,也就是一个数值而已;但是常微分方程一般是求解不定积分,也就是要求得到原函数。
- 数值积分中给出的导数仅是有关http://s6/middle/002eDYuczy6Io911DXne5&690的,而常微分方程中的导函数是一个有关x、y的隐函数。
但是,常微分方程的数值方法是无法得到其原函数,只能用原函数的近似值来表示常微分方程的解。因此,在数值方法中二者本质完全相同。
本质相同,但是数值积分的方法是无法直接应用到常微分方程的解法中的,究其缘由,是因为我们无法确定常微分方程的解在区间节点的导数值http://s15/middle/002eDYuczy6Io91fdUy5e&690处导数值。
3.2 常微分方程的数值解法
下面给出了求解常微分方程的不同格式,这些格式不同在于两点:(1)在求解函数在节点处导数值近似值不同;(2)利用导数值进行线性组合的方法不同。
(1)Euler格式
http://s15/middle/002eDYuczy6Io91fJYqce&690
(2)改进Euler格式
http://s4/middle/002eDYuczy6Io91ix7tb3&690
(3)Runge-Kutta格式
http://s10/middle/002eDYuczy6Io91jXPrb9&690
参考文献:
TIMOTHY
冯康.
Richard L. Burden, J. Douglas Faires, Numerical Analysis, 9 edition