精华内容
下载资源
问答
  • 文件中包含了4种数值积分方法,分别是复化梯形法,复化辛普森法,龙贝格法,三点高斯公式,对于求解复杂函数的积分问题很有帮助。是学习计算方法和数值积分的好代码。
  • 这是一段复化梯形法和辛普森数值积分的matlab实现程序。
  • 包含代码和文档 采用复化梯形公式和复化辛普森公式求积分,并与精确值进行比较得下表。 采用复化梯形公式和复化辛普森公式求积分,并与精确值进行比较得下表。
  • 用程序来求积分的方法有很多,这篇文章主要是有关牛顿-科特斯公式。 学过插值算法的同学最容易想到的就是用插值函数代替被积分函数来求积分,但实际上在大部分场景下这是行不通的。 插值函数一般是一个不超过n次的...
  • 实验三:分别用复化梯形公式和复化辛卜生公式计算f(x)=sin(x)/x的积分,并与准确值比较判断精度。#include#include#includedouble Trapezoid(float,float,float,int);double Simpson(float,float,float,int);double ...

    实验三:分别用复化梯形公式和复化辛卜生公式计算f(x)=sin(x)/x的积分,并与准确值比较判断精度。

    #include

    #include

    #include

    double Trapezoid(float,float,float,int);

    double Simpson(float,float,float,int);

    double Integral(float,float);

    int SigDigT(double,double,int);

    void Euler(float a[50],float b);

    float f(float);

    float Bisection(float,float);

    main()

    {char q;

    double d1,d2;

    float a,b,h1,h2;

    int i,m,n;

    printf("\t\t\t实验三:数值积分\n");

    printf("实验题目:分别用复化梯形公式和复化辛卜生公式计算f(x)=sin(x)/x的积分,并与准确值比较判断精度。\n\n");

    printf("请输入定积分的上下限:\n");

    printf("定积分下限:a=");

    scanf("%f",&a);

    printf("定积分上限:b=");

    scanf("%f",&b);

    if(a==b)

    {printf("积分上下限相等,定积分的值为0。\n");

    goto sign1;}

    else

    printf("请输入复化梯形公式划分的份数: ");

    scanf("%d",&n);

    printf("请输入复化辛卜生公式划分的份数:");

    scanf("%d",&m);

    h1=(b-a)/n;

    h2=(b-a)/m;

    printf("复化梯形公式的步长为: h=%f\n",h1);

    printf("复化辛朴生公式的步长为: h=%f\n",h2);

    printf("复化梯形公式的结果是:\nT=%f\n",Trapezoid(a,b,h1,n));

    printf("复化辛卜生公式的结果是:\nS=%f\n",Simpson(a,b,h2,m));

    printf("定义计算该公式的结果是:\nI=%f\n",Integral(a,b));

    d1=fabs(Integral(a,b)-Trapezoid(a,b,h1,n));

    d2=fabs(Integral(a,b)-Simpson(a,b,h2,m));

    printf("复化梯形公式的误差是:\nd=%f\n",d1);

    printf("复化辛卜生公式的误差是:\nd=%f\n",d2);

    if(d1>d2) printf("复化梯形公式的精度高于复化辛卜生公式的精度\n");

    else if(d1==d2) printf("复化辛卜生公式和复化梯形公式的精度相等\n");

    else printf("复化辛卜生公式的精度高于复化梯形公式的精度\n");

    for(i=0;i

    {if(i==0) printf("划分%d份的复化梯形公式的有效位数是小数点后的第%d位\n",n,SigDigT(d1,d2,i));

    else printf("划分%d份的复化辛卜生公式的有效位数是小数点后的第%d位\n",m,SigDigT(d1,d2,i));}

    sign1:

    printf("\n是否继续?(y/n)\n");

    printf("注:选y 重新输入,选n 返回主界面\n");

    getchar();

    q=getchar();

    if(q=='y')

    system("cls");

    else if(q=='n')

    {system("cls");

    main();}

    else {printf("您输入的字符不可识别,请重新输入!\n");

    goto sign1;}}

    double Trapezoid(float a,float b,float h1,int n)

    {double x,y,t=0;

    int i;

    for(i=1;i

    {x=a+i*h1;

    if(x==0) y=2;

    else y=2*(sin(x)/x);

    t=t+y;}

    if(a==0) t=t+1+sin(b)/b;

    else if(b==0) t=t+1+sin(a)/a;

    else t=t+sin(a)/a+sin(b)/b;

    t=(h1/2)*t;

    return t;}

    double Simpson(float a,float b,float h2,int m)

    {double x,y,s=0;

    int i;

    for(i=1;i

    {x=a+i*h2;

    if(x==0) y=2;

    else y=2*(sin(x)/x); s=s+y;}

    for(i=0;i

    {x=a+((1+2*i)*h2)/2; if(x==0) y=4;

    else y=4*(sin(x)/x); s=s+y;}

    if(a==0) s=s+1+sin(b)/b; else if(b==0) s=s+1+sin(a)/a; else s=s+sin(a)/a+sin(b)/b; s=(h2/6)*s;

    return s;}

    double Integral(float a,float b) {double h,x,y,I=0;

    int n=500000;

    h=(b-a)/500000;

    for(n=0;n

    if(x==0) y=1;

    else y=sin(x)/x;

    I=I+y*h;}

    return I;}

    SigDigT(double d1,double d2,int i) {int j=0,k=0;

    double r=1,t;

    if(i==0)

    {do{r=r*(0.1);

    t=d1/r;

    j++;}while(t

    else

    {do{r=r*(0.1);

    t=d2/r;

    j++;}while(t

    展开全文
  • 复化梯形公式的原与实现毕业论文目录摘要……………………………………………………………………………41前言 …………………………………………………………………………52 复化梯形公式的提出背景……………………...

    复化梯形公式的原与实现毕业论文

    目录

    摘要……………………………………………………………………………4

    1前言 …………………………………………………………………………5

    2 复化梯形公式的提出背景…………………………………………………5

    3复化梯形公式的算法原理 ………………………………………………6

    3.1复化梯形公式的主要思想……………………………………………6

    3.2复化梯形公式的计算方法……………………………………………6

    3.3复化梯形公式的积分余项……………………………………………6

    4算法流程图…………………………………………………………………7

    5 C语言算法程序……………………………………………………………8

    6算法实现

    6.1算法实例………………………………………………………………9

    6.2利用MATLAB计算误差的例子………………………………………11

    7总结…………………………………………………………………………13

    8参考文献……………………………………………………………………13

    摘要

    利用若干小梯形的面积代替原方程的积分,利用微元法,可以求出坐标面上由函数与坐标轴围城的图像的面积的近似值。设将求积区间分成等份,则一共有个分点,按梯形公式计算积分值,需要提供个函数值。整个区间上的复化梯形公式即 利用复化梯形公式计算和函数,此外也通过实例分析运用这种方法会产生怎样的误差。

    关键字:分点 函数值

    前言

    在工程计算中,某些定积分的近似值被广泛应用。我们在求一些具体的数值时,往往对精度的要求很高,用求积公式计算精确度的方法有很多,各有优缺点。通过对几种常见的方法加以比较,得出一些具体的选择方法,为提高计算精确度减少了很多复杂的运算。像复化梯形公式适用对精度不高的运算, 比复化梯形公式计算复杂,但结果比复化梯形求积公式计算的精确度要高,更适应精确度的运算,龙贝格计算积分时,不仅可以减少运算量,也可以提高近似值的精确度。此次主要讨论复化梯形的一些知识。

    复化梯形公式的提出背景

    根据人们所熟知的微积分基本定理,对于积分,只要找到被积函数的原函数,便有下列Newton-Leibniz公式:.但实际使用这种求积方法往往有困难,一方面的原函数不易求得 ,或非常复杂像有很多的被积函数,例如,等等,找不到用初等函数表示的原函数;另一方面,函数 是用函数表形式给出而没有解析式 , Newton-Leibniz公式也不能直接运用,这时就采用定积分的数值计算方法 ,以解决定积分的近似计算。此外在一些应用中数值求积公式的应用不仅在近似计算本身 ,在初等数学中 ,某些数列求前 n项之和公式的推导颇为繁琐 ,应用复化梯形公式可方便地导出这些公式。复化梯形公式用牛顿——Newton-Leibniz公式来计算的值的前提是 :的原函数能够求出。当 的原函数不易求出或找不到时 ,希望用一个易于求原函数的函数来近似代替被积函数 ,从而得到定积分的近似计算公式。下文中梯形公式就是常用的近似计算公式。由定积分的几何意义可知,梯形的面积近似的代替曲边梯形的面积。如果在整个区间上,只用单独一个梯形,由求梯形面积公式算出的结果为:T=(b-a)/2*[f(a)+f(b)]作为的近似值,往往达不到精度要求,因此通常采用的方法是细分求积区间。

    三、复化梯形公式的算法原理

    3.1复化梯形公式的主要思想:

    利用小梯形的面积代替原方程的积分,利用微元法,可以求出坐标面上由函数与坐标轴围城的图像的面积的近似值,符合了计算机计算存储的思想。设将求积区间分成等份,则一共有个分点,按梯形公式计算积分值,需要提供个函数值。在区间内插入一列分点,使a= <

    3.2复化梯形公式的计算方法:

    每个小区间上梯形公式是

    注意,这里 代表步长,分点为,

    整个区间上的复化梯形公式是

    3.3复化梯形公式的积分余项:

    由于 ,且

    故存在使

    所以复化梯形公式的积分余项为

    ,

    四、算法流程图:

    五、C语言算法程序

    #include

    #include

    #include

    using namespace std;

    #define N 400

    float F(float x)

    {

    x=exp(x) ;

    return (x )

    展开全文
  • 复化梯形公式与辛普森公式的matlab程序【程序代码】cclc;disp('1.复化梯形公式求解');disp('2.simpson公式求解');disp('请进行选择:');c=input(' ');if c==1clc;disp('复化梯形公式');disp('请输入积分下限 ');a=...

    复化梯形公式与辛普森公式的matlab程序

    【程序代码】

    cclc;

    disp('1.复化梯形公式求解');

    disp('2.simpson公式求解');

    disp('请进行选择:');

    c=input(' ');

    if c==1

    clc;

    disp('复化梯形公式');

    disp('请输入积分下限 ');

    a=input('a=');

    disp('请输入积分上限 ');

    b=input('b=');

    disp('请输入等分的数目 ');

    n=input('n=');

    h=(b-a)/n;

    s1=0;

    for i=1:n-1

    s1=s1+fun1(i*h);

    end

    disp('复化梯形公式的结果:');

    T=h/2*(fun1(a)+2*s1+fun1(b))

    else if c==2

    clc;

    disp('simpson公式');

    disp('请输入积分下限 ');

    a=input('a=');

    disp('请输入积分上限 ');

    b=input('b=');

    disp('请输入等分的数目 ');

    n=input('n=');

    h=(b-a)/n;

    s2=0;

    for i=0:n-1

    s2=s2+fun1((i+0.5)*h);

    end

    disp('辛普森公式的结果: ');

    S=h/6*(fun1(a)+4*s2+2*s1+fun1(b))

    end

    end

    disp('菜单选项');

    disp('1.继续运算');

    disp('2.退出程序!');

    p=input(' ');

    if p==1

    (fuhua);

    else if p==2

    disp('正在退出,请稍候。。。');

    展开全文
  • 复化梯形求积算法

    2018-09-04 12:06:05
    复化梯形求积算法
  • 并且对于n的不同取值牛顿-科特斯有不同的名称: 当n=1时,叫做复化梯形公式,复化梯形公式也就是将每一个小区间都看为一个梯形(高为h,上底为f(t), 下底为f(t+1))。这与积分的本质:无限分隔 相同。 当n=2时,复...

    用程序来求积分的方法有很多,这篇文章主要是有关牛顿-科特斯公式。

    学过插值算法的同学最容易想到的就是用插值函数代替被积分函数来求积分,但实际上在大部分场景下这是行不通的。

    插值函数一般是一个不超过n次的多项式,如果用插值函数来求积分的话,就会引进高次多项式求积分的问题。这样会将原来的求积分问题带到另一个求积分问题:如何求n次多项式的积分,而且当次数变高时,会出现龙悲歌现象,误差反而可能会增大,并且高次的插值求积公式有可能会变得不稳定:详细原因不赘述。

    牛顿-科特斯公式解决这一问题的办法是将大的插值区间分为一堆小的插值区间,使得多项式的次数不会太高。然后通过引入参数函数

    将带有幂的项的取值范围固定在一个固定范围内,这样一来就将多项式带有幂的部分的求积变为一个固定的常数,只需手工算出来即可。这个常数可以直接带入多项式求积函数。

    上式中x的求积分区间为[a, b],h = (b - a)/n, 这样一来积分区间变为[0, n],需要注意的是从这个公式可以看出一个大的区间被分为n个等长的小区间。 这一部分具体请参见任意一本有关数值计算的书!

    n是一个事先确定好的值。

    又因为一个大的插值区间需要被分为等长的多个小区间,并在这些小区间上分别进行插值和积分,因此此时的牛顿-科特斯公式被称为:复化牛顿-科特斯公式。

    并且对于n的不同取值牛顿-科特斯有不同的名称: 当n=1时,叫做复化梯形公式,复化梯形公式也就是将每一个小区间都看为一个梯形(高为h,上底为f(t), 下底为f(t+1))。这与积分的本质:无限分隔  相同。

    当n=2时,复化牛顿-科特斯公式被称为复化辛普森公式(非美国法律界著名的那个辛普森)。

    我这篇文章实现的是复化梯形公式:

    首先写一个函数求节点函数值求和那部分:

    """

    @brief: 求和 ∑f(xk) : xk表示等距节点的第k个节点,不包括端点

    xk = a + kh (k = 0, 1, 2, ...)

    积分区间为[a, b]

    @param: xk 积分区间的等分点x坐标集合(不包括端点)

    @param: func 求积函数

    @return: 返回值为集合的和

    """

    def sum_fun_xk(xk, func):

    return sum([func(each) for each in xk])

    然后就可以写整个求积分函数了:

    """

    @brief: 求func积分 :

    @param: a 积分区间左端点

    @param: b 积分区间右端点

    @param: n 积分分为n等份(复化梯形求积分要求)

    @param: func 求积函数

    @return: 积分值

    """

    def integral(a, b, n, func):

    h = (b - a)/float(n)

    xk = [a + i*h for i in range(1, n)]

    return h/2 * (func(a) + 2 * sum_fun_xk(xk, func) + func(b))

    相当的简单

    试验:

    当把大区间分为两个小区间时:

    分为20个小区间时:

    求的积分值就是这些彩色的梯形面积之和。

    测试代码:

    if __name__ == "__main__":

    func = lambda x: x**2

    a, b = 2, 8

    n = 20

    print integral(a, b, n, func)

    ''' 画图 '''

    import matplotlib.pyplot as plt

    plt.figure("play")

    ax1 = plt.subplot(111)

    plt.sca(ax1)

    tmpx = [2 + float(8-2) /50 * each for each in range(50+1)]

    plt.plot(tmpx, [func(each) for each in tmpx], linestyle = '-', color='black')

    for rang in range(n):

    tmpx = [a + float(8-2)/n * rang, a + float(8-2)/n * rang, a + float(8-2)/n * (rang+1), a + float(8-2)/n * (rang+1)]

    tmpy = [0, func(tmpx[1]), func(tmpx[2]), 0]

    c = ['r', 'y', 'b', 'g']

    plt.fill(tmpx, tmpy, color=c[rang%4])

    plt.grid(True)

    plt.show()

    注意上面代码中的n并不是上文开篇提到的公式中的n,开篇提到的n是指将每一个具体的插值区间(也就是小区间)等距插n个节点,复化梯形公式的n是固定的为1.

    而代码中的n指将大区间分为n个小区间。

    python与数值计算环境搭建

    数值计算的编程的软件很多种,也见过一些编程绘图软件的对比. 利用Python进行数值计算,需要用到numpy(矩阵) ,scipy(公式符号), matplotlib(绘图)这些工具包. 1.Linu ...

    【编程练习】收集的一些c&plus;&plus;代码片,算法排序,读文件,写日志,快速求积分等等

    写日志: class LogFile { public: static LogFile &instance(); operator FILE *() const { return m_file ...

    之前写的收集的一些c&plus;&plus;代码片,算法排序,读文件,写日志,快速求积分等等

    写日志: class LogFile { public: static LogFile &instance(); operator FILE *() const { return m_file ...

    牛顿插值法——用Python进行数值计算

    拉格朗日插值法的最大毛病就是每次引入一个新的插值节点,基函数都要发生变化,这在一些实际生产环境中是不合适的,有时候会不断的有新的测量数据加入插值节点集, 因此,通过寻找n个插值节点构造的的插值函数与n ...

    Python 3 数值计算

    Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32Type & ...

    分段二次插值——用Python进行数值计算

    事实上在实际使用中,高次插值显然是很不适合的,高次插值将所有样点包涵进一个插值函数中,这是次幂高的原因.高次计算复杂,而且刚开始的一点误差会被方的很大.因此将整个区间分为若干个小区间,在每一个小区间进 ...

    埃尔米特插值问题——用Python进行数值计算

    当插值的要求涉及到对插值函数导数的要求时,普通插值问题就变为埃尔米特插值问题.拉格朗日插值和牛顿插值的要求较低,只需要插值函数的函数值在插值点与被插函数的值相等,以此来使得在其它非插值节点插值函数的值 ...

    拉格朗日插值法——用Python进行数值计算

    插值法的伟大作用我就不说了.... 那么贴代码? 首先说一下下面几点: 1. 已有的数据样本被称之为 "插值节点" 2. 对于特定插值节点,它所对应的插值函数是必定存在且唯一的(关 ...

    simpson法求积分 专题练习

    [xsy1775]数值积分 题意 多组询问,求\(\int_l^r\sqrt{a(1-{x^2\over b})}dx\) 分析 double f(double x) { return sqrt(a* ...

    随机推荐

    Reverse Core 第一部分 代码逆向技术基础

    @date: 2016/10/14 笔记 记录书中较重要的知识,方便回顾 ps. 因有一些逆向基础,所以我本来就比较熟悉的知识并未详细记录 第一章 关于逆向工程 目标, ...

    HDU 1052

    http://acm.hdu.edu.cn/showproblem.php?pid=1052 田忌赛马本质就是一个贪心 res表示田忌的胜利场次 1.田忌最快马快于王的最快马,两个最快马比,res++ ...

    SQL Sever2008 新手入门第一天安装软件

    (计应154兰家才)这学期,新来了一门课程,数据库应用.刚开始什么都不懂,也不知道这东西到底是干嘛,本着路漫漫其修远兮,吾将上下而求索的精神,开始了一段求知路程.刚开始找了一个简单的绿化版sql200 ...

    v2013调试无法访问此网站 localhost 拒绝了我们的连接请求

    问题描述:          别人给的服务器代码,在本地部署以后调试的,localhost:8080 可以访问,localhost:2524访问不了需要改什么配置吗 解决思路:           这 ...

    k8s实战之从私有仓库拉取镜像 - kubernetes

    1.实战目的 从私有docker仓库拉取镜像,部署pod.上一篇中,我们搭建了私有的镜像仓库,这一篇我们将与k8s结合实战使用私有仓库. 2.登录docker 为了完成本次实战,需要登录docker, ...

    HBase——HMaster启动之一&lpar;HMaster的构建&rpar;

    首先,让我们来到HMaster的main方法.我们今天的流程就从这里开始. 我们需要注意,下图所示的tool的类型就是HMasterCommandLine. 接下来,让我们来到HMasterComma ...

    2019 校内赛 RPG的地牢猎手&lpar;bfs&plus;优先队列&rpar;

    Problem Description Luke最近沉迷一款RPG游戏,游戏中角色可以进入地牢关卡,只要顺利走出地牢就可以获得奖励.地牢表示为n行m列的块矩阵,其中每个块只可以是障碍块.入口.出口或数 ...

    zabbix3&period;x添加H3C网络设备详解

    zabbix3.x添加H3C网络设备详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 前言: 欢迎加入:高级运维工程师之路 598432640 相信大家在看我的文章之前,也看过其 ...

    Mysql 登录及用户切换、用户权限查询

    启动mysql: 方法一:net start mysql(或者是其他服务名) 方法二:在windows下启动MySQL服务 MySql安装目录:"d:\MySql\" 进入命令行输 ...

    Activity设置Dialog属性点击区域外消失实现方式

    通过配置:true 通过代码:setFinish ...

    展开全文
  • 复化梯形公式-辛普森公式的matlab程序.doc (2页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!9.90 积分复化梯形公式与辛普森公式的matlab程序【程序代码】cclc;disp...
  • 数值分析实验报告 实 [1] 掌握复化梯形和辛普森数值积分的基本原理和方法 验 目 [2] 编程 MA TLAB 程序实现复化梯形和辛普森数值积分 的 1. 编程序实现复化梯形数值积分求积公式 function y=f(x) y=sqrt(x*log(x;...
  • 复化梯形算法可以实现复化求积,求解定积分问题
  • (3)变步长求积:以书本例 4.5 为例 function [f]=TN(a,b,y,R0) syms t; T=[]; f=0; q=subs(y,t,a); if y=='sin(t)/t'&&a==0 q=1; end p=subs(y,t,b); T(1)=(b-a)/2*(q+p); i=2; n=i-1; h=(b-a)/n; z1=a+h/2; z2=...
  • (1): 复化梯形法的设计思想。即用梯形面积公式来求每个子段[xi,xi+1]上的积分。将各子段积分值求和得到公式: (2): 复化辛普森法设计思想:即用simpson公式求每个子段[xi,xi+1]上的积分值。然后再将各子段积分值...
  • 复化梯形求积公式C++实现

    千次阅读 2018-07-15 08:26:59
    问题描述用复化梯形公式求f(x) = sin(x)在区间[0,1]的积分。复化梯形公式的原理其原理就是把整个区间平均分成N段区间,每个区间用梯形公式求其小梯形面积,最后累加所用小梯形就可近似计算出其总积分。复化梯形公式...
  • 数值分析实验报告 [1] 掌握复化梯形和辛普森数值积分的基本原理和方法 实 验 [2] 编程 MATLAB程序实现复化梯形和辛普森数值积分 目 的 1. 编程序实现复化梯形数值积分求积公式 function y=f(x) y=sqrt(x*log(x; 实...
  • 程序源代码已经调试通过,希望大家不要抄作业!!
  • . . WORD.格式整理. .. .专业.知识.分享. .姓名:樊元君 学号:2012200902 日期:2012.11.061.实验目的:掌握复化梯形法与龙贝格法计算定积分。2.实验内容:分别...
  • 题目: 利用复化梯形求积公式计算圆周率 具体要求: 用下面这个公式, 把【0,1】区间十等分,用梯形法计算Π。
  • 自编Python程序实现数值计算矩形区域二重积分,使用复化辛普森。以函数f=xsiny在0和pi/2区域上的积分为例。网格节点数m,n需为2的倍数。对于非矩形区域可以使用虚拟节点和区域,填补为矩形区域后计算,填补区域上...
  • 复化梯形公式matlab

    千次阅读 2020-12-24 18:02:34
    根据题意和复化梯形公式、复化辛普森公式的原理编辑程序求解代码如下: Matlab 代码 clc s=quad('sin(x)./x',0,1) p1=zeros(10,1); p2=......(xk1)] ; 根据题意和复化梯形公式、复化辛普森公式的原理编辑程序求解...
  • 数值分析实验c语言版复合梯形法求积公式(f(x)=sinx/x) #include "stdio.h"#include "math.h"void main(){int k;double a,b,n,h,x;double f,f1,f2,T,F=0.0;printf("请输入a b n :");scanf("%lf%lf%lf",&a,&b,...
  • 资源描述复化积分(复化梯形求积,复化Simpson公式,变步长求积)MATLAB编程实验报告一、 问题描述:编写函数实现复化积分。二、 实验步骤(过程):(1) 复化求积(1) 复化梯形求积:用复化梯形求积公式求解...
  • 分别用复化梯形公式、复化Simpson 公式计算定积分dx e x ⎰+201,复化梯形公式求定积分:,function I=tquad(x,%复化梯形求积公式,%x 为向量,m=length(y),%积分自变量的结点数应与它的函数值的个数相同 h=(x(n)-x...
  • 1)观察复化梯形公式和复化辛普森公式随区间数n增加各自误差的减少规律;研究广义积分的数值计算如何将其转化为普通积分,再由已有数值积分方法进行计算; 2)利用复化梯形公式和复化辛普森公式计算定积分,编程实现...
  • n T_n = C_t_r(f,n,a,b) %f为函数,n为精度,a,b为区间端点 h=(b-a)/n; %f=sqrt(x); for i=0:n x(i+1)=a+ih; end T_1=h/2(1+f(b)); T_2=0; for j=2:n F(j)=h*f(x(j)); T_2=T_2+F(j);......
  • 变步长复化梯形法求积

    千次阅读 2010-10-06 17:15:00
    #include <iostream><br /> using namespace std; void main() { float a,b,e,result; float f(float x);...float exfloor(float (*f)(float),float a,float b,float ...
  • 示例求f(x) = e^x在[0,1]区间上精度为10e-5的积分 import math from scipy.misc import derivative def sum_fun_x(x, func): # 累加项 ... return sum([func(each)...def integral(a, b, n, func): # 梯形复化公...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 966
精华内容 386
关键字:

复化梯形法