「学习笔记」自适应辛普森法
引例
计算积分:
\int_{L}^{R} \frac{cx+d}{ax+b} dx
题解
其实可以直接求导然后做,然而太弱根本推不出来.
于是就可以使用自适应辛普森积分。
辛普森(Simpson)公式是牛顿-科特斯公式当n=2时的情形。
\int_{L}^{R} f(x) dx\approx\frac{(R-L)[f(L)+f(R)+4f(mid)]}{6},其中 mid=L+R2mid=L+R2mid = \frac{L+R}{2}
这样每次求一个区间的积分,先求左右两段积分,如果不满足精度就递归下去,满足就直接返回.
本题代码:
#include <cstdio>
#include <cmath>const double EPS = 1e-11;double a, b, c, d, L, R;double F(double x) {return (c * x + d) / (a * x + b);
}double Simpson(double a, double b) {double c = (a + b) / 2;return (b - a) * (F(a) + F(b) + 4 * (F(c))) / 6;
}double integral(double L, double R) {double mid = (L + R) / 2;double S = Simpson(L, R), Sl = Simpson(L, mid), Sr = Simpson(mid, R);if(fabs(Sl + Sr - S) < EPS) return Sl + Sr;return integral(L, mid) + integral(mid, R);
}int main() {scanf("%lf%lf%lf%lf%lf%lf", &a, &b, &c, &d, &L, &R);printf("%.6f\n", integral(L, R));return 0;
}
推荐例题
HDU 1724 求椭圆部分面积
(辛普森还可以骗一些计算几何题的分.
「学习笔记」自适应辛普森法相关推荐
- 「学习笔记」移动Web开发之rem适配布局10
「学习笔记」移动Web开发之rem适配布局10 一.rem单位 1.1 rem 单位 二.媒体查询 2.1 什么是媒体查询 2.2 语法规范 2.2.1 mediatype 查询类型 2.2.2 关键 ...
- 「学习笔记」HTML5CSS3提高6(上)
「学习笔记」HTML5&CSS3提高6(上) HTML5新特性 概述 语义化标签 (★★) 多媒体标签 视频标签- video(★★★) 基本使用 兼容写法 video 常用属性 音频标签- ...
- 「学习笔记」黑马面面布局开发
「学习笔记」黑马面面布局开发 黑马面面布局开发 一.目的 1.1 技术方案 1.2 代码规范 1.2 目录规范 二.流程开发 2.1 蓝湖/摹客协作平台 2.2 适配方案 2.3 初始化文件 2.4 ...
- 「学习笔记」多项式的蛇皮操作
文章目录 「学习笔记」多项式的蛇皮操作 前置知识 趋近 自然常数 对数 逆元 导函数 牛顿迭代与泰勒公式 不定积分与定积分 多项式乘法 多项式求逆元 多项式除法/取模 多项式牛顿迭代法 多项式开根 「 ...
- 「学习笔记」移动Web开发之flex布局9
「学习笔记」移动Web开发之flex布局9 一.flex布局体验 1.1 传统布局与flex布局 1.2 初体验 二.flex布局原理 2.1 布局原理 三.flex布局父项常见属性 3.1 常见父项 ...
- 「学习笔记」品优购项目-上(页面公共部分 )
「学习笔记」品优购项目-上 品优购项目-上 目标 品优购项目规划 网站制作流程 品优购项目介绍 品优购项目的学习目的 开发工具以及技术栈 开发工具 技术栈 品优购项目搭建工作 创建的文件夹如下(称为项 ...
- 「学习笔记」ISAP求最大流
ISAP学习笔记 ISAP是OI中求最大流的常用方法之一.相对于Dinic,ISAP的速度提升了很多,但编码复杂度也上升了不少. 约定 采用邻接表存储图,对于每条弧,增加一条容量为0的逆向边. d数组 ...
- 「学习笔记」多项式相关
序 学多项式也有好久了,可是我自己还没怎么认认真真推过柿子,导致啥都不会,然后被吊打. 看来再不回顾一下就不行了啊. 多项式乘法 写了一个好看一点的\(\mathrm{NTT}\)板子,仅供参考. i ...
- c++时间片轮转rr进程调度算法_「学习笔记」时间片轮转(RR)调度算法(详解版)...
关键词:时间, 进程, 调度, 队列, 切换 时间片轮转(RR)时间片轮转(RR)调度算法是专门为分时系统设计的.它类似于 FCFS调度,但是增加了抢占以切换进程. 该算法中,将一个较小时间单... ...
最新文章
- ecma 2018, javascript spread syntax behaves like Object.assign
- 移动端整屏滑动的实现
- Android O: View的绘制流程(三):布局和绘制
- 对象并不一定都是在堆上分配内存的
- java异步io_Java中的异步IO与异步请求处理
- LeetCode训练
- 分组 查出id最大的_MySQL分组top N问题疑点
- Vlan与VTP的介绍及工作原理
- Atitti v5住宿服务部后勤部建设指引指南.docx
- iphone图片编辑画笔_iPhone手机怎么编辑图片?还不知道的话真的要了解一波了~...
- Python函数返回多个值的方法
- 早秋山居 --温庭筠[唐.五言律诗]
- op反馈电阻并联反馈电容
- log4j2日志输出到控制台-Maven工程
- 组合电路、触发器、时序电路、寄存器
- ASP.NET项目创建
- git 合并部分代码
- alm系统的使用流程_ALM——应用程序全生命周期管理核心功能有哪些
- 教程 | 阿克曼结构移动机器人的gazebo仿真(一)
- 开源协议 - 几张开源协议比较
热门文章
- 最小二乘支持向量机(lssvm)回归预测(matlab)
- TCP协议和TCP连接
- 哀悼日, 网页变灰的实现
- 微博登录接入出现错误码21322(重定向地址不匹配),其他解决方法
- Linux文件权限:特殊权限、权限属性、权限掩码
- 微信小程序踩坑(2):开发工具更新后报“VM110:5 appJSON[tabBar][borderStyle] 字段需为 black 或 white”错误
- 计算机毕业设计,java+mysql毕业设计 ,动漫论坛
- insmod depmod modprobe的区别及用法
- [汇编语言]标志寄存器
- UNIX环境高级编程 - UNIX基础知识