首页 > 编程语言 >【笔记】辛普森算法

【笔记】辛普森算法

时间:2024-07-19 08:58:14浏览次数:10  
标签:right double mid 笔记 辛普森 算法 区间 simpson

核心思想是将被积区间分为若干小段,每段套用二次函数的积分公式进行计算。

具体而言,对于一个二次函数 \(f(x)\),有:

\[\int_{l}^{r} f(x) \mathrm{d} x=\frac{(r-l)\left(f(l)+f(r)+4 f\left(\frac{l+r}{2}\right)\right)}{6} \]

1 普通辛普森

直接分成若干段来计算。

2 自适应辛普森

对于 \(f(x)\) 的一个区间,可能她本身就和二次函数长的很像,我们也没必要再细分她。

具体而言,对于一个区间,如果分成左右两半分别计算,和直接计算整个区间的答案是差不多的,那就不在分下去。

double f (double x) {
	
}
double simpson (double l, double r) {
	return (r-l) * (f(l) + 4*f((l+r)/2) + f(r)) / 6;
}
double calc (double l, double r, double eps, double ans, int step) {
	double mid = (l + r) / 2;
	double fl = simpson(l, mid), fr = simpson(mid, r);
	if (abs(fl + fr - ans) <= 15 * eps && step < 0)
		return fl + fr + (fl + fr - ans) / 15;
	return calc(l, mid, eps / 2, fl, step - 1) + calc(mid, r, eps / 2, fr, step - 1);
}
calc(l, r, eps, simpson(l, r), 12);

标签:right,double,mid,笔记,辛普森,算法,区间,simpson
From: https://www.cnblogs.com/CloudWings/p/18309255

相关文章

  • 《孩子的大脑》读书笔记
    信息《孩子的大脑》阿尔瓦罗·毕尔巴鄂北京科学技术出版社摘录有效奖励和无效奖励有效奖励:花时间陪孩子玩耍让他负责一项任务(如保管钥匙)给他一次特权(如选择晚餐)祝贺他向他表示感谢无效奖励:玩具和其他物质奖励食物告诉他做得不错,但还可以做到更好在众人面前......
  • Vue2中Diff算法解析
    Vue2中Diff算法解析import{compileToFunction}from'./compiler/index.js';import{patch,createElm}from'./vdom/patch';//1.创建第一个虚拟节点letvm1=newVue({data:{name:'hs'}});letrender1=compileToFunction('<div>{{nam......
  • [深入理解Java虚拟机]Hotspot垃圾回收算法
    HotSpot的算法细节实现3.2、3.3节从理论原理上介绍了常见的对象存活判定算法和垃圾收集算法,Java虚拟机实现这些算法时,必须对算法的执行效率有严格的考量,才能保证虚拟机高效运行。本章设置这部分内容主要是为了稍后介绍各款垃圾收集器时做前置知识铺垫,如果读者对这部分内容感到枯......
  • Java基础 韩顺平老师的 集合 的部分笔记
    498,集合介绍 499,集合体系图(两个图背下)  packagecom.hspedu.collection;importjava.util.ArrayList;importjava.util.HashMap;publicclassCollection01{publicstaticvoidmain(String[]args){//老韩解读//1,集合主要是两组(单列......
  • 前端重学笔记-CSS篇-10
    一、HTML5新特性HTML5的新增特性主要是针对于以前的不足,增加了一些新的标签、新的表单和新的表单属性等。这些新特性都有兼容性问题,基本是IE9+以上版本的浏览器才支持,如果不考虑兼容性问题,可以大量使用这些新特性。声明:1.新特性增加了很多,但是我们专注于开发常用的新特......
  • 苍穹外卖学习笔记——第九天
    用户端历史订单模块查询历史订单需求分析和设计产品原型业务功能分页查询历史订单。可以根据订单状态查询(全部订单、待付款、已取消)。订单按照下单时间倒序排列。展示订单数据时,需要展示的数据包括:下单时间、订单状态、订单金额、订单明细(商品名称、图片)。接口设计......
  • 苍穹外卖学习笔记——第七天
    缓存商品、购物车缓存菜品问题说明用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大,从而导致系统响应慢、用户体验差。实现思路通过Redis来缓存菜品数据,减少数据库查询操作,具体流程如下:缓存逻辑分析:每个分类下的菜品......
  • 苍穹外卖学习笔记——第八天
    用户下单、订单支付导入地址簿功能代码需求分析和设计产品原型业务功能查询地址列表新增地址修改地址删除地址设置默认地址查询默认地址接口设计新增地址查询当前登录用户的所有地址信息查询默认地址根据id修改地址根据id删除地址根据id查询......
  • 从零开始学Java(超详细韩顺平老师笔记梳理)05——数组(语法,赋值机制,拷贝反转)、排序(冒泡排
    文章目录前言一、数组1.基础语法1)介绍2)使用(动态、静态初始化语法与使用)3)注意事项和细节2.数组赋值机制(ArryAssign)3.数组拷贝4.数组反转(reserve)5.数组的扩容与缩减二、排序三、查找四、二维数组(TwoDimensionalArry)1.快速入门2.使用3.案例:打印一个10行的......
  • 高速接口自用笔记:GT基础(二)
    FPGA中相同BANK的电压需要一致,以实现高效的性能。本章是对GT基础(一)的补充。大量搬运:公众号-数字站:https://mp.weixin.qq.com/s/Z8ti7DIMdWEh8ogM0SQU4ghttps://mp.weixin.qq.com/s/0YoA9jhBOheZFwtTDJ75aQ 老哥写的很好,推荐都去看。小知识点:1.通过原语BUFDGE得到的时钟,可......