辛普森法则(Simpson’s Rule)是一种数值积分方法,用于求解定积分。它的基本思想是将被积函数在每个小区间上近似为二次函数,然后再进行求和。这个方法是一种复化梯形法则的推广,它使用了更高阶的多项式近似。
辛普森法则的算法可以总结为以下几个步骤:
- 将积分区间[a, b]等分为n个小区间,每个小区间的宽度为h = (b - a) / n。
- 计算在每个小区间的两个节点上的函数值,分别记为y_0, y_1, …, y_n。
- 使用辛普森法则的公式进行计算:积分值 = (h / 3) * (y_0 + 4y_1 + 2y_2 + 4y_3 + … + 2y_{n-2} + 4y_{n-1} + y_n)。
辛普森法则的优点有:
- 辛普森法则的收敛速度比梯形法则更快,所需的小区间数目相对较少。
- 辛普森法则对于二次及以下次数的多项式函数可以达到精确解。
辛普森法则的缺点有:
- 需要分析区间上的二阶导数,如果函数不可导或者导数变化较大,可能会导致误差较大。
- 对于复杂的函数,可能需要较多的小区间才能达到足够的精确度。
以下是使用Python实现辛普森法则的代码示例: