第七章 基于MATLAB的科学计算—数值微积分1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
科学计算—理论、方法
及其基于MATLAB 的实现与分析
数值微积分
§1 数值微分
对于给定的函数()x f y =,如果 1、()x f y =的函数关系式比较复杂时; 2、
()x f y =未知,而仅仅知道()x f y =在1+n 个相异点k
x ,
n k ,,1,0Λ=处
的函数值k y ;
则希望能用相对简单的计算方法,求得()x f y =导数的(近似)值。
基于上述考虑,选择的方法之一是利用函数()x f y =的插值多项式的导数作为函数()x f y =导数的近似值,例如Lagrange 插值多项式,由于
()()()()∑==≈n
k k k n x f x l x L x f 0
(1)
因而有
()()x L x f n
'≈' (2)
这里需要说明一点的是,尽管()x f 和()x L n 的函数值可能相差不多,但是它们的导数有可能相差很大,如下面的例子 例1: 考虑函数()2
2511x x f +=
在区间[-1,1]的插值问题,取
区间[-1,1]的11个点
k
x k ⨯+-=2.01,10,,1,0Λ=k ,作函数
()2
2511x x f +=
的10次插值多项式:
()18552.163597.1234338.3819095.4949417.220246810+-+-+-=x x x x x x L n
函数()x f 和插值多项式()x L n 的导数分别为 ()()
2
225150x x
dx
x df +-=
()x x x x x dx
x dLn 7.334.4936.22883.39594.22093579-+-+-= 对函数()x f 和插值多项式()x L n 及其导数分别比较,结果如图所示:
Derivative_Runge
下面我们基于Taylor 公式
()()()()()()()()()()⎥⎦
⎤⎢⎣⎡≅++++''+'+=++++11
12!1!!2n n n n n h O h n f h n x f h x f h x f x f h x f ξΛ (3)
讨论导数的近似计算问题 1 一阶导数的近似计算
令k k x x h -=+1,可得一阶向前有限差商公式(First Forward Finite Divided Difference):
()()()()()
()()()()
()()()()()⎪⎩⎪⎨⎧
=-≈'⇒+''--='⇒+''+
'+=+++h O error h x f x f x f h O h x f h x f x f x f h O h x f h x f x f x f k k k k k k k k k k k 12
13
2
1!2!
2 (4)
类似地,当1--=k k x x h 时,可得一阶向后有限差商公式(First Backward Finite Divided Difference):
()()()()()
()()()()
()()()()()⎪⎩⎪⎨⎧
=-≈'⇒+''+-='⇒+''+
'-=---h O error h x f x f x f h O h x f h x f x f x f h O h x f h x f x f x f k k k k k k k k k k k 12
13
2
1!2!
2 (5)
由近似计算公式(4)和(5),可得可得一阶中心有限差商公式(First Centered Finite Divided Difference):
()()()()()
()()()()()
⎪⎩⎪⎨⎧
=-≈'⇒+-=
'⇒
+-+-+2
112
112254h O error h
x f x f x f h O h
x f x f x f k k k k k k (6)
2 二阶导数的近似计算
在Taylor 公式中,用h 2代替h 可得
()()()()()()3
222!
22h O h x f h x f x f x f k k k k +''+
'+=+ (7)
式(7)与式(4)结合可得二阶向前有限差商公式(Second Forward Finite Divided Difference):
()()()()()3
2122h O h x f x f x f x f k k k k ++''+-=-++ (8)
()()()()()
⎪⎩⎪⎨⎧
=+-≈
''⇒++h O error h x f x f x f x f k k k k 2
122 ()()()()()()
⎪
⎩⎪⎨⎧
=---≈''⇔+++h O error h h x f x f h x f x f x f k k k k k 112 (9) 类似地利用
()()()()()()3222!
22h O h x f h x f x f x f k k k k +''+'-=-
()()()()()3
2
1!
2h O h x f h x f x f x f k k k k +''+
'-=-
可得二阶向后有限差商公式(Second Backward Finite Divided Difference):
()()()()()32122h O h x f x f x f x f k k k k ++''+-=---
()()()()()
⎪⎩⎪⎨⎧
=+-≈''⇒-+h O error h x f x f x f x f k k k k 2
212 (10) 进一步底,由公式
()()()()()()
()()()()()()
4
3
214
3
21!3!2!
3!2h O h x f h x f h x f x f x f h O h x f h x f h x f x f x f k k k k k k k k k k +'''-''+'-=+'''+''+
'+=-+ (11)