当前位置: 首页 > news >正文

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

1. 背景知识

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

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

\int_{a}^{b}f(x)dx=\frac{3h}{8}(f(x_0)+3f(x_1)+3f(x_2)+f(x_3))

其中h=(b-a)/3,x_i=a+i*h

2. 算法实现

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

# Simpson's 3/8 Rule for Numerical Integration
import numpy as np
def simpson38(f, a, b):h=(b-a)/3x=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的倍数。

最终实现效果如下:


http://www.mrgr.cn/news/59079.html

相关文章:

  • MemoRAG:重新定义长期记忆的AI问答模型
  • 从本地到云端:跨用户请求问题的完美解决方案
  • 【论文阅读】Tabbed Out: Subverting the Android Custom Tab Security Model
  • 7、整数反转-cangjie
  • 深度学习(三)在计算机视觉领域的璀璨应用(3/10)
  • 【linux】服务器Ubuntu20.04安装cuda11.8教程
  • 011 操作符详解 中
  • 硬件设计-PCIe时钟抖动测量
  • Oracle故障诊断(一线DBA必备技能)之ADRCI(二)
  • 【华为\荣耀、中兴、华三路由器IPV6设置】
  • 淘知学堂 1.0.0 | 不收费的英语启蒙软件,涵盖小中高
  • 【智能大数据分析 | 实验四】Spark实验:Spark Streaming
  • 开源生活-分布式管理
  • 《面试最爱问的Spring》- IOC启动流程,底层实现、配置方式详解
  • 传奇996_5——使用补丁制作武器
  • 代码随想录第十一天|150. 逆波兰表达式求值、239. 滑动窗口最大值、347.前 K 个高频元素
  • qml圆形图片,qml圆形头像制作
  • 家人们,做小红书/小绿书一定要学会蹭热点啊
  • 移植picocom到hisi平台上
  • PDF怎么编辑修改内容?这份PDF编辑器全攻略请收好!
  • 清理pip和conda缓存
  • linux驱动_platform总线是如何注册的
  • Android——事件冲突处理
  • springboot083基于springboot的个人理财系统--论文pf(论文+源码)_kaic
  • 一文彻底理解 JavaScript 解构赋值
  • 当前读和快照读有什么区别?