数值计算讨论组

Would you like to react to this message? Create an account in a few clicks or log in to continue.
数值计算讨论组

欢迎来到数值计算讨论组。 本论坛旨在增强师生交流的时效性,主要讨论数值计算相关问题,包括初等数值分析、矩阵计算、非线性方程(组)数值解法、微分方程数值解法等方面的内容。


    [数] 复化求积公式参考程序

    avatar
    Admin
    Admin


    帖子数 : 46
    注册日期 : 10-05-13

    [数] 复化求积公式参考程序 Empty [数] 复化求积公式参考程序

    帖子 由 Admin 周四 十二月 23, 2010 10:25 am

    复化的积分公式程序实现比较简单,只需要注意到不同节点处函数值的系数可能有所不同即可。下面的程序可以实现[0,1]上的连续函数f(x)的定积分近似计算,分别使用了复化梯形积分公式和Simpson积分公式。剖分段数可以自己定义,f可以自己定义。
    代码:
    clear; clc; close all;format long
    a = 0;
    b = 1;
    n = 8;
    m = 16;
    h = (b-a)/n;
    x = a:h:b;

    % 复化梯形积分
    Tn = 0;
    for i = 2:n
        Tn = Tn + f(x(i));
    end
    Tn = Tn + (f(x(1)) + f(x(n+1)))/2;
    Tn = Tn*h;
    Tn

    % 复化Simpson积分
    Sn = 0;
    h1 = (b-a)/m;
    x1 = a:h1:b;
    temp1 = 0;
    temp2 = 0;
    temp2 = temp2 + f(h1/2);
    for i = 2:m
        temp1 = temp1 + f(x1(i));
        temp2 = temp2 + f(x1(i) + h1/2);
    end
    Sn = Sn + f(x1(1)) + f(x1(m+1));
    Sn = (Sn + 2*temp1 + 4*temp2)/6 * h1;
    Sn

      目前的日期/时间是周二 五月 14, 2024 6:06 am