Romberg 算法
吊打 Simpson 的且不玄学(没有什么十五倍)的数值积分算法。
缺点是过程复杂一点,但是只体现在证明上,代码很短。
铺垫算法
梯形求积公式
公式
\[\int _a^b f(x)dx\approx \frac{(f(a)+f(b))(b-a)}2\\ \text{令 }(1)=\frac{(f(a)+f(b))(b-a)}2 \]计算梯形求积公式的误差
注意到
\[\int _a^bf(x)dx=\int_a^b 1\cdot f(x)d(x-a)\\ =(b-a)f(b)-\int_a^b (x-a)f'(x)dx\\ =(b-a)f(a)-\int_a^b (x-b)f'(x)dx \]上两式相加得到
\[\int_a^b f(x)dx=\frac{(f(a)+f(b))(b-a)}2-\frac{1}{2}\int_a^b((x-a)+(x-b))f'(x)dx\\ =(1)-\frac{1}{2}\int_a^b((x-a)+(x-b))f'(x)dx\\ =(1)+\frac 12\int _a^b(x-a)(x-b)f''(x)dx \]根据定积分第一中值定理:
\[\exists \xi \in [a,b],\int_a^bf(x)g(x)=f(\xi)\int_a^bg(x)dx \]\[\int_a^bf(x)dx=(1)+\frac{f(\xi)}2\int_a^b(x-a)(x-b)dx\\ =(1)-\frac{f''(\xi)(b-a)^3}{12} \]误差为
\[-\frac{f''(\xi)(b-a)^3}{12} \]复化梯形求积公式
把他分割成 \(n\) 段,每段应用梯形求积公式就得到了复化梯形求积公式。
设 \(x_k=a+\dfrac{k(b-a)}n\)。
\[\int _a^bf(x)dx=\sum _{k=0}^{n-1}\int _{x_k}^{x_{k+1}}f(x)dx\approx \frac{b-a}{2n}(f(a)+f(b)+2\sum _{k=1}^{n-1}f(x_k))\\ \text{令 }(2)=\frac{b-a}{2n}(f(a)+f(b)+2\sum _{k=1}^{n-1}f(x_k)) \]