zoukankan      html  css  js  c++  java
  • 复合梯形公式与复合辛普森公式求积分

     

    一 实验目的

    1. 掌握复合梯形公式与复合辛普森公式的基本思想。
    2. 编程实现用复合梯形公式与复合辛普森公式求积分。
    3. 熟悉matlab软件的使用。

    二 实验内容
    1、用复合梯形公式计算积分 I=4/(1+x2)dx ,求它0到1的积分。精确度为10-5.(0.00001)
    ,精确到
    ●1 计算公式
    h=(b-a)/n

    h=h/2[(f(x0)+f(x1))+(f(x1)+f(x2))+(f(x2)+f(x3)+...+(f(xn-1)+f(xn)]

    l1 算法分析
    En=h2/12[f'(b)-f'(a)]
    将区间[a,b]等分成n个小区间,在小区间上分别应用低次积分公式来构造公式,通过for循环来实现,分的越细,越接近实际结果,精确度越高。
    l2 源程序
    function f1=fun4(x) %原函数
    f1=4/(1+x^2);
    function ff=fun2(x) %函数对x求导
    ff=-8*x/((1+x^2)^2);
    function f=tixing(a,b) %a,b是区间
    a=0;b=1;
    disp('******复合梯形公式******')
    h=0.008; %h表示区间被等分成若干份后,每两个数的间距
    m=(a:h:b); %形成一维矩阵,每两个数间的间隔是h
    n=length(m); %求上矩阵的长度,即元素个数
    for i=1:n-1
    D(i)=fun4(m(i))+fun4(m(i+1));
    end
    R=h/2*sum(D); %积分结果
    E=-(h^2)*(fun2(b)-fun2(a))/12; %余项,即精度
    t=pi-R;
    [R;E;t]
    实验结果讨论和分析
    通过对h的值的改变,发现h值越小,即等分的区间越小,结果越精确,精确度越高。通过手算得到积分结果为π,实验结果为3.14158198692313,结果正确,可见复合梯形公式的精确度较高,运算次数为125.
    2、用复合辛普森公式计算积分I=4/(1+x2)dx ,求它0到1的积分。精确度为10-5.(0.00001)
    l5 计算公式
    h=(b-a)/2n=(xi+1-xi)/2 ;(i=0,1,…n-1)
    S=h/3[f(xi)+4f(xi+1/2)+f(xi+1)] (i=0,1,…n-1)
    l6 算法分析
    复合辛普森公式来求积分是将区间等分为2n份,在每两个相邻的数间再取中间值,利用for循环实现辛普森公式。该公式等分的份数更多,是的精度也更高。
    l7 源程序
    function f1=fun4(x)
    f1=4/(1+x^2); %公式f(x)
    function f=xinpusen(a,b) %a,b分别为区间的端点值
    a=0;b=1;
    disp('******复合辛普森形公式******')
    h1=0.25; %h表示区间被等分成若干份后,每两个相邻数的间距
    m=(a:h1:b);
    h=h1/2;
    n=length(m);
    for i=1:n-1
    Z(i)=(m(i)+m(i+1))/2;
    D(i)=fun4(m(i))+fun4(m(i+1))+4*fun4(Z(i));
    end
    R=h/3*sum(D);
    t=pi-R; %精度
    [R;t]
    l9 实验结果讨论和分析
    从计算结果可以看到,复合辛普森你公式结果更接近精确解,精确度更高,而且运算次数只有40次,大大减少了运算次数,比复合梯形公式收敛性高。

    三 本次实验总结
    在本次实验过程中,我掌握了复合梯形公式与复合辛普森公式的基本算法与思想,通过编程来实现用复合梯形公式与复合辛普森公式求积分。而且通过上机实验,可以看到复合辛普森公式得到的结果更加精确,运算次数比较少。同时对matlab的使用也更加熟练,对其中常用语句运用更自如。

  • 相关阅读:
    LeetCode OJ String to Integer (atoi) 字符串转数字
    HDU 1005 Number Sequence(AC代码)
    HDU 1004 Let the Balloon Rise(AC代码)
    HDU 1003 Max Sum(AC代码)
    012 Integer to Roman 整数转换成罗马数字
    011 Container With Most Water 盛最多水的容器
    010 Regular Expression Matching 正则表达式匹配
    007 Reverse Integer 旋转整数
    006 ZigZag Conversion
    005 Longest Palindromic Substring 最长回文子串
  • 原文地址:https://www.cnblogs.com/ghostTao/p/3809796.html
Copyright © 2011-2022 走看看