数值微分计算方法实验课件

《数值方法》实验报告

1

数值微分计算方法实验

郑发进 2012042020022

【摘要】数值微分(numerical differentiation)根据函数在一些离散点的函数值,推算它在某点的导数或高阶导数的近似值的方法。通常用差商代替微商,或者用一个能够近似代替该函数的较简单的可微函数(如多项式或样条函数等)的相应导数作为能求导数的近似值。例如一些常用的数值微分公式(如两点公式、三点公式等)就是在等距步长情形下用插值多项式的导数作为近似值的。此外,还可以采用待定系数法建立各阶导数的数值微分公式,并且用外推技术来提高所求近似值的精确度。当函数可微性不太好时,利用样条插值进行数值微分要比多项式插值更适宜。如果离散点上的数据有不容忽视的随机误差,应该用曲线拟合代替函数插值,然后用拟合曲线的导数作为所求导数的近似值,这种做法可以起到减少随机误差的作用。数值微分公式还是微分方程数值解法的重要依据。

关 键 词 中心差分公式;理查森外推法;牛顿多项式微分;

一、实验目的

1.通过本次实验熟悉并掌握各种数值微分算法。

2.掌握如何通过程序设计实现数值微分算法,从而更好地解决实际中的问题。

二、实验原理

1. 精度为O(h2)的中心差分公式:

设f?C3?a,b?,且x?h,x,x?h??a,b?,则

f'?x??f?x?h??f?x?h?

2h 而且存在数c?c?x???a,b?,满足

《数值方法》实验报告

2

f'?x??f?x?h??f?x?h??Etrunc?f,h?

2h 其中

h2f?3??c?Etrunc?f,h????O?h2?

6 项Etrunc?f,h?称为截断误差。

2. 精度为O(h4)的中心差分公式:

设f?C5?a,b?,且x?2h,x?h,x,x?h,x?2h??a,b?,则

f'?x??f?x?h??f?x?h?

2h 而且存在数c?c?x???a,b?,满足

?f?x?2h??8f?x?h??8f?x?h??f?x?2h?f'?x??

12h 其中

h4f???c?Etrunc?f,h???O?h4?

305 项Etrunc?f,h?称为截断误差。

3.理查森外推法:

利用低阶公式推出高阶求解数值微分的公式,定理如下:

设f'?x0?的两个精度为O(h2k)的近似值分别为Dk?1?h?和Dk?1?2h?,而且

它们满足

f'?x0??Dk?1?h??c1h2k?c2h2k?2? 和

f'?x0??Dk?1?2h??4kc1h2k?4k?1c2h2k?2? 这样可得到改进的近似值表达式

《数值方法》实验报告

3

f'?x0??Dk?h??O(h2k?2)?Dk?1?h??Dk?1?h??Dk?1?2h?|?O(h2k?2)k4?1

4. 牛顿多项式微分:利用f?t?的N?1个插值点可得近似f?t?的N次牛顿多项式PN?t?,其可表示为

PN?t??a0?a1?t?t0??a2?t?t0??t?t1??则PN?t?的导数可以表示为

P'N?t??a1?a2??t?t0???t?t1????aN?t?t0??t?tN?1?

?1?aN??Nj?0?t?ti?

k?0j?kN?1 由此可知在xM,M?0,1,,N处的导数值

?1i?0?aM??Nj?0?t?ti??aM?1?i?M?1?t?ti??k?0j?kM?10?aN?ii??N?1?t?ti?i?MP'N?t??a1?a2??t?t0???t?t1???

三、实验内容

1.P260 1

用程序6.1求解下列函数在x处的倒数近似值,精度为小数点后13位。注:有必要改写程序中的max1的值和h的初始值。

?a?f?x??60x45?32x33?233x5?47x2?77;x?1??5?sin?x???1?5?cos?;x???b?f?x??tan??1?x2???3???? ?c?f?x??sin?cos?1x??;x?1/23?d?f?x??sin?x3?7x2?6x?8?;x??e?f?x??xx;x?0.0001

x1?52

P260 2

修改程序6.1,实现精度为O(h4)的中心差分公式(10)。用这个程序求

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4