前言

不知道为什么,今天感觉想要写一下数学的东西,然后就看了一下我还有这个模板不会,顺手写了一下。

没有学过微积分的最好还是看一下求导为好。

求导

听说很多人都不会求导,我写一下吧qwq

令\(f(x)=ax^2+bx+c\)

那么显然这个东西求导的话就是:

\(f'(x)=\frac{\triangle{y}}{\triangle{x}}\)

那么\(\triangle{y}=f(x+\triangle{x})-f(x)\)

你把这个东西拆开:

\[
\triangle{y}=
\\
f(x+\triangle{x})-f(x)
\\
=a*(x+\triangle{x})^2-a*x^2+b*(x+\triangle{x})-b*x+c-c
\\
=a*(x^2+\triangle{x}^2+2*x*\triangle{x})-a*x^2+b*x-b*x+b*\triangle{x}
\\
=a*\triangle{x}^2+2*a*x*\triangle{x}+b*\triangle{x}
\]

然后考虑一下除一下就是:

\[
f'(x)=\frac{\triangle{y}}{\triangle{x}}
\\
=\frac{a*\triangle{x}^2+2*a*x*\triangle{x}+b*\triangle{x}}{\triangle{x}}
\\
=a\triangle{x}+2*a*x+b
\]

然后我们又发现\(lim_{\triangle{x}->0}\triangle{x}\)

所以化简就是:

\(f'(x)=2*a*x+b\)

由此我们还可以得到一些比较好的东西:

\((x^n)'=n*x^{n-1}\)

与:

\((g(x)*f(x))'=g(x)\centerdot f'(x)+g'(x)\centerdot f(x)\)

然后把两个搞在一起就是:
\[
(c*f(x))'=c*f'(x)
\]

大概入门就只要这么点东西吧。

积分

定义就是曲面围成的面积。

然后就是许多的式子qwq(这个直接背记就好了。)

当然如果有网的话也可以查。

还有一个比较需要记住的公式:

可导函数\(f(x)\)在区间\([a,b]\)的弧长

\(\int_a^b\sqrt{1+f'(x)}dx\)

我突然发现我自己越来越不会算区间,凉凉了。

开始

假定我们现在已经有了一个函数\(f(x)\),现在要求这样子的积分:
\[
\int_a^bf(x)dx
\]

Simpson公式

\[
\int_a^bf(x)dx\approx\frac{\triangle{x}}{3}(y_0+4*y_1+y_2)+\frac{\triangle{x}}{3}(y_2+4*y_3+y_4)+...
\]

然后直接自适应Simpson法套进去就好了.

然后?
没有了qwq

代码实现

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #include<math.h>
  5. #include<algorithm>
  6. #include<queue>
  7. #include<set>
  8. #include<map>
  9. #include<iostream>
  10. using namespace std;
  11. #define ll long long
  12. #define re register
  13. #define file(a) freopen(a".in","r",stdin);freopen(a".out","w",stdout)
  14. inline int gi(){
  15. int f=1,sum=0;char ch=getchar();
  16. while(ch>'9' || ch<'0'){if(ch=='-')f=-1;ch=getchar();}
  17. while(ch>='0' && ch<='9'){sum=(sum<<3)+(sum<<1)+ch-'0';ch=getchar();}
  18. return f*sum;
  19. }
  20. const double eps=1e-12;
  21. double a,b,c,d,l,r;
  22. double F(double x){
  23. return (c*x+d)/(a*x+b);
  24. }
  25. double Simpson(double a,double b){
  26. double c=a+(b-a)/2;
  27. return (F(a)+4*F(c)+F(b))*(b-a)/6;
  28. }
  29. double simpson(double a,double b,double eps,double A){
  30. double c=a+(b-a)/2;
  31. double L=Simpson(a,c),R=Simpson(c,b);
  32. if(fabs(L+R-A)<=eps*15)return L+R+(L+R-A)/15;
  33. return simpson(a,c,eps/2,L)+simpson(c,b,eps/2,R);
  34. }
  35. double Ask(double a,double b,double eps){
  36. return simpson(a,b,eps,Simpson(a,b));
  37. }
  38. int main(){
  39. scanf("%lf%lf%lf%lf%lf%lf",&a,&b,&c,&d,&l,&r);
  40. printf("%.6lf\n",Ask(l,r,eps));
  41. return 0;
  42. }

自适应Simpson法与积分初步的更多相关文章

  1. 洛谷P4207 [NOI2005]月下柠檬树(计算几何+自适应Simpson法)

    题面 传送门 题解 我还好奇自适应辛普森法干嘛用的呢--突然想起来积分的一个用处就是求曲边图形的面积-- 我们先来考虑一下这些投影是什么形状 一个圆的投影还是它自己 一个圆锥的投影是一个圆加上一个点, ...

  2. [日常摸鱼]HDU1724 Ellipse-自适应Simpson法

    模板题~ QAQ话说Simpson法的原理我还是不太懂-如果有懂的dalao麻烦告诉我~ 题意:每次给一个椭圆的标准方程,求夹在直线$x=l$和$x=r$之间的面积 Simpson法 (好像有时候也被 ...

  3. [日常摸鱼]bzoj1502[NOI2005]月下柠檬树-简单几何+Simpson法

    关于自适应Simpson法的介绍可以去看我的另一篇blog http://www.lydsy.com/JudgeOnline/problem.php?id=1502 题意:空间里圆心在同一直线上且底面 ...

  4. 【BZOJ-1502】月下柠檬树 计算几何 + 自适应Simpson积分

    1502: [NOI2005]月下柠檬树 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1017  Solved: 562[Submit][Status] ...

  5. 自适应Simpson积分

    自适应Simpson积分 作用 如标题所示,这玩意就是当你不会微积分的时候来求积分的. 总所周知,积分的定义就是函数的某一段与坐标轴之间的面积. 那么,自适应Simpson积分就是一种可以再某些精度下 ...

  6. 【bzoj1502】[NOI2005]月下柠檬树 自适应Simpson积分

    题目描述 李哲非常非常喜欢柠檬树,特别是在静静的夜晚,当天空中有一弯明月温柔地照亮地面上的景物时,他必会悠闲地坐在他亲手植下的那棵柠檬树旁,独自思索着人生的哲理.李哲是一个喜爱思考的孩子,当他看到在月 ...

  7. 洛谷P4526 【模板】自适应辛普森法2(Simpson法)

    题面 传送门 题解 据说这函数在\(x>15\)的时候趋近于\(0\) 据说当且仅当\(a<0\)时积分发散 所以直接套自适应\(simpson\)吧-- //minamoto #incl ...

  8. HDU 1724 Ellipse 【自适应Simpson积分】

    Ellipse Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  9. CSU 1806 Toll 自适应simpson积分+最短路

    分析:根据这个题学了一发自适应simpson积分(原来积分还可以这么求),然后就是套模板了 学习自适应simpson积分:http://blog.csdn.net/greatwall1995/arti ...

随机推荐

  1. Jmeter正则表达式提取器(转载)

    转载自 http://blog.csdn.net/qq_35885203 使用jmeter来测试时,经常会碰到需要上下文传输数据的情况,如登录后生成的token,在其他页面的操作,都需传入这个toke ...

  2. import_module 导入变量的包

    遇到你想导入的包是变量的时候,可以用这个实现 from importlib import import_module settings_path = self.pathm2 = import_modu ...

  3. tp5文件上传展示

    //接收文件 $file = request()->file('image'); //将文件移动到框架应用根目录/public/uploads/ 目录下 $info = $file->mo ...

  4. Rocket MQ 1 - 用

    参考 http://www.iocoder.cn/categories/RocketMQ/ ; https://www.jianshu.com/nb/16219849 首先上启动方法,分别启动name ...

  5. CentOS下安装Docker-CE

    1.安装最新版本的话可以使用阿里云的自动安装脚本: curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 2.安装指定的 ...

  6. 思维导图-mysql log

  7. 如何切换pip的源

    参考别人的帖子https://blog.csdn.net/chenghuikai/article/details/55258957

  8. python 关于文件夹的操作

    在python中,文件夹的操作主要是利用os模块来实现的, 其中关于文件夹的方法为:os.lister() , os.path.join() , os.path.isdir() #  path 表示文 ...

  9. as3中的embed

    actionscript3允许把外部swf直接用Embed标记嵌入到主类中(当然用UrlLoader动态加载也行) 原 作者:菩提树下的杨过出处:http://yjmyzz.cnblogs.com 关 ...

  10. Android 滑块验证

    先上图看看实现效果 1.在 app 的 build.gradle 添加依赖 implementation 'com.luozm.captcha:captcha:1.1.2' 2.将 Captcha 添 ...