基于Monster 组和GPT的调写:
%第一个公式
% 梯形法
n = 10; % 分割数
h = 2/n;
x = linspace(-1, 1, n+1);
y = -1./log(x);
I_trapezoidal = h/2 * (y(1) + 2*sum(y(2:n)) + y(n+1));
disp(['梯形法逼近的积分值为:', num2str(I_trapezoidal)])
% 辛普森法
n = 10; % 分割数
h = 2/n;
x = linspace(-1, 1, n+1);
y = -1./log(x);
I_simpson = h/3 * (y(1) + 4*sum(y(2:2:n)) + 2*sum(y(3:2:n-1)) + y(n+1));
disp(['辛普森法逼近的积分值为:', num2str(I_simpson)])
%第二个公式
% 梯形法
n = 1000; % 分割数
h = 10/n;
x = linspace(eps, 10, n+1); % 在0处添加微小的正数eps
y = sin(x)./x;
I_trapezoidal = h/2 * (y(1) + 2*sum(y(2:n)) + y(n+1));
disp(['梯形法逼近的积分值为:', num2str(I_trapezoidal)])
% 辛普森法
n = 1000; % 分割数
h = 10/n;
x = linspace(eps, 10, n+1); % 在0处添加微小的正数eps
y = sin(x)./x;
I_simpson = h/3 * (y(1) + 4*sum(y(2:2:n)) + 2*sum(y(3:2:n-1)) + y(n+1));
disp(['辛普森法逼近的积分值为:', num2str(I_simpson)])