当前位置:文档之家› 数值微积分

数值微积分


Rn h
f
k 1
n
k
输入数组x(即fk),输出x的和(数) 输入数组x,输出x的依次累加和(数组)
Tn h
n 1

k 1
fk
h ( f0 f n ) 2
trapz(x) 输入数组x,输出按梯形公式x的积分(单位步长)
trapz(x,y) 输入同长度数组 x,y,输出按梯形公式 y对x的积分(步长不一定相等)
ba 因为n h
h2 R( f , Tn ) M 2 (b a ) 12
辛普森公式 的误差估计
即梯形公式Tn的 (5) 误差是h2阶的
(6)
h4 R( f , S n ) M 4 (b a) 180
其中 M 4 max f (4) ( x) , x (a, b)
即辛普森公式Sn的 误差是h4阶的。
• 通过实例学习用数值积(微)分解决实际问题 内 容
1. 分别用梯形(trapz)、辛普森(quad)求下 列函数在指定区间的积分
ye
L 4

2 0
3 x
sin 2 x, 1 x 3.
2 2 2 2
7782.5 sin t 7721.5 cos tdt
16
二、(计算瑞士国土面积的近似值)对瑞士地图(图 上18mm=实际40km)作如下测量:以西向东方向为x轴, 南向北方向为y轴,并选取方便的原点。将从最西端 的边界点到最东边的边界点在x轴上的区间划分成若 干段,在每个分点的y方向测出南边界点和北边界点 y1 , y2 的坐标 ,得到下表:
140 120
100
80
60
40
20
0
20
40
60
80
100
120
140
160
17
x y1 y2 x y1 y2 x y1 y2
7.0 44 44 61.0 36
10.5 13.0 45 59 47 70
17.5 50 72 80.5 45
34.0 40.5 44.5 48.0 56.0 50 93 91 46 38 100 96 43 30 110 101 37 30 34
h2 f (a h) f (a) hf (a) f (a) O(h3 ) 2 三个公式代入可知,前(后)差公式的 误差为O(h), 中点公式误差为O(h2)
数值微分的常用公式
区间(a,b)n等分,y=f(x)在分点处数值为(xk,yk), a=x0<x1<…<xn=b, h=(b-a)/n
110 110 104 106.5 33 28
68.5 76.5 34 41
117
118 116
118
118
121
146 50
124
150 66
121 121
157 158 66 68
111.5 118 123.5 136.5 142 32 65 55 54 52
121
122 116
83
81
82
86
13
-------------h------------- df------------exact_df
[ 1., [ .12500000, [ .15625000e-1, [ .19531250e-2, [ .24414063e-3, [ .30517578e-4, [ .38146973e-5, [ .47683716e-6, [ .59604645e-7, [ .74505806e-8, [ .93132257e-9, [ .11641532e-9, [ .14551915e-10, .36602540, .35372632, .35355609, .35355343, .35355339, .35355339, .35355339, .35355339, .35355339, .35355340, .35355341, .35355282, .35355377, .35355340] .35355340] .35355340] .35355340] .35355340] .35355340] .35355340] .35355340] .35355340] .35355340] .35355340] .35355340] .35355340]
85
68
18
练习三
已知20世纪美国人口的统计数据为(单位:百万)
年份 1900 1910 1920 1930 1940 1950 1960 1970 1980 1990 人口 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5 251.4 假设美国人口的增长规律可用Logisitic模型描述 试估计参数 r , xm
11
数值微分的常用公式
yk 1 yk 1 f ( xk ) , k 1, 2, 2h n 1
y1 y0 f ( x0 ) h yn yn 1 f ( xn ) h
问题
3 y0 4 y1 y2 f ( x0 ) 2h
yn 2 4 yn 1 3 yn f ( xn ) 2h
A T B
f (a h) f (a) 前差 f (a) 公式 h f (a) f (a h) f (a) h
后差 公式
C
0
a-h
a
a+h
x
f (a h) f (a h) f (a) 2h
最常用的中点公式
10
数值微分
误差估计
将f (a h)在点a作Taylor 展开
8
数 值 微 分 实 例 人 口 增 长 率
已知20世纪美国人口的统计数据为(单位:百万)
年份 1900 1910 1920 1930 1940 1950 1960 1970 1980 1990 人口 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5 251.4
quad8(‘fun’,a,b,tol)
用辛普森(8阶)公式计算
7
用MATLAB 作数值积分
例. 计算 1)矩形公式和梯形公式


2 sin xdx 0
shiyan311.m shiyan312.m
将(0,pi/2)10等分,步长h=pi/20 2)辛普森公式 精确、方便
无法计算用数值给出的函数的积分
4
梯形公式和辛普森公式的收敛性
若对I某个数值积分In有
n h p
lim
I In
c(非零常数)
则称 In是 p 阶收敛的。
梯形公式 2 阶收敛,辛普森公式 4 阶收敛。
5
用MATLAB 作数值积分
矩形 公式 Sum(x) cusum(x) 梯形 公式
Ln h
f
k 0
n 1
k
dx x rx(1 ) dt xm
19
数值积分与微分
1
数值积分
1.从矩形公式到梯形公式
a x0 x1 xk xn b, ba h , f k f ( xk ) n
Ln h
f
k 0
n 1
k
(1) Rn h
f
k 1
n
k
( 2)
Ln , Rn 平均,得到
梯形公式
Tn h

k 1
n 1
r0 ~ r9(%)的计算结果为
1900 1910 1920 1930 1940 1950 1960 1970 1980
0.011 0.166 0.147 0.102 0.104 0.158 0.149 0.116 0.009
15
上 机
目 的 • 用 MATLAB 掌握梯形公式、辛普森公式、 计算数值积分;
6
用MATLAB 作数值积分
辛普森公式
Sn h ( f 0 f 2m 4 3
m 1 k 0 m 1 k 1

f 2k 1 2f 2k ), Nhomakorabeah
ba 2m
quad(‘fun’,a,b,tol)
用辛普森(2阶)公式计算以 fun.m 命名的函数在 (a, b) 上的积分 tol为相对误差,缺省时为10-3
对k求和,得辛普森公式:
h S m ( f 0 f 2m 4 3

k 0
m 1
f 2k 1 2

k 1
m 1
ba f 2k ), h (4) 2m
3
梯形公式 的误差
h R ( f , Tn ) 12
3 n 1

k 0
f ( k )
估计 M 2 max f ( x) , x (a, b)
h f k ( f0 f n ) 2
(3)
2
2.辛普森(Simpson)公式(抛物线公式)
用( x2k , f 2k ), ( x2k 1 , f 2k 1 ), ( x2k 2 , f 2k 2 )构造
二次函数sk(x)

x2 k 2 h sk ( x)dx ( f 2k 4 f 2k 1 f 2k 2 ) 3 x2 k
以上3式称三点公式,误差为O(h2) 是不是步长 h 越小,结果越好?
12
例 设f ( x)
x,求f (2).
用f (2)
2h 2h 计算,对不同的 h有 2h
clear; for n = 1:1:13 h(n) = 1/8^(n-1); df(n) = (sqrt(2+h(n))-sqrt(2-h(n)))/2/h(n); exact_df(n) = 1/2/sqrt(2); end '-------------h------------- df------------exact_df' vpa([h',df',exact_df'],8)
相关主题