一 實驗目的
1. 掌握復合梯形公式與復合辛普森公式的基本思想。
2. 編程實現用復合梯形公式與復合辛普森公式求積分。
3. 熟悉matlab軟件的使用。
二 實驗內容
1、用復合梯形公式計算積分 I=4/(1+x2)dx ,求它0到1的積分。精確度為10-5.(0.00001)
,精確到
●1 計算公式
h=(b-a)/n
h=h/2[(f(x0)+f(x1))+(f(x1)+f(x2))+(f(x2)+f(x3)+...+(f(xn-1)+f(xn)]
l1 算法分析
En=h2/12[f'(b)-f'(a)]
將區間[a,b]等分成n個小區間,在小區間上分別應用低次積分公式來構造公式,通過for循環來實現,分的越細,越接近實際結果,精確度越高。
l2 源程序
function f1=fun4(x) %原函數
f1=4/(1+x^2);
function ff=fun2(x) %函數對x求導
ff=-8*x/((1+x^2)^2);
function f=tixing(a,b) %a,b是區間
a=0;b=1;
disp('******復合梯形公式******')
h=0.008; %h表示區間被等分成若干份后,每兩個數的間距
m=(a:h:b); %形成一維矩陣,每兩個數間的間隔是h
n=length(m); %求上矩陣的長度,即元素個數
for i=1:n-1
D(i)=fun4(m(i))+fun4(m(i+1));
end
R=h/2*sum(D); %積分結果
E=-(h^2)*(fun2(b)-fun2(a))/12; %余項,即精度
t=pi-R;
[R;E;t]
實驗結果討論和分析
通過對h的值的改變,發現h值越小,即等分的區間越小,結果越精確,精確度越高。通過手算得到積分結果為π,實驗結果為3.14158198692313,結果正確,可見復合梯形公式的精確度較高,運算次數為125.
2、用復合辛普森公式計算積分I=4/(1+x2)dx ,求它0到1的積分。精確度為10-5.(0.00001)
l5 計算公式
h=(b-a)/2n=(xi+1-xi)/2 ;(i=0,1,…n-1)
S=h/3[f(xi)+4f(xi+1/2)+f(xi+1)] (i=0,1,…n-1)
l6 算法分析
復合辛普森公式來求積分是將區間等分為2n份,在每兩個相鄰的數間再取中間值,利用for循環實現辛普森公式。該公式等分的份數更多,是的精度也更高。
l7 源程序
function f1=fun4(x)
f1=4/(1+x^2); %公式f(x)
function f=xinpusen(a,b) %a,b分別為區間的端點值
a=0;b=1;
disp('******復合辛普森形公式******')
h1=0.25; %h表示區間被等分成若干份后,每兩個相鄰數的間距
m=(a:h1:b);
h=h1/2;
n=length(m);
for i=1:n-1
Z(i)=(m(i)+m(i+1))/2;
D(i)=fun4(m(i))+fun4(m(i+1))+4*fun4(Z(i));
end
R=h/3*sum(D);
t=pi-R; %精度
[R;t]
l9 實驗結果討論和分析
從計算結果可以看到,復合辛普森你公式結果更接近精確解,精確度更高,而且運算次數只有40次,大大減少了運算次數,比復合梯形公式收斂性高。
三 本次實驗總結
在本次實驗過程中,我掌握了復合梯形公式與復合辛普森公式的基本算法與思想,通過編程來實現用復合梯形公式與復合辛普森公式求積分。而且通過上機實驗,可以看到復合辛普森公式得到的結果更加精確,運算次數比較少。同時對matlab的使用也更加熟練,對其中常用語句運用更自如。
