复化求积公式资料
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
h Tk ( f ( xk ) f ( xk 1 )) 2
复化梯形公式为
n 1
k 0,1, , n 1
n 1 h Tn Tk ( f (a ) f (b)) h f ( xk ) 2 k 0 k 1
数值分析
数值分析
截断误差分析:
h3 '' 在区间 xk , xk 1 上,Rk f (k ), k xk , xk 1 12 n1 n1 h3 '' 整体误差为 Rn Rk ( ) f (k ) 12 k 0 k 0
sin x dx x 0
Using the Composite Trapezoidal rule and Composite Simpson’s rule
x=eps:0.01:pi; y=sin(x)./x; plot(x,y); legend('f(x)=sin(x)/x');
0.1 0
0
0.5
复化Simpson公式的截断误差为
(b a ) 4 (4) 4 R( S n ) h f ( ) O( h ) a , b 2880
数值分析
数值分析
数值分析
数值分析
Example 1
Approximate the integral
1 0.9 0.8 f(x)=sin(x)/x 0.7 0.6 0.5 0.4 0.3 0.2
b a 1 n1 '' 利用 h 和 f (k ) f '' ( ) a, b n n k 0
得到复化梯形公式的截断误差是: b a 2 '' R(Tn ) h f ( ) O( h2 ) 12
数值分析
数值分析
2、复化Simpson公式
在每个小区间 xk , xk 1 上用Simpson公式 h Sk ( f ( xk ) 4 f ( x 1 ) f ( xk 1 )) k 6 2
数值分析
数值分析
数值试验
数值分析
数值分析
复化Simpson公式数值实验结果
n=8, n=16, n=32, n=64, n=128, n=256, n=512, n=1024, n=2048, n=4096, n=8192, sp=1.85195370083255 sp=1.85193808500560 sp=1.85193711642985 sp=1.85193705600861 sp=1.85193705223407 sp=1.85193705199819 sp=1.85193705198345 sp=1.85193705198253 sp=1.85193705198247 sp=1.85193705198246 sp=1.85193705198247
数值分析
数值分析
数值试验
在Matlab命令窗口中,进行如下操作:
>> format long >>f =inline( 'sin(x)/x' ) ; >> a = eps; b =pi; n = 8; % eps 是Matlab最小正数 >> sp = simpson(f, a, b, n)
数值分析
第 二 节 复化求积公式
一、复化求积公式 复化求积公式的基本思想: 将区间[a , b] 分为若干个小子区间,在每个 小子区间上使用低阶的Newton-Cotes公式。然后
把它们加起来,作为整个区间上的求积公式。
数值分析
数值分析
1、复化梯形公式
将区间 a , b n等分, ba h , xk a kh, ( k 0,1, , n), n 在每个小区间 xk , xk 1 ,(k 0,1, , n 1) 上用梯形公式:
数值分析
数值分析
数值试验结果
用复化Simpson公式求解,当区间分成64份 时,计算结果: sp=1.85193705600861 比用复化梯形公式,当区间分成8192份 时的计算结果: tp=1.85193704808136 还要精确。
n 1
复化Simpson公式为
h 2 n1 1 n1 Sn Sk ( f (a ) f (b)) h f ( x 1 ) h f ( xk ) k 6 3 k 0 3 k 1 k 0 2 n 1 1 2 Tn H n , 其中H n h f ( x 1 ) k 3 3 k 0 2
数值分析
数值分析
复化梯形公式数值实验结果
Hale Waihona Puke Baidu
n=8, n=16, n=32, n=64, n=128, n=256, n=512, n=1024, n=2048, n=4096, n=8192,
tp=1.84784230644461 tp=1.85091414036536 tp=1.85168137241373 tp=1.85187313510989 tp=1.85192107295303 tp=1.85193305723690 tp=1.85193605329681 tp=1.85193680231110 tp=1.85193698956462 tp=1.85193703637800 tp=1.85193704808136
1
1.5
2
2.5
3
3.5
数值分析
数值分析
数值试验
复化梯形公式Matlab程序
function rs= trapezoid(f,a,b,n) h = (b-a)/n; r= (feval(f,a)+feval(f,b))/2 ; for j = 1:n-1 x=a+j*h ; r= r+ feval(f,x); end rs = r* h; 将此程序存于work 目录中
数值分析
数值分析
数值试验
复化Simpson公式Matlab程序
function rs= simpson(s,a,b,n) h = (b-a)/n; r= feval(s,a)+feval(s,b); for j = 1:2:n-1 x=a+j*h ; r= r+ 4*feval(s,x); end for j = 2:2:n-2 x=a+j*h ; r= r+ 2*feval(s,x); end 将此程序存于work目录中 rs = r*h/3;