复化simpson公式matlab_复合辛普森公式(compound simpson formula)

复合Simpson公式的收敛阶为4 阶。

608137999cc11b23fd4664c73894dfe0.png

复合Simpson Matlab函数

function I = fsimpson(fun,a,b,n)h = (b-a)/n;x = linspace(a,b,2*n+1);%bailinspace(x1,x2,N)用于产生x1,x2之间的N点行线性的矢量;%其中x1、x2、N分别为起始值、终止值、元素个数。y = feval(fun,x);   %表示序列x输入fun函数后的输出I = (h/6) * ( y(1)+2*sum(y(3:2:2*n-1))+4*sum(y(2:2:2*n))+y(2*n+1) );%sum(y(3:2:2*n-1))中点之和%sum(y(3:2:2*n-1))中间点之和end

被积函数f(x) Matlab表示

f=@(x)(sin(1./x)); %@表示参数;%(x)表示一个参数;%(sin(1./x))表示被积分函数;

求解

f=@(x)(sin(1./x)); m=fsimpson(f,1,1.5,5);format longmm =   0.360810692814114