辛普森公式:
∫abf(x)dx≈(b−a)∗(f(a)+f(b)+4∗f(a+b2))6\int_a^b {f(x)} \,{\rm dx} \approx \frac{(b-a)*(f(a)+f(b) +4*f(\frac {a+b}{2} ))}{6} ∫ab​f(x)dx≈6(b−a)∗(f(a)+f(b)+4∗f(2a+b​))​
但是这样的精度并不能满足要求,所有我们想多次划分多个区间去求得这个定积分.那么我们想着二分当前区间L,R分别代表左右区间的辛普森值,A代表当前区间的辛普森值.也就是L=[L,mid],R=[mid,R],A=[L,R].如果有∣A−L−R∣<15∗epsL,R 分别代表左右区间的辛普森值,A代表当前区间的辛普森值.也就是L=[L,mid],R=[mid,R],A=[L,R].如果有\lvert A-L-R\rvert<15*epsL,R分别代表左右区间的辛普森值,A代表当前区间的辛普森值.也就是L=[L,mid],R=[mid,R],A=[L,R].如果有∣A−L−R∣<15∗eps。那么我们认为满足了精度要求,直接返回答案即可.
否则我们递归划分该区间,而且要求精度/2.这样来满足左右区间相加后精度仍然是正确的。
在实际进行中,由于函数值的计算会被重复计算,可以先用一些变量储存下来。
实际操作参考代码

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 3e5+2;
const int INF = 1e9+7;
double a,b,c,d;
double F(double x){return (c*x+d)/(a*x+b);
}
double simpson(double len,double fL,double fM,double fR){return (len)*(fL+fR+4*fM)/6;
}
//l,r,mid都是实际的横坐标值, fL , fM ,fR 是对应的函数值
//A是代表当前区间的辛普森值
double asr(double l,double r,double eps,double fL,double fM,double fR,double A){double mid =(l+r)/2;double len = (r-l);double L_mid = F(l+len/4);double R_mid = F(r-len/4);double L=simpson(len/2,fL,L_mid,fM);double R = simpson(len/2,fM,R_mid,fR);//计算出左右区间的辛普森值if(fabs(L+R-A)<=15*eps) return (L+R)+(L+R-A)/15.0;else return asr(l,mid,eps/2,fL,L_mid,fM,L) + asr(mid,r,eps/2,fM,R_mid,fR,R);
}
//使用下面的这个自适应辛普森来开始进行程序
double asr(double l,double r,double eps){double L=F(l);double R = F(r);double MID = F((l+r)/2);double A = simpson(r-l,L,MID,R);return asr(l,r,eps,L,MID,R,A);
}

自适应辛普森学习笔记相关推荐

  1. 自适应动态规划学习笔记(3)

    @TOC 自适应动态规划学习笔记(3) 第三天(图全是偷的) 图1 ADP的三个部分 Model Network  书接上回,图(1)中所示的Model Network就是对于系统公式(1)xk+1= ...

  2. [学习笔记]自适应辛普森(Simpson)积分

    一.积分的概念 积分(integral)的几何意义是函数的曲线上 xxx 的一段区间与 x" role="presentation" style="positi ...

  3. 「学习笔记」自适应辛普森法

    引例 计算积分: ∫RLcx+dax+bdx∫LRcx+dax+bdx \int_{L}^{R} \frac{cx+d}{ax+b} dx 题解 其实可以直接求导然后做,然而太弱根本推不出来. 于是就 ...

  4. C# 学习笔记(16)ComboBox下拉列表框宽度自适应

    C# 学习笔记(16)ComboBox下拉列表框宽度自适应 当下拉列表框中内容宽度大于下拉列表框宽度时 下拉列表框不能将内容全部显示出来 可以在下拉时,对下拉列表框内容进行重绘 /// <sum ...

  5. 图片适应窗口_HTMLCSS学习笔记(八)-- 宽高自适应

    宽高自适应 网页布局中经常要定义元素的宽和高.但很多时候我们希望元素的大小能够根据窗口或子元素自动调整,这就是pc自适应. 自适应的优点: 元素自适应在网页布局中非常重要,它能够使网页显示更灵活,可以 ...

  6. CSS学习笔记八——宽高自适应

    宽高自适应 一.宽度自适应 二.高度自适应 三.浮动元素的高度自适应 四.窗口自适应 五.结语 一.宽度自适应 不写宽度或者写 width:auto就表示宽度自适应,可用于横栏或导航栏. 与 widt ...

  7. python的基本数据结构_Python学习笔记——基本数据结构

    列表list List是python的一个内置动态数组对象,它的基本使用方式如下: shoplist = ['apple', 'mango', 'carrot', 'banana'] print 'I ...

  8. 【算法讲10:自适应辛普森法】求平滑曲线积分近似 | 洛谷 P4526 | HDU1724 | QLU Youmu with Master spark

    自适应辛普森法 参考 引入 ⌈ \lceil ⌈辛普森法求积分 ⌋ \rfloor ⌋ 原理 思考 ⌈ \lceil ⌈自适应辛普森法求积分 ⌋ \rfloor ⌋ 原理 优点 缺点 代码 例题 模板 ...

  9. blazeface学习笔记

    完整的应该是一个人脸识别项目,人脸识别,大言不惭的说,我之前其实也做过,比如用dlib来做人脸识别,就是用opencv那一套来实现,说句实在话,速度非常慢,即便是在intel CPU上,一秒也就两三帧 ...

  10. 一文弄懂元学习 (Meta Learing)(附代码实战)《繁凡的深度学习笔记》第 15 章 元学习详解 (上)万字中文综述

    <繁凡的深度学习笔记>第 15 章 元学习详解 (上)万字中文综述(DL笔记整理系列) 3043331995@qq.com https://fanfansann.blog.csdn.net ...

最新文章

  1. 2021.4.11 字节跳动实习笔试题---情报解密
  2. spring3.0设置定时任务
  3. 数据结构与算法--力扣108题将有序数组转换为二叉搜索树
  4. JS_单个或多个文件上传_不支持单独修改
  5. [css] 你有使用过css的属性background-blend-mode吗?说说它的运用场景有哪些?
  6. linux 文件重命名或文件移动
  7. 网络(14)-Web站点如何防范XSS、CSRF、SQL注入攻击?
  8. Hibernate入门级实例
  9. Python3.2官方文件翻译-工具列表和十进制浮点计算
  10. 谷歌发布 iOS 黑客工具软件,或导致 iOS 11 被越狱
  11. 如何新建Spring Boot工程
  12. JAVA 相关书籍推荐(全)
  13. fortran语言能用matlab,fortran语言与matlab
  14. NCRE | 四级网络工程师错题
  15. 翁恺老师的细胞自动机
  16. 【实用软件】picasa不能导入文件夹至其中 的问题解决
  17. autoshape很多 excel_怎样清除excle中Autoshape_ExceL批注属性批量修改宏代码�9�3
  18. DDD聚合设计的几个原则的简单讨论
  19. python物理建模初学者指南 pdf 脚本之家_[剑阁]上古卷轴5新手指南并行开坑版!...
  20. iMeta | 俄亥俄州立大学郑庆飞组发表多组学方法研究肿瘤微生物组综述

热门文章

  1. Matlab:i 和j其实是MATLAB内置函数(built-in function)
  2. Epicor客制化 - RowRule使用示例
  3. Cisco(PacketTracer) - 三层交换机
  4. vue实现浏览器桌面通知
  5. 图文讲解如何在outlook里设置绑定Gmail企业邮箱教程
  6. Chrome书签同步方法
  7. 做SEO优化第九步:如何设置页面内容优化
  8. Cross-Modality Domain Adaptation
  9. 电脑重装系统后文件怎么恢复
  10. 两年开发工作总结及未来展望