Python数值计算(33)——simpson 3/8积分公式

1. 背景知识

既然前的Simpson可以通过使用三个点构造二次曲线近似积分,那么,如果点数增加到了4个,然后不就可以构造三次多项式的曲线,实现对目标值的积分吗?

如果采用和上一节介绍的同样的方法,我们可以推导出:

其中

2. 算法实现

通过上述原理可以很容易使用Python实现:

python 复制代码
# Simpson's 3/8 Rule for Numerical Integration
import numpy as np
def simpson38(f, a, b):
    h=(b-a)/3
    x=np.linspace(a,b,4)
    y=np.vectorize(f)(x)
    return 3*h*(y[0]+3*y[1]+3*y[2]+y[3])/8.0

如果使用该方法,计算humps函数在区间0,1上的数值积分,其效果如下:

可见误差相比之前有了很大的改善,但还是有27%,还是偏大的。

3. 复合simpson 3/8积分公式

和前面类似,如果将一个大的积分区间,划分为更多个较小的积分区间,在每个积分区间上使用Simpson 3/8积分公式,则可以更加贴近原函数,和复合Simpson 1/3积分公式要求点的个数为偶数类似,这个也要求点的个数为3的倍数。

最终实现效果如下:

相关推荐
张张123y1 小时前
后端第十四课:Agent 记忆系统(让 Agent 记住上下文和用户,跨会话不健忘)
java·大数据·人工智能·python·agent·记忆
happylifetree6 小时前
Python67:核心语法-函数进阶-参数类型(函数作为参数)
python
小羊没烦恼!6 小时前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
quantdash_cc7 小时前
从实时行情到价格观察表:用 Python 和 Pandas 构建策略输入数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
镜子AI7 小时前
镜子AI工程实践:用 Python 做 GEO 实体一致性审计,并自动生成 JSON-LD 结构化数据
人工智能·python·json
郝学胜-神的一滴10 小时前
AI 编程智能体 09:零门槛调用教程
人工智能·数据分析·自动化·numpy·pandas·量化投资
2601_9628857211 小时前
如何用 Python 计算 VaR 和 CVaR(在险价值)?
开发语言·python
李航198311 小时前
DeepSeekAI建模三 - 实战建模一组柜子
人工智能·python·计算机视觉·ai·ai编程
严谨的麻辣烫13 小时前
静态代理 IP 的出口一致性如何验证?Python 请求检测与异常排查
开发语言·python·http·网络安全
我命由我1234513 小时前
5-1.Python 编码进阶 - 函数进阶(参数、返回值、递归、函数作为参数传递、lambda 匿名函数)
java·服务器·数据库·后端·python·java-ee·python3.11