二次函数法

MATLAB

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



上一页 下一页 讲义大纲