精华内容
下载资源
问答
  • ·数值类型可以用2进制字符串表示,并且可以在字符串表示中添加下划线; 钻石型语法; nu值的自动处理。 Java 8 函数式接口 Lambda表达式 接口的增强 运行时数据区域包括哪些? 1.程序计数器 2.Java虚拟机栈 3.本地方法...
  • 辛普森公式(理论+代码)

    千次阅读 2018-10-18 21:59:42
    数学分析中的泰勒公式告诉我们,对任何函数,我们都可以用多项式函数去逼近它的函数值,且对于解析性质很好的函数(例如任意阶可导+任意阶导函数有界),我们可以将误差缩小到任意小。 其中 那么,我们在求解析式...

    数学分析中的泰勒公式告诉我们,对任何函数,我们都可以用多项式函数去逼近它的函数值,且对于解析性质很好的函数(例如任意阶可导+任意阶导函数有界),我们可以将误差缩小到任意小。
    在这里插入图片描述
    其中
    在这里插入图片描述
    那么,我们在求解析式复杂或者可能无法用初等函数表示原函数的积分问题时,能否也可以用多项式函数来代替呢?
    辛普森公式就是用来做这样一件事情。
    首先,我们先来确定用什么样的多项式函数去替换我们的原函数。由积分第一中值定理可得:
    在这里插入图片描述
    中值定理表明对于求定积分,我们可以用函数在区间中的某点函数值来乘以区间长度得到。事实上,定积分的定义也是类似的形式,只不过是一个无穷和的极限(黎曼和)
    黎曼和
    那么,如果我们已知区间中函数在若干点的函数值,我们怎样近似计算定积分呢?
    一种朴素的思想是将函数值直接代入黎曼和,但这样的误差会很大。
    其次,我们可以考虑一个多项式函数,用多项式函数的积分值来代替原函数的积分。而这样的多项式想要很好地逼近,自然是要在已知点的函数值与原来的函数相同。由拉格朗日插值公式可知,当次数与给定点数相同的情况下,这样的多项式是唯一确定的。
    在这里插入图片描述
    在这里插入图片描述
    因此,对上述拉格朗日多项式求积分,即可得到原来函数的积分的近似值。而且,自然地,我们选取的点越多,其所得到的结果就越精确。(事实上,其代数精度至少为n,n为多项式次数)。
    对上述多项式求积分后,可以发现,其积分恰好是原来的函数在给定点的函数值的线性组合,这样我们就达到了目的!接下来要做的是如何确定各函数值的系数。
    在这里插入图片描述
    对等式两边同时求积分得
    在这里插入图片描述
    将系数继续写出来:
    在这里插入图片描述
    (b-a)的系数叫做柯特斯系数。我们的到的定积分公式就是:
    在这里插入图片描述
    上述公式就是牛顿-柯特斯求积公式 。可是,虽然我们成功地用多项式函数的积分来替代原来函数的积分,并保持了满意的精度。但当n很大时,我们的得到的公式明显不易计算,为了兼顾精度与效率,可以取n=3,则x1=a,x2=(a+b)/2,x3=b。此时得到的就是辛普森公式,它拥有不错的精度(代数精度为3),而且方便记忆,易于计算。
    在这里插入图片描述
    辛普森公式本质上就是用二次曲线来逼近函数,在理论计算时我们可以将积分上下限分成若干个小区间,在每个区间内用辛普森公式来近似计算。编程时可以利用函数的递归调用,让计算机帮助我们自动划分区间,当检测到区间二分后的误差在精度范围内后就可对区间停止二分输出结果。最后的积分值就是所有小区间的近似值的和。
    下面是代码。

    double simpson(double a,double b)//辛普森公式
    {
    double c = a + (b − a)/2;
    return (F(a) + 4*F(c) + F(b))*(b − a)/6;
    }
    double asr(double a,double b,double eps,double A)//A为本区间的辛普森公式计算的值
    {
    double c = a + (b − a)/2;
    double L = simpson(a,c), R = simpson(c,b);
    if(fabs(L + R − A) <= 15*eps)return L + R + (L + R − A)/15.0;//子区间的误差小于精度,停止递归。
    return asr(a,c,eps/2,L) + asr(c,b,eps/2,R);
    }
    double asr(double a,double b,double eps)
    {
    return asr(a,b,eps,simpson(a,b));
    }
    
    展开全文
  •  缺点:不够形象、直观、具体,而且并不是所有的函数都用解析式表示出来.  列表法优点:不需要计算就可以直接看出与自变量的值相对应的函数值.  缺点:它只能表示自变量取较少的有限值的对应关系.  图象法...
  • 目前从事软件需求工程、网络协议验证形式化方法以及函数式语言等方面的研究。 目录 封面 -29 封底 -28 书名 -27 版权 -26 出版说明 -25 关于作者 -22 前言 -21 序言 -20 目录 -18 第1章 引言和概述 1 1.1 使用...
  • 你必须知道的495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    可以用下面这样的代码吗?((condition)?a:b)=complicated_expression; 3.19 我有些代码包含这样的表达式。a?b=c:d有些编译器可以接受,有些却不能。为什么? 保护规则 3.20 “semanticsof‘’changeinANSIC”的...
  • 可以用下面这样的代码吗?((condition) ? a : b)= complicated_expression; 41  3.19 我有些代码包含这样的表达式。a ? b=c : d 有些编译器可以接受,有些却不能。为什么? 41 保护规则 42 3.20 “semantics ...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    可以用下面这样的代码吗?((condition) ? a : b)= complicated_expression; 41  3.19 我有些代码包含这样的表达式。a ? b=c : d 有些编译器可以接受,有些却不能。为什么? 41 保护规则 42 3.20 “semantics ...
  • 可以用下面这样的代码吗?((condition) ? a : b)= complicated_expression; 70 3.19 我有些代码包含这样的表达式。a ? b=c : d 有些编译器可以接受,有些却不能。为什么? 70 保护规则 71 3.20 “semantics of‘>...
  • 可以用下面这样的代码吗?((condition) ? a : b)= complicated_expression; 70 3.19 我有些代码包含这样的表达式。a ? b=c : d 有些编译器可以接受,有些却不能。为什么? 70 保护规则 71 3.20 “semantics of‘>...
  • 可以用下面这样的代码吗?((condition) ? a : b)= complicated_expression;  3.19 我有些代码包含这样的表达式。a ? b=c : d 有些编译器可以接受,有些却不能。为什么?  保护规则  3.20 “semantics of...
  • 可以用下面这样的代码吗?((condition)?a:b)=complicated_expression;  3.19 我有些代码包含这样的表达式。a?b=c:d有些编译器可以接受,有些却不能。为什么?  保护规则  3.20 “semanticsof‘’changeinANSIC...
  • 根据图结构数据定义的计算可以用在各种领域中,从计算生物学和化学的分子分析到自然语言理解中知识图或图结构解析的分析都可以。 近几年来,图神经网络(Graph Neural Network,GNN)已经成为可以有效学习结构数据...
  • 可以用下面这样的代码吗?((condition)?a:b)=complicated_expression; 3.19 我有些代码包含这样的表达式。a?b=c:d有些编译器可以接受,有些却不能。为什么? 保护规则 3.20 “semanticsof‘’changeinANSIC”的...
  • javascript入门笔记

    2018-05-15 15:01:07
    调用:在JS中任何的合法位置处,都可以通过 函数名() 的方式进行调用 练习: 1、声明一个函数,名称为 change 2、在函数中 1、通过弹框,分两次,录入两个数字,保存在 a 和 b 2、先打印 a 和 b的值 3、如果...
  • 可以用下面这样的代码吗?((condition) ? a : = complicated_expression; 3.19 我有些代码包含这样的表达式。a ? b=c : d 有些编译器可以接受,有些却不能。为什么? 保护规则 3.20 “semantics of‘’change in ...

空空如也

空空如也

1 2 3 4
收藏数 72
精华内容 28
关键字:

任何函数都可以用解析式表示