北京化工大学数值分析,龙贝尔求积,
实习题五:用龙贝格求积公式法计算习题五第一题积分,是结果尽可能准确(eps = 0.000001) 主程序:
%习题五:用龙贝格求积公式计算下列积分
clear
clc
format long
disp('习题五:用龙贝格求积公式计算下列积分')
%求解 f = sinx/x [0,pi/2]的积分
f = @f1;
a = 0.00001;
b = pi/2;
eps = 0.000001;
s = romberg(f,a,b,eps);
disp(' f = sinx/x [0,pi/2] 计算精度eps = 0.000001的积分结果')
disp(s)
%求解f = ln(1+x)/(x+x^2) [0,1] 的积分
f = @f2;
a = 0;
b = 1;
eps = 0.000001;
s = romberg(f,a,b,eps);
disp(' f = ln(1+x)/(x+x^2) [0,1] 计算精度eps = 0.000001的积分结果') disp(s)
%求解 y = (1/x)*log(1+x) [0,1] 的积分
f = @f3;
a = 0.00001;
b = 1;
eps = 0.000001;
s = romberg(f,a,b,eps);
disp(' y = (1/x)*log(1+x) [0,1] 计算精度eps = 0.000001的积分结果') disp(s)
%求解 y = 1/(1+x) [0,1] 的积分
f = @f4;
a = 0;
b = 1;
eps = 0.000001;
s = romberg(f,a,b,eps);
disp(' y = 1/(1+x) [0,1] 计算精度eps = 0.000001的积分结果')
disp(s)
龙贝格函数:
function R = romberg(f,a,b,eps)
h = b-a;
T = [];
T(1) = (feval(f,a)+feval(f,b))*h/2;