利用matlab編寫龍貝格演算法,並測試。
1龍貝格求積演算法matlab主程式
2呼叫函式解題
1寫出龍貝格求積演算法matlab的程式
function[t]=rbg(f,a,b,c
t=zeros(15,4
t(1,1)=(b-a)/2*(f(a)+f(b));
for k=2:4
sum=0;
for i=1:2^(k-2)
sum=sum+f(a+(2*i-1)*(b-a)/2^(k-1));
endt(k,1)=0.5*t(k-1,1)+(b-a)/2^(k-1)*sum;
for i=2:k
t(k,i)=(4^(i-1)*t(k,i-1)-t(k-1,i-1))/(4^(i-1)-1);
endendfor k=5:15
sum=0;
for i=1:2^(k-2)
sum=sum+f(a+(2*i-1)*(b-a)/2^(k-1));
endt(k,1)=0.5*t(k-1,1)+(b-a)/2^(k-1)*sum;
for i=2:4
t(k,i)=(4^(i-1)*t(k,i-1)-t(k-1,i-1))/(4^(i-1)-1);
endif k>6
if abs(t(k,4)-t(k-1,4))disp(['答案 ',num2str(t(k,4))]);
break;
end end
endif k>=15
disp(['不收斂
end2呼叫函式解題
由於被積函式sin(x)/x在積分下限0時函式值難定,故取積分下限為10^(-60)。呼叫函式解題如下:
在學習龍貝格演算法之前,我們學習了梯形公式,辛普森公式,科茨公式。我們知道函式變化有急有緩,我們希望能夠用很短的時間和很少的步數來求得積分函式的數值,由此
所以龍貝格演算法比其他的幾種公式有很大的優勢,我在寫龍貝格演算法時經常忘記定義變數或者寫錯語句,後來參考了別人的程式後自己進行了一下改進。最後得到了結果。
龍貝格 實驗報告
學院 數學科學學院專業 實驗三龍貝格求積分 一 實驗目的 用演算法實現龍貝積分運算,求解i 01x3 2dx的積分二 實驗原理 三 演算法設計與程式流程圖 演算法設計 先假定所求積分二分最大次數次數為20 1 先求t k 0 2 再由公式求t i j 3 在求出的同時比較t k k 與t k 1 k...
數值計算方法龍貝格積分報告
實驗目的 1通過本實驗加深對 龍貝格公式 的認識 2通過c 編寫程式求解下列積分 e 1e 6 3預期達到題中結果 4注意實驗給出的程式有兩個子程式為 f f1使用時只需該程式名即可。實驗題目 復合求積公式計算定積分 實驗原理及理論基礎 用梯形公式得到的積分近似值的誤差是,因此,人們希望用這個誤差作...
數值分析實驗報告
實驗一題目一 已知函式表如下 試用三次lagrange插值多項式求x 0.5635時的函式值。解 lagrange插值法公式 程式框圖如下 本題中n 4 分析設計思想 設計思路如上面的流程圖所示,用我們學過的c語言程式設計實現。程式清單 include include include float l...