% 复合梯形公式的递推算法
%
clear; clc; 
% 被积函数
f = @(x) sin(x)./x;
% 积分区间
a = 0;  b = 1;  
% 区间等分数
n = 1;  
% 步长
h = (b-a)/n; 
% 求积节点
X = a : h : b;  
% 节点函数值
Y = f(X);       
%  y(1)=0/sin(0),赋值为极限1
Y(1) = 1; 
% 复合梯形公式
T(1) = h/2*(Y(1) + Y(n+1));
fprintf('复合梯形公式T(0)计算的值为: %9.9f\n',T(1));
for k = 1:10
    Xm = 0.5*(X(1:end-1)+X(2:end));
    fm = f(Xm);
    T(k+1) = 0.5*T(k) + h/2*sum(fm);
    h = h/2;
    X = a : h : b;
    fprintf('复合梯形公式T(%d)计算的值为: %9.9f\n', k,T(k+1));
end
