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
上一页 下一页 讲义大纲