精华内容
下载资源
问答
  • 复化梯形公式求积分
    千次阅读
    2021-01-14 11:52:17

    资源描述

    复化积分法(复化梯形求积,复化Simpson公式,变步长求积法)MATLAB编程实验报告

    一、 问题描述:

    编写函数实现复化积分法。

    二、 实验步骤(过程):

    (1) 复化求积法

    (1) 复化梯形求积:用复化梯形求积公式求解

    function [f]=Tn(a,b,n,y)

    syms t;

    h=(b-a)/n;

    f=0;

    for k=1:n+1

    x(k)=a+(k-1)*h

    z(k)=subs(y,t,x(k));

    end

    for i=2:n

    f=f+z(i);

    end

    q=subs(y,t,a);

    if y==sin(t)/t&&a==0

    q=1;

    end

    p=subs(y,t,b);

    T=h/2*(q+p+2*f);

    T=vpa(T,7)

    clc,clear;

    syms t;

    a=0;b=1;

    y=sin(t)/t;

    n=8;

    Tn(a,b,n,y);

    (2) 复化Simpson公式:用复化Simpson公式求解

    function [f]=simpson(a,b,n,y)

    syms t;

    h=(b-a)/n;

    f=0;l=0;

    for k=1:n+1

    x(k)=a+(k-1)*h

    w(k)=0.5*h+x(k)

    z(k)=subs(y,t,x(k));

    end

    for i=2:n

    f=f+z(i);

    end

    for i=1:n

    l=l+w(i);

    end

    q=subs(y,t,a);

    if y==sin(t)/t&&a==0

    q=1;

    end

    p=subs(y,t,b);

    T=h/2*(q+p+2*f);

    T=vpa(T,7)

    clc,clear;

    syms t;

    a=1;b=2;

    y=exp(1/t);

    n=5;

    simpson(a,b,n,y);

    (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=subs(y,t,z1);

    T(2)=T(1)/2+h/2*z2;

    while ((T(i)-T(i-1))/3)>R0

    i=i+1

    n=i-1;

    n=2^(n-1)

    h=(b-a)/n;

    f=0;

    for k=1:n

    x(k)=a+h*(k-1);

    w(k)=x(k)+h/2;

    z(k)=subs(y,t,w(k));

    f=f+z(k);

    end

    T(i)=T(i-1)/2+h/2*f

    if ((T(i)-T(i-1))/3)<=R0

    break;

    end

    end

    tl=T(i)

    clc,clear;

    format long;

    syms t;

    y=sin(t)/t;

    a=0;b=1;

    R0=0.5*10^(-3);

    TN(a,b,y,R0);

    结论如下:

    三、 结论:

    复化梯形求积:

    复化Simpson公式

    变步长求积法

    展开阅读全文

    更多相关内容
  • 包含代码和文档 采用复化梯形公式和复化辛普森公式求积分,并与精确值进行比较得下表。 采用复化梯形公式和复化辛普森公式求积分,并与精确值进行比较得下表。
  • 运用了复化梯形公式求解积分,根据积分与解的误差,由用户设定来确定精度
  • 【Matlab】复化梯形公式求积分二重积分

    万次阅读 多人点赞 2020-12-17 16:38:52
    一、复化梯形公式求积分 题目: 利用复化梯形公式计算 I(f)=∫15sinxxdxI(f) = \int_1^5{\frac{sinx}{x}dx}I(f)=∫15​xsinx​dx 的近似值,精确至7位有效数字。 Matlab程序: clc; clear all syms x %% 已知条件 ...

    一、复化梯形公式求积分

    1.1 题目

    利用复化梯形公式计算
    I ( f ) = ∫ 1 5 s i n x x d x I(f) = \int_1^5{\frac{sinx}{x}dx} I(f)=15xsinxdx
    的近似值,精确至7位有效数字。

    1.2 程序

    clc; clear all
    syms x 
    
    %% 已知条件
    Fx(x) = sin(x)/x;
    a = 1;
    b = 5;
    epsilon = 5e-8;
    e = 1;
    T = []; % 存放Tf的值
    h = b-a;
    Xk1 = [a, b];  % 存放已选的 xk
    Xk2 = [];      % 存放将要使用的 x(k+1/2)
    sumfx = 0;     % sum( fx(k+1/2) )
    
    %% 计算
    digits(8)
    format long
    k = 0;
    Tf = vpa( b - a ) / 2 * ( Fx(a) + Fx(b) );
    T = [T, Tf];
    fprintf('k=%d, 2^k=%d, Tk=%0.8f\n',k,2^k,Tf) 
    
    while(e>epsilon)
        for i=1:length(Xk1)-1
            temp = ( Xk1(i) + Xk1(i+1) ) / 2;
            sumfx = sumfx + Fx(temp);
            Xk2 = [Xk2,temp];
        end
        Xk1 = [Xk1,Xk2];
        Xk1 = sort(Xk1);
        
        k = k + 1;
        Tf = vpa( 0.5 * ( Tf + h * sumfx ) );
        T = [T, Tf];
        e = abs(Tf - T(end-1))/3;
        fprintf('k=%d, 2^k=%d, Tk=%0.8f, e=%0.8f\n',k,2^k,Tf,e) 
        
        % 更新值
        h = h / 2;
        sumfx = 0;
        Xk2 = [];
    end
    
    If = Tf;
    fprintf('复化梯形求积公式的结果为:%0.8f\n',If)
    

    1.3 运行结果

    在这里插入图片描述

    二、复化梯形公式求二重积分

    2.1 题目

    (1)给定积分 I ( f ) = ∫ c d ( ∫ a b f ( x , y ) d x ) d y I(f)=\int_{c}^{d}\left(\int_{a}^{b} f(x, y) \mathrm{d} x\right) \mathrm{d} y I(f)=cd(abf(x,y)dx)dy,取初始步长 h h h k k k及精度 ε \varepsilon ε,应用复化梯形公式,采用逐次二分步长的方法并应用外推思想编制计算 I ( f ) I(f) I(f)的通用程序,计算至相邻两次近视值之差的绝对值不超过 ε \varepsilon ε为止;

    (2)用所编程序计算积分 I ( f ) = ∫ 0 π / 6 ( ∫ 0 π / 3 tan ⁡ ( x 2 + y 2 ) d x ) d y I(f)=\int_{0}^{\pi / 6}\left(\int_{0}^{\pi / 3} \tan \left(x^{2}+y^{2}\right) \mathrm{d} x\right) \mathrm{d} y I(f)=0π/6(0π/3tan(x2+y2)dx)dy
    ε = 1 2 × 1 0 − 5 \varepsilon=\frac{1}{2} \times 10^{-5} ε=21×105

    2.2 程序

    2.2.1 二重积分通用程序

    function[result] = trapezoid(a,b,c,d,F,epsilon)
        %% 初值条件
        T0 = [];  % 存放Tm,n(f)
        T1 = [];  % 存放T(1)m,n(f)
        T2 = [];  % 存放T(2)m,n(f)
        T3 = [];  % 存放T(3)m,n(f)
    
        m = 1;  % 将[a,b] m等分
        n = 1;  % 将[c,d] n等分; 注:虽然这里m与n相等,但分开计算。
        h = (b - a) / m;  % x的步长
        k = (d - c) / n;  % y的步长
        xx = [a,b];
        yy = [c,d];
        e = 1; % 误差
    
        %% 计数位
        count = 0;
        T0_count = 0;
        T1_count = 0;
        T2_count = 0;
        T3_count = 0;
    
        %% 计算
        digits(10)
        T =  h * k  / 4 * ( F(xx(1),yy(1)) + F(xx(1),yy(2)) + F(xx(2),yy(1)) + F(xx(2),yy(2)) )   ;
        T0 = [T0, T];
        T0_count = T0_count + 1;
        count = 1;
        fprintf('k=%d, 2^k=%d, T0=%0.8f\n',count,2^count,T) 
    
        while(e>epsilon)
            m = 2 * m;
            n = 2 * n;
            h = (b - a) / m;
            k = (d - c) / n;
    
            % 计算x、y的取值
            xx = [a];  % 暂时只存入左边值
            yy = [c];  % 暂时只存入左边值
            for i = 1:m
                temp = a + i * h;
                xx = [xx,temp];
            end
            for j = 1:n
                temp = c + j * k;
                yy = [yy,temp];
            end
    
            % 计算T0
            T = 0;
            for i = 1:m
                for j = 1:n
                    T = T + vpa( h * k /4 * (F(xx(i),yy(j)) + F(xx(i),yy(j+1)) + F(xx(i+1),yy(j)) + F(xx(i+1),yy(j+1)) ) );
                end
            end
            T0 = [T0,T];
            T0_count = T0_count + 1;
            count = count + 1;
            fprintf('k=%d, 2^k=%d, T0=%0.8f',count,2^count,T) 
    
            % 计算T1
            if T0_count - T1_count == 2 && T0_count >= 2
                temp = 4 / 3 * T0(end) - 1 / 3 * T0(end-1);
                T1 = [T1,temp];
                T1_count = T1_count + 1;
                fprintf(', T1=%0.8f',T1(end)) 
            end
    
            % 计算T2
            if T1_count - T2_count == 2  && T1_count >= 2
                temp = 4 / 3 * T1(end) - 1 / 3 * T1(end-1);
                T2 = [T2,temp];
                T2_count = T2_count + 1;
                fprintf(', T2=%0.8f',T2(end)) 
            end
    
            % 计算T3
            if T2_count - T3_count == 2  && T2_count >= 2
                temp = 4 / 3 * T2(end) - 1 / 3 * T2(end-1);
                T3 = [T3,temp];
                T3_count = T3_count + 1;
                fprintf(', T3=%0.8f',T3(end)) 
            end
    
            if T3_count >= 2
                e = T3(end) - T3(end-1);
                fprintf(', e=%0.8f',e) 
            end
            fprintf('\n') 
        end
        fprintf('复化梯形二重积分求积公式的结果为:%0.8f\n',T3(end))
        result = T3(end);
    end
    

    2.2.2 主函数程序

    clc; clear;
    
    syms x y
    F(x,y) = tan(x^2 + y^2);
    a = 0;
    b = pi/3;
    c = 0;
    d = pi/6;
    epsilon = 0.5e-5;
    
    result = trapezoid(a,b,c,d,F,epsilon);
    

    2.3 运行结果

    在这里插入图片描述

    展开全文
  • C++实现复化梯形公式求积分算法

    千次阅读 2019-09-21 20:45:16
    取 n=10,利用复化梯形公式计算积分: 3. 程序代码 # include # include using namespace std ; double X [ 1000 ] ; //保存生成的节点横坐标 double Y [ 1000 ] ; //保存生成的节点纵...

    1. 算法原理简介

    步1 将积分区间2n等分;
    步2 调用复化梯形公式:
    在这里插入图片描述

    2. 应用实例

    取 n=10,利用复化梯形公式计算积分:
    在这里插入图片描述

    3. 程序代码

    #include <iostream>
    #include <cmath>
    using namespace std;
    
    double X[1000];//保存生成的节点横坐标
    double Y[1000];//保存生成的节点纵坐标
    
    //定义一个数学函数
    double fun(double x)
    {	
        return 4 / (1 + x * x);
    }
    
    //分割区间
    void Devide(double a, double b, int N)
    {	
        double x;	
        double dx= (b - a) / (N);	
        for (int i = 0; i <= N; i++)	
        {		
            x = a + i * dx;		
            X[i] = x;		
            Y[i] = fun(x);	
        }
    }
    
    //复化梯形求积
    double GetIntegralValue(double a, double b, int N)
    {	
        double sum = 0;	
        double value;	
        //求2*f(xk)的总和,1<= k <= n-1	
        for (int i = 1; i <= N - 1; i++)	
        {		
            sum += 2 * Y[i];
        }	
        value = 0.5 * ((b - a) / N) * (Y[0] + sum + Y[N]);	
        return value;
    }
    
    int main()
    {	//产生的节点数	
        double a = 0;	
        double b = 1;	
        int N=10;	
        cout << "被积函数 f = 4 / (1 + x * x)" << endl;	
        cout << "区间等分数为 10" << endl;	
        cout << "积分区间为(0,1)" << endl;	
        Devide(a, b, N);	
        cout << "积分值为:" << GetIntegralValue(a, b, N) << endl;	
        return 0;
    }

    4. 运行结果

    在这里插入图片描述

    展开全文
  • 今天小编就为大家分享一篇复化梯形求积分实例——用Python进行数值计算,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 复合梯形公式求积分

    2018-10-19 12:47:33
    数值计算积分,利用复合梯形公式求积分,计算结果误差较小
  • 复化梯形公式和复化辛普森公式的对比分析与应用,刁红,赵晓慧, 通过结合复化梯形公式和辛普森公式概念和性质的论述,将其进行对比和示例的演示,诣在了解数值分析在实际中的应用以及复化积分
  • matlab中利用复化梯形公式和复化simpson公式实现积分运算,对于数值计算类课程很有帮助。
  • C++程序用复化梯形公式计算积分sinx从0到1的值
  • 计算定积分,在函数体中修改函数名和上下限以及误差精度。 matlab程序m文件。
  • 用程序来求积分的方法有很多,这篇文章主要是有关牛顿-科特斯公式。学过插值算法的同学最容易想到的就是用插值函数代替被积分函数来求积分,但实际上在大部分场景下这是行不通的。插值函数一般是一个不超过n次的...

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

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

    插值函数一般是一个不超过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 ...

    展开全文
  • 复化梯形公式求积分,函数已经给定,输入积分区间,然后再进行积分
  • 2 分别用复化梯形公式复化 Simpson 公式计算定积分 1+ ex dx 取 n=2,4,8,16 0 分别验证结果精确值I=4.006994 复化梯形公式求积分: function I=tquad(x,y) %复化梯形积公式其中 %x 为向量被积函数自变量的等距...
  • //复化梯形公式求积分 //将[0,1]分成n等份,子区间长度为h=(b-a)/n #include #include using namespace std; int main() { double up, down, a, b, c, n = 100; //积分区间被分为n等份 cout cin >> up >> down >>...
  • 复化梯形公式求二重积分matlab源码这段代码具有很好的交互性和通用性,将代码复制到matlab编辑器之后,按照提示操作即可。傻瓜式操作,结果一目了然~%%%%%%%%%% 2020.6.5 %%%%%%%%%%%%%%%%%%%复化梯形公式求二重...
  • 复化梯形求公式 c语言实现 数值积分
  • 示例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、利用复化梯形公式、复化simpson公式计算积分2、比较计算误差与实际误差实验原理(算法流程图或者含注释的源代码)取n=2,3,…,10分别利用复化梯形公式、复化simpson公式计算积分120Ixdx,并与真值...
  • 复化梯形公式.cpp

    2020-03-31 08:21:25
    复化梯形公式. cout等分区间数为:"; cin>>N; cout; cout区间的范围为:"; cin>>a; cin>>b; cout; devide(a,b,N); cout积分值为:"(a,b,N); cout是否继续?按y退出:";
  • 实验3.1 1实验目的 1.1 实验3.1:分别用复化梯形公式与复化Simpson公式计算下列积分,并与精确积分值相比较,探讨两类积分公式的精度。...3.1 复化梯形公式与复化Simpson公式求积分。 3.2 积函数计算定积分 4...
  • 复化梯形公式求二重积分matlab源码

    千次阅读 2020-06-08 13:11:05
    复化梯形公式求二重积分matlab源码 %%%%%%%%%% 2020.6.5 %%%%%%%%% %%%%%%%%%%复化梯形公式求二重积分%%%%%%%%%%%%%%%%%%% Liu Deping %%%%%%%%%clear all;%%%被积函数及积分上下限导入;s=input('请输入函数表达式...
  • 分别用复化梯形公式、复化Simpson 公式计算定积分dx e x ⎰+201,复化梯形公式求积分:,function I=tquad(x,%复化梯形积公式,%x 为向量,m=length(y),%积分自变量的结点数应与它的函数值的个数相同 h=(x(n)-x...
  • 数值分析实验报告 [1] 掌握复化梯形和辛普森数值积分法的基本... 编程序实现复化梯形数值积分求公式 function y=f(x) y=sqrt(x*log(x; 实 验 function T_n=F_H_T(a,b,n) 内 h=(b-a)/n; for k=0:n 容 x(k+1)=a+k*h; 与
  • 数值分析C++实现用复化梯形公式

    千次阅读 2020-05-05 00:59:47
    算法描述 (1)计算步长h =(b-a)/n (2)计算sum1 = f(a)+f(b) (3)从 i =1开始计算 h = ...(4)计算 I = h*(sum1+2*sum2)/2,即得出结果积分I 源程序代码及运行结果截图 #include<iostream> #include<vector>...
  • 从Newton-Cotes的截断误差公式可以看出,当积分区间[a,b][a,b][a,b]较大时,低阶的Newton-Cotes公式截断误差都比较大。由于高阶Newton-Cotes公式是数值不稳定的,因此通过不断...这种方法称为复化求积方法。 常

空空如也

空空如也

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

复化梯形公式求积分

友情链接: LCD12864.zip