% by dynamic of Matlab技术论坛
% see also http://www.matlabsky.com
% contact me matlabsky@gmail.com
% 2009-11-20 23:47:12
%
至于Newton-Cotes数值积分的具体表达、推导、说明和附件,参见我发布在Matlab技术论坛的原帖http://www.matlabsky.com/viewthread.php?tid=3885。下面给我只是给出Newton-Cotes数值积分的Matlab实现代码
复化Newton-Cotes数值积分公式
function y=mulNewtonCotes(fun,a,b,m,n)
% 复化Newton-Cotes数值积分公式,即在每个子区间上使用Newton-Cotes公式,然后求和
% 参数说明
% fun,积分函数的句柄,必须能够接受矢量输入
% a,积分下限
% b,积分上限
% m,将区间[a,b]等分的子区间数量
% n,采用的Newton-Cotes公式的阶数,必须满足n<8,否则积分没法保证稳定性
% (1)n=1,即复化梯形公式
% (2)n=2,即复化辛普森公式
% (3)n=4,即复化科特斯公式
%
% Example
% fun=@(x)sin(x).*cos(x)
% mulNewtonCotes(fun,0,2,10,4)
%
% by dynamic of