買書捐殘盟

2010年5月4日 星期二

梯形積分法

f(x)在封閉區間[a,b]求積分,若f(x)為複雜的函數, 對於求解積分,可用
數值分析的梯形積分法來求解。

梯形積分法,得到的結果,對照原函數定積分的值,可發現誤差值很小。所以被廣泛運用。

以下用matlab 語法,撰寫梯形積分的algorithm:
%Function F(x)=∫sin(x)dx,積分範圍0~π
a=0;
b=pi;
n=1000;
A=0;
for i=a:(b-a)/n:b
  if i==a
   f1=sin(i);
  else
   f2=sin(i);
   A=A+0.5*(f1+f2)*(b-a)/n;
   f1=f2;
  end
end

disp('梯形積分法面積=');
A
---------------------
經執行後,A=2.0000
與積分範圍[0,pi],∫sin(x)dx=2的結果一致。