用梯形的逐次分半法
Dim i As Long
Dim n As Long
Dim h As Double
Dim T0 As Double
Dim T As Double
Dim F As Double
Dim Distant As Double
n = 1
h = (Unum - Lnum) / 2
T0 = h * f(0)+ f(25)
Do
F = 0
For i = 1 To n
F = F + f(2 * i - 1) * h)
Next i
T = T0 / 2 + h * F
Distant = T - T0
'为下一次做准备
n = 2 * n
h = h / 2
T0 = T
Loop While (Abs(Distant) > 3 * ExpectError)
Answer= T
其中ExpectError是需要的精度。