9.1.2 二次函數法


MATLAB 另外提供二種積分函數,它們分別是辛普森法 quad 和牛頓-康茲法 quad8。三種方法的精確度由低 而高,分別為 trapz, quad, quad8

由於這二種方法依據的積分法不同於梯形法,因此它們的語法就和 trapz 不同;其語法為 quad('function',a,b)quad8語法相同),其中function是一已定義函數的名稱(如sin, cos, sqrt, log 等),而 a, b是積分的下限和 上限。和 trapz比較,quad, quad8不同之處在於這二者類似解析式的積分式,只須設定上下限及定義要積分 的函數;而 trapz則是針對離散點型態的數據做積分。

我們看一簡單積分式

以下為 MATLAB 的程式

>> a=0; b=0.5;

>> kq=quad('sqrt',a,b)

kq =

0.2357

>> kq8=quad8('sqrt',a,b)

kq8 =

0.2357

再來看一個較複雜的積分式

>> x=-1:0.17:2;

>> y=humps(x);

>> area=trapz(x,y)

area =

25.9174

>> x=-1:0.07:2;

>> y=humps(x);

>> area=trapz(x,y)

area =

26.6243

>> area=quad('hump',-1,2)

area =

26.3450

>> area=quad8('hump',-1,2)

area =

26.3450



上一頁 下一頁 講義大綱