① 龍貝格求積公式的演算法
對區間[a, b],令h=b-a構造梯形值序列{T2K}。
T1=h[f(a)+f(b)]/2
把區間二等分,每個小區間長度為 h/2=(b-a)/2,於是
T2 =T1/2+[h/2]f(a+h/2)
把區間四(2)等分,每個小區間長度為h/2 =(b-a)/4,於是
T4 =T2/2+[h/2][f(a+h/4)+f(a+3h/4).....................
把[a,b] 2等分,分點xi=a+(b-a)/ 2 ·i (i =0,1,2 · · · 2k)每個小區間長度為(b-a)/ 2 .
例:
I = ∫(4/(1+X) )dx 積分區間為0到1.
解 按上述五步計算,此處 f(x)=4/(1+x) a=0 b=1 f(0)=4 f(1)=2
由梯形公式得
T1=1/2[f(0)+f(1)]=3
計算f(1/2)=16/5 用變步長梯形公式得
T2=1/2[T1+f(1/2)]=3.1
由加速公式得
S1=1/3(4T2-T1)=3.133333333
求出f(1/4) f(3/4) 進而求得
T4=1/2{T2+1/2[f(1/4)+f(3/4)]}
=3.131176471
S2=1/3(4T4-T2)=3.141568628
C1=1/15(16S2-S1)=3.142117648
計算f(1/8) f(3/8) f(5/8) f(7/8)進而求得
T8=1/2{T4+1/4[f(1/8)+f(3/8)+f(5/8)+f(7/8)]}
=3.138988495
S4=1/3(4T8-T4)=3.141592503
C2=1/15(16S4-S2)=3.141594095
R1=1/63(64C2-C1)=3.141585784
把區間再二分,重復上述步驟算得
T16=3.140941613 S8=3.141592652
C4=3.141592662 R2=3.141592640
由於 |R1-R2|<=0.00001,計算可停止,取R2=3.14159 N Tn Sn Cn Rn 1 3 3.133333333 3.142117648 3.141585784 2 3.1 3.141568628 3.141594095 3.141592640 4 3.131176471 3.141592503 3.141592662 8 3.138988495 3.141592652 16 3.140941613