精华内容
下载资源
问答
  • 包含代码和文档 采用复化梯形公式和复化辛普森公式求积分,并与精确值进行比较得下表。 采用复化梯形公式和复化辛普森公式求积分,并与精确值进行比较得下表。
  • (2)了解这些辛普森公式及龙贝格方法的概念,参考课本写出用复化辛普森算法以及龙贝格方法计算目标题目的程序,在matlab 中实现,并用matlab 内置的函数计算出结果,并提出存在的问题。2. 题目:利用复化辛普森公式和...

    一、实验目的及题目

    1. 实验目的:

    (1) 学习用复化辛普森公式及龙贝格方法求解积分并掌握这种方法。

    (2)了解这些辛普森公式及龙贝格方法的概念,参考课本写出用复化辛普森算法以及龙贝格方法计算目标题目的程序,在matlab 中实现,并用matlab 内置的函数计算出结果,并提出存在的问题。

    2. 题目:

    利用复化辛普森公式和龙贝格方法计算下列积分: (1)dx e x ?-5

    .002

    (2)dx x x ?20

    2sin )2sin(cos π

    二、实验用仪器设备、器材或软件环境 计算机、matlab 软件。

    三、实验原理、程序框图、程序代码 1.实验原理:

    根据微积分学基本定理,若被积函数f(x)在区间[a,b]上连续,只要能找到f(x)的一个原函数F(x),便可利用牛顿-莱布尼茨公式求得积分值。但会经常遇到如下问题:找不到用初等函数,找到了原函数,但因表达式过于复杂而不便计算等等。此时则不能用牛顿-莱布尼茨公式,因此有必要研究如下公式。 1)复化求积公式及原理

    由于高阶插值的不稳定性,为了提高计算积分的精度,可把积分区间分为若干个

    小区间,将()I f 写成这些小区间上的积分之和,然后对每一个小区间上的积分应用到辛普森公式,或柯特斯公式,并把每个小区间上的结果累加,所得到的求积公式就称为复化求积公式。

    辛普森公式的数值积分公式为:

    ?

    +++-≈

    b

    a

    b f b a f a f a b dx x f )]()2

    (

    4)([6

    )(

    展开全文
  • %下面除了龙贝格外,其他均以此fun函数作为被积函数 %梯形、辛普森、科特斯:...一、复化梯形: function Tn = ComplexTrap(xL, xR, n) % xL,xR:积分区间左右端点,n:分段数 % Tn :复化梯形积分结果 h = (xR-x...
    %下面除了龙贝格外,其他均以此fun函数作为被积函数
    %梯形、辛普森、科特斯:都是已知积分上下限和分段数,求解积分近似值。
    function a = fun(x)
        a = cos(x*x);
    end

    一、复化梯形:

    function Tn = ComplexTrap(xL, xR, n)
    % xL,xR:积分区间左右端点,n:分段数
    % Tn :复化梯形积分结果
    h = (xR-xL)/n;%求步长
    Tn = 0;
    x = xL:h:xR;
    for k = 1:n
        Tn = Tn + fun(x(k)) + fun(x(k+1));
    end 
    Tn = Tn*h/2;
    Tn = vpa(Tn,6);
    end 

     

    二、复化辛普森:

    function Sn = ComplexSimpson(xL, xR, n)
    % xL,xR:积分区间左右端点,n:分段数
    % Sn :复化辛普森积分结果
    h = (xR-xL)/n;%求步长
    Sn = 0;
    x = xL:h:xR;
    for k = 2:n+1
        Sn = Sn + 4*fun((x(k)-0.5)) + 2*fun(x(k)); 
    end 
    Sn = Sn + fun(xL) - fun(xR);
    Sn = vpa(Sn,7);
    Sn = Sn*h/6;
    Sn = vpa(Sn,6);
    end 

    三、复化科斯特:

    function Cn = ComplexCotes(xL, xR,n)
    % 判断积分区间个数是否是2的倍数,满足则进行计算,否则打印提示
    if mod(n,4) ~= 0
            print('等分区间数错误!');return
    else
        % 获取步长h
        h = (xR-xL)/n;
        %累积计算
        Cn = 0;
        for i = 1:n-3
            Cn = Cn + 7*fun(xL+h*(i-1))...
                     +32*fun(xL+h*i)...
                     +12*fun(xL+h*(i+1))...
                     +32*fun(xL+h*(i+2))...
                     +7*fun(xL+h*(i+3));
        end % 循环结束
        Cn = Cn*h/90;
        Cn = vpa(Cn,6);
    end % if判断结束
    end % 函数结束

    四、龙贝格:

    function I = romberg(fun,a,b,e)
    % 使用龙贝格(Romberg数值求解公式)
    % 输入例如:I=romberg(@(x)x^(3/2),0,1,0.000001)
    % 判断输入参数是否足够
    if nargin~=4
        error('请输入需要求积分的f、上界和下界以及误差e')
    end
    k=0; % 迭代次数
    n=1; % 区间划分个数
    h=b-a; %上下界间距
    T(1,1)=h/2*(fun(a)+fun(b));
    d=b-a; %误差间距
    while e<=d
        k=k+1;
        h=h/2;
        sum=0;
        % 计算第一列T
        for i=1:n
            sum=sum+fun(a+(2*i-1)*h);
        end
        T(k+1,1)=T(k)/2+h*sum;
        % 迭代
        for j=1:k
            T(k+1,j+1)=T(k+1,j)+(T(k+1,j)-T(k,j))/(4^j-1);
        end
        n=n*2;
        d=abs(T(k+1,k+1)-T(k,k));
    end
    T 
    I=T(k+1,k+1);

     

    展开全文
  • %复化辛普森公式 function 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+i*h; end T_1=h/6*(f(a)+f(b)); T_2=0; T_3=0; for j=2:n  &...
    %复化辛普森公式
    function 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+i*h;
    end
    T_1=h/6*(f(a)+f(b));
    T_2=0;
    T_3=0;
    for j=2:n
        F(j)=h/3*f(x(j));
        T_2=T_2+F(j);
    end
    for k=n+2:2*n+1
        F(k)=h/3*(f(x(k))+h/2);
        T_3=T_3+F(k);
    end
    %T_2=sum(F);
    T_n=T_1+T_2+T_3;
    
    展开全文
  • 复化辛普森公式求二重积分matlab源码 直接拷贝到matlab编辑器,傻瓜式操作。具体算法自行探究,网上都有,小编只提供代码。用的好的请加个关注,篱落~~成殇~~再次先行谢过。 %%%%%%%%%% 2020.6.5 %%%%%%%%% %%%%...

    复化辛普森公式求二重积分matlab源码

    直接拷贝到matlab编辑器,傻瓜式操作。具体算法自行探究,网上都有,小编只提供代码。用的好的请加个关注,篱落~~成殇~~再次先行谢过。

    %%%%%%%%%%     2020.6.5        %%%%%%%%%
    %%%%%%%%%%复化Simpson公式求二重积分%%%%%%%%%
    %%%%%%%%%%     Liu Deping      %%%%%%%%%
    clear all;
    %%%被积函数及积分上下限导入;
    s=input('请输入函数表达式:f = ','s');
    f=inline(s);
    a = input('请输入积分变量x左边界a的值:');
    b = input('请输入积分变量x右边界b的值:');
    c = input('请输入积分变量y左边界c的值:');
    d = input('请输入积分变量y右边界d的值:');
    h1 = input('请输入积分变量x步长h1的值:');
    h2 = input('请输入积分变量y步长h2的值:');
    m=round((b-a)/h1);
    n=round((d-c)/h2);
    %%%系数表T,t[i,j]为复化梯形公式的系数;
    T=zeros(m+1,n+1);
    R=[1,4,1;4,16,4;1,4,1];
    for p=0:m/2-1
        for q=0:n/2-1
            for i=1:3
                for j=1:3
                    T(i+2*p,j+2*q)=T(i+2*p,j+2*q)+R(i,j);
                end
            end
        end
    end
    fprintf('系数表:');
    T
    %%%计算各二维节点函数值,并存放于矩阵F中;
    F=zeros(m+1,n+1);
    for i=0:m
        for j=0:n
           F(i+1,j+1)=f(a+i*h1,c+j*h2);    
        end
    end 
    %%%结果输出;
    format long;
    fprintf('各节点函数值;')
    F
    fprintf('复化Simpson公式计算结果;')
    Snm=(b-a)*(d-c)/(9*m*n)*sum(sum(T.*F))
    

    下面附上一个例题吧,感受一下代码的强大。
    在这里插入图片描述
    只看第(2)问,利用辛普森公式计算积分。(关于第一问的代码可以去关注上一篇文章〈复化梯形公式公式求二重积分matlab源码〉)
    步骤:
    1.复制代码到matlab编辑器,点击运行;
    2.按照提示输入:

    3.得到结果(包括系数、节点函数值和积分结果):
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    如果代码对你有帮助,请加一下关注,如果有问题可以私聊!最后,再次感谢喜欢我的小伙伴。

    展开全文
  • 复化梯形公式和复化辛普森公式 以及matlab源代码
  • matlab代码
  • 复合Simpson Matlab函数function I = fsimpson(fun,a,b,n)h = (b-a)/n;x = linspace(a,b,2*n+1);%bailinspace(x1,x2,N)用于产生x1,x2之间的N点行线性的矢量;%其中x1、x2、N分别为起始值、终止值、元素个数。y=feval...
  • MATLAB程序实现复化梯形和辛普森数值积分
  • 数值分析实验报告 [1] 掌握复化梯形和辛普森数值积分法的基本原理和方法 实 验 [2] 编程 MATLAB程序实现复化梯形和辛普森数值积分 目 的 1. 编程序实现复化梯形数值积分求积公式 function y=f(x) y=sqrt(x*log(x; 实...
  • 数值分析实验报告 实 [1] 掌握复化梯形和辛普森数值积分法的基本原理和方法 验 目 [2] 编程 MA TLAB 程序实现复化梯形和辛普森数值积分 的 1. 编程序实现复化梯形数值积分求积公式 function y=f(x) y=sqrt(x*log(x;...
  • 5.3复化梯形公式及误差 5.3.1复化梯形公式 思路:将大区间分成许多小区间(n个),每个小区间上用梯形公式,再把所有区间结果求和. 5.3.2复化抛物线公式 思路:将大区间分成许多小区间(由于抛物线公式用到区间中点...
  • 这是一段复化梯形法和辛普森数值积分的matlab实现程序。
  • 根据题意和复化梯形公式、复化辛普森公式的原理编辑程序求解代码如下: Matlab 代码 clc s=quad('sin(x)./x',0,1) p1=zeros(10,1); p2=......(xk1)] ; 根据题意和复化梯形公式、复化辛普森公式的原理编辑程序求解...
  • 证明:1)确定代数精度为3....进一步用 进行检验,计算得 重要结论 例3 用辛普森公式和柯特斯公式计算定积分 的近似值,并估计其误差(计算结果取5位小数) 解: 辛普森公式 由于 由辛普森公式余项 知其...
  • 杨贤邦 学 号 指导教师 吴明芬 实验时间 2014.4.16 地 点 综合实验大楼 203 实验题目 数值积分方法 实 利用复化梯形辛普森公式和龙贝格数值积分公式计算定积分的 验 目 近似植 的 梯形辛普森柯特斯法及其Matlab 实现...
  • 2.掌握Newton-Cotes求积公式的原理,包括了解这些公式的误差及代数精度,参考课本写出复化辛普森算法的程序,在matlab中实现,并用matlab内置的函数计算,进行误差分析。 实验二:非线性方程求解 内容:用一般...
  • 学号 班级 统计1001 姓名 指导教师 易昆南 实验题目 用多种方法计算数值积分 评 分 1设计实习目的 了解MATLAB在实际问题中的应用 通过实践加深对这...分别用左右矩形法梯形法复化辛普森公式计算y=x^2在[0,1]上的定积分
  • 本帖代码和教程有Matlab技术论坛原创,原帖参见...(2)当n=2时,称为复化辛普森公式。 Eqn9.gif (2.96 KB) 2009-11-20 23:28 五、Newton-Cotes数值积分公式Matlab代码
  • 学会求数值的积分 [1] 掌握复化梯形和复化辛普森数值积分法的基本原理和方法; [2] 编程MATLAB程序实现复化梯形和复化辛普森数值积分
  • Simpson’s Rule (辛普森法则) 复化Simpson积分公式和复化梯形积分公式-通用程序 Matlab-复化梯形公式和复化Simpson公式 C++实现复化辛普森公式求积分算法 ...
  • 数值积分

    千次阅读 2015-12-10 11:09:02
    基于 MATLAB 平台采用复化梯形公式和复化辛普森 Simpson 公式,已经龙贝格 Romberg 法求解数值积分。 熟悉掌握复化梯形公式和复化Simpson公式,应用这两个公式求定积分的近似解; 会编写用龙贝格算法求定积分的程序...

空空如也

空空如也

1 2
收藏数 31
精华内容 12
关键字:

matlab复化辛普森

matlab 订阅