复合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
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐