一、數值積分方法得基本思想

二、復化求積公式

三、基于復化梯形求積公式的高精度求積演算法——Richardson外推法和Romberg演算法


四、Romberg演算法的matlab程式:
function Romberg
% 龍貝格(Romberg數值求解公式)
% inputs:
% -fun:積分函式句柄
% -a/b:積分上下限
% -tol:積分誤差
% Outputs:
% -R:4階精度Romberg積分值
% -k:迭代次數
% -T:整個迭代程序
%
% Example
% fun=@(x)x^5;
a = 0;
b = 1;
epsilon = 1e-6;
tol = epsilon;
fun = @(x) x^5;
k=0; % 迭代次數
n=1; % 區間劃分個數
h=b-a;
T=h/2*(fun(a)+fun(b));
err=1;
while err>=tol
k=k+1;
h=h/2;
tmp=0;
for i=1:n
tmp=tmp+fun(a+(2*i-1)*h);
end
T(k+1,1)=T(k)/2+h*tmp;
for j=1:k
T(k+1,j+1)=T(k+1,j)+(T(k+1,j)-T(k,j))/(4^j-1);
end
n=n*2;
err=abs(T(k+1,k+1)-T(k,k));
end
R=T(k+1,k+1)
end
可以直接運行的,只出來積分的結果,
代碼是根據別人的寫的(下面有參考鏈接),通過帶進去幾個函式發現精度只有 1 0 ? 4 10^{-4} 10?4,因為是幫師姐編的論文里面的一笑部分,對精度要求不高,就沒有再改進,
程式參考網址
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/173318.html
標籤:java
上一篇:順序表ADT模板設計及簡單應用:將順序表中前 m 個元素和后 n 個元素進行互換(資料結構OJ練習)(樣例4553 WA)
