龍貝格求積分演算法例題 數值分析實習作業之龍貝格求積

2021-10-13 07:58:16 字數 1156 閱讀 3273

北京化工大學數值分析,龍貝爾求積,

實習題五:用龍貝格求積公式法計算習題五第一題積分,是結果盡可能準確(eps = 0.000001) 主程式:

%習題五:用龍貝格求積公式計算下列積分

clear

clcformat 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;

龍貝格積分

龍貝格積分對於程式設計實現來說,一開始不太好懂.對於不易直接用積分公式計算的原函式,通常用 復合梯形求積公式或復合拋物線求積公式等方法,但這些方法精度不高,收斂的速度緩慢。為了提高收斂速度,減少計算量,人們尋求其他方法.romberg方法也稱為逐次分半加速法。它是在梯形公式 辛卜生公式和柯特斯公式之...

數值積分 龍貝格 Romberg 積分

數值積分在工程上是個比較有用的數學工具。在工程上有很多數學問題,看似簡單,計算所用的數學公式不算複雜,但是求解起來卻很困難,很難獲得解析解的公式,這個時候就需要用到數值求解的辦法來獲取滿足工程需要的近似數值結果。舉個簡單的例子,求乙個變截面圓柱 或者叫圓台 的等效截面慣性矩,計算公式為ie h 3 ...

龍貝格演算法

龍貝格演算法是以復化梯形公式,復化希普森,復化牛頓 科特斯為基礎採用的是逐漸平衡誤差的做法,如下 include 龍貝格 include define maxlen 100 double a double b double f double x else double t int n else el...